Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jul 1996 01:37:42 -0700 (PDT)
From:      Jim Dennis <jim@starshine.org>
To:        ajohn@mail.bcpl.lib.md.us (Anil John)
Cc:        questions@freebsd.org
Subject:   Re: Dial up (dynamic IP) Web Server - Possible?
Message-ID:  <199607080837.BAA01799@starshine>
In-Reply-To: <01BB6B86.ED39D2C0@ppp143.bcpl.lib.md.us> from "Anil John" at Jul 6, 96 10:03:11 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Greetings,
> 
> I would like to know if the following is possible.
> 
> My setup:
> 
> *	I have a dial up PPP connection to a provider who assigns a dynamic IP 
> address 	each time I connect.
> *	I have a valid domain name registered with Internic (say, bar.org), but 
> it is 	not mapped to any static IP address.
> *	My machine is foo.bar.org
> 
> What I would like to do:
> 
> Dial up and get connected to my provider.  When someone looks up 
> http://www.bar.org, they connect to my machine which is running the apache 
> web server and has the designation of www.bar.org (for the duration of my 
> connection to my provider).

	Yuck!

	What do you really want them to be able to access?  What
	service are you really trying to provide?

> 
> I guess what I am asking is is there a way to map a domain to a dynamic IP 
> address?

	Sort of.  You can accomplish something like that using IP 
	tunneling (that is: you bring up the dynamic interface -- then 
	establish a tunneled session to a static address).

	However this is not appropriate to your situation.

