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>