> Anil

	I think you are suffering from a fundamental misunderstanding
	of how internet services in general (and the web in particular)
	are supposed to work. 

	If you want to provide a service to the 'net (such as a set 
	of web pages) you have to arrange for that service to be 
	available 24 hrs a day, 7 days a week (i.e. "most of the time" --
	or best effort thereto).  You will be doing yourself and your
	intended audience a dis-service if you try to jury rig something
	like this together.

	One way to provide a set of web pages through "normal" means
	without having a dedicated line to your ISP is to arrange to 
	have your pages virtual hosted (as I currently do at rahul.net
	in San Jose, CA).  Starshine's current connection to the net
	is via uucp (for mail, and news), ppp (for web *client* and
	other services), shell (for adinistrative work) and virtual
	hosting (for my ftp and web server).  I've only recently 
	brought up the www/ftp vhost (since I only recently found the 
	time or inclination).

	There are several reasons I chose Rahul (a2i Communications).
	He offers an "a la carte" list of services -- you start with a
	basic shell account (no hourly limits) and add the services
	you want (create a web document tree or directory under ftp/pub
	for a one-time charge; add uucp for another charge + monthly
	(high and low volume options), add ppp for another monthly,
	create a DNS domain (one time charge and you pay InterNIC 
	fees yourself), etc).  I also noted that Rahul has rather liberal
	policies regarding CGI scripts and server side includes (.SHTML).

	Here's how I'll be managing these:

		I run a web server at home.  I compose all my docs on it,
		run weblint, look them over with a couple of browsers
		(lynx, then Netscape, then Internet Explorer, then maybe
		TkWWW or Emacs W3-mode or Arena, whatever).  I also write 
		and test any CGI's here.

		When I'm satisfied with a given set of pages I run
		'make public' -- which tars up all the new or modified
		pages, compresses that, launches a shell session to 
		my provider, uploads the files, decompresses and untars
		them into place (as a backgrounded task if possible).

	Another way you can accomplish what you want is called
	co-location.  You get a machine, configure it with all 
	of the services you want to provide (including both the 
	public services and whatever you'll need for remote 
	administration) -- and you make arrangements to have that
	machine put on an ISP's rack.  The ISP provides power and 
	an ethernet or high speed PPP connection (this allows them
	to "throttle down" your bandwidth utilization so you machine
	doesn't "choke out" the other machines on their net).  The 
	ISP might also provide a phone line (so you can dial into
	your machine for remote access and so your machine can 
	dial out -- with alerts, for example.  You provide the 
	equipment.

	The advantages of co-locating over virtual hosting are:

		You can run whatever services you want -- allowing 
		incoming telnet to WAIS, or custom database clients,
		CGI's that your provider might consider too dangerous
		or performance hungry to allow on his hosts.

		You can use as much disk space as you can fit into the 
		machine (typically you are given a disk quota on 
		your virtual host -- with monthly charges for any usage
		beyond that).  

		You can use as much CPU as you like -- and you can
		run whichever OS you like. 

	The disadvantages to co-locating:

		You have to provide the machine -- this means at a 
		minimum a 386 with at least 16Mb and at least a 
		couple hundred meg. of disk space (which would still
		be pretty wimpy -- for most net servers)

		You generally don't have 24 hour console access to the 
		machine (or there may be charges for accessing it
		during certain hours).

		It's generally *expensive*.  Not "quite" as expensive as
		maintaining your own dedicated line -- but close enough
		that you might not find it attractive.

		You generally have no control over the packet filters
		on the router(s) -- or you have to provide a router  in
		addition to the box.  A good router costs about as much
		as a PC.  Having not control over your packet filters
		leaves you at the mercy of their security policies
		(i.e. you might have to rely overly much on the host's
		own configuration & security).  Worse, some of the 
		protocols that you might want to access on your machine
		might be blocked off (it's very important to check with
		your ISP before committing on this point).

	I've been offered a couple of low-cost co-located alternatives
	through personal friends and aquaintances (one of them is just
	a 28.8 line, but free, she just runs one little system on it
	and hardly uses any bandwidth -- besides she's been toying with 
	the idea of getting a PC to play with since more and more of 
	here clients are asking her about porting things to NT).  I've 
	bought all the parts for a new machine at home (150 Mhz Pentium,
	64Mb RAM, 7 Gig of disk space on two drives) -- so that'll free
	up the old 486 (DX2/66 -- 32Mb ~1 G) which I might put on her
	LAN.  

	I have another friend who has a T-1 into his place --
	but he's all the way up in Berkeley, and another in Mountain
	View who's starting up his own frame-relay site in the garage.
	Either of them would want some help on defraying their costs 
	(naturally).

	My point is that there are ways to do this that don't 
	egregiously break the protocols and conventions of the net.

	Which brings us back to the first question.

		What exactly is your goal?

	Do you want to just play with a server that you can access
	"from the outside"?  You can do that by bringing up your connection
	and pointing your browser at the dynamic IP address.  Do you want 
	to play with apache add-in modules?  You can do that on the 
	localhost anyway.

	It is phenomenally difficult for me to imagine anything that you
	could be trying to do that would worthwhile *and* that could be
	effectively offered via dynamically issued IP addresses.

	It would be trivial for your provider to issue you a static address.
	It might be somewhat more difficult for them to change their
	modem banks/terminal servers/hosts to deal with that.  It might
	be easier for them to have you log in, get a dynamic address,
	and then establish a tunneled connection to provide the static
	address (bring back to my first comment).

	One last option:

		Assuming that your ISP is running the bleeding-edge
		latest version of BIND, and is willing to configure
		a special set of DNS tables for your domain you could
		and if your ISP was willing to do some very odd 
		fiddling about with a custom connection script... then
		they could set up a situation where the DNS lookup would
		work O.K. (for very small values of "O.K.").

	(Basically the connection script would write a new DNS/zone
	file for your domain, and send a SIGHUP to the named on the
	primary nameserver.  The zone file for your domain would
	specify a very short refresh time so your address wouldn't
	stay in any *compliant* client's address cache for very long.
	The latest version of named has an option to ping an IP 
	address before resolving a name to address.  Offhand I don't 
	know how one would handle the teardown of the
	dynamic zone file -- since the dynamic address that you got
	would be granted to another caller after you've disconnected
	and having traffic directed to your service get routed to
	some other customer is totally unacceptable).

	Basically I wouldn't even consider offering this if I was
	an ISP.  I wouldn't even consider asking an ISP to consider
	trying this.  It's just too damn ugly.  This is so bad 
	I'm tempted to delete it before sending off this message...
	(naw -- but almost).

	So, what are you planning on publishing on your pages?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607080837.BAA01799>