All the Graphics
Internet Sharing Solutions (Part 2)|
By Thiravudh Khoman
In Part 1, we looked at a hardware-based internet sharing device called a "WebRamp" from Ramp Networks. In this, Part 2, we're going to look at a software-only solution, one which is very simple and very free. But first some background.
I Want My Computer Back
During the 1999 year-end holidays, my 11-year old daughter Waew had a school friend sleep over. Their favourite activity was to cruise the chatrooms at Sanook.com (https://www.sanook.com). They were so engrossed that they were chatting even after I went to sleep. For two days, I could barely use my computer, the only one at home with a modem and a telephone line attached.
Actually, I was being unceremoniously bumped from my computer even before this, as Waew had an ongoing school project where she had to browse the daily Thai newspapers (Thai Rath, Daily News, Manager, ad nauseum) and cut out interesting international news. Prior to this, I had bought her real newspapers, but after seeing her cut out only a tiny article from each 8 Baht newspaper and not wanting to enrichen the local trashmongers (sic), I figured it would be more cost effective if she obtained her news from the web and save her old man a few Baht.
The bottom line was that I had to implement an internet sharing scheme at home real soon if I wanted to get my computer back. Even though the WebRamp works great at work, no way was I going to pay that kind of money for home use. Quite the opposite, I set a target for myself of 0 Baht; i.e. I wanted to do this with freeware.
If you were to browse the proxy server tools at Winfiles.com (https://www.winfiles.com), you'll find a whole slew of programs that cost from a few dozen US$ to a few hundred US$, depending on the number of users. Buried in this long list are also a few freeware offerings. I finally settled on a program called AnalogX proxy from a company called AnalogX (https://www.analogx.com). This website, incidentally, belongs to a very interesting guy who has programmed numerous utilities which he makes available for free.
At home, we have a total of four computers, literally one for each family member. Up until recently, there were only two: one for myself and one for my wife, both us being heavy computer users. However, in the past two years I became interested in building my own computers and thus two more were born (for the cost of what I would normally pay for one). This allowed the kids to have their own computers, partly for game playing, partly for doing their homework, and partly for learning about the internet. These computers also become my test laboratory at night when everyone else has gone to sleep.
Both my home computers and my home "users" are well-suited to internet sharing since all of the computers are networked and since everyone is already used to sharing a single printer connected to my computer.
Frankly, my choice of AnalogX Proxy didn't come about from an exhaustive search and testing process. Several months before this, I had tried a few software-based proxy servers which costed a few $ (e.g. WinGate and WinProxy), and given my experience with the WebRamp, I had a pretty good idea of what I wanted. AnalogX was actually the first freeware proxy server I tried, and as I found it to my liking, I immediately stopped looking. Therefore, better/more suitable programs may be out there waiting to be discovered. For me though, I've already "parked the car".
AnalogX, like all programs of this genre, shares a modem in a "host" PC with other computers on a TCP/IP network. Before you can use this, all computers must be networked and TCP/IP must be bound to the LAN adapter (not just to Dial-up Networking). Other protocols such as IPX/SPX or NetBEUI may also be present, but AnalogX, like other internet applications, doesn't use them. Unlike at work, where the WebRamp also serves as a DHCP server to distribute IP address, I have no DHCP server at home, so each computer must be hard coded with its own non-routable IP address (192.168.0.x). Given the small number of computers, this isn't a problem to manage.
AnalogX is a very small program (the current version 3.05 is a 250kb download), and runs as a system tray applet under Windows 9x/NT. The software only needs to be installed on the computer with the modem. After installation, you'll see what looks like a dark green head of cabbage in the system tray. Right click this icon and choose "Configure", which will turn the icon red, meaning that it has been disabled while you're in configuration mode.
AnalogX only supports the following internet protocols: http (web browsing), POP3/SMTP (retrieve/send email), nntp (news), and ftp (file transfer). Currently, it doesn't work with either IRC or ICQ. Each of the supported protocols may be enabled or disabled by clicking on the "Services" buttons (figure 1). In my case, I turned off nntp and ftp and clicked the "Done" button, thus finishing the basic configuration (we'll do some real configuring when we come to email).
Because AnalogX works in concert with Dial-up Networking (DUN), it is also essential that DUN be installed and configured properly. This involves installing and configuring the modem, installing DUN, binding it with TCP/IP, setting up dial-up connections, etc. Odds are, though, that AnalogX will be installed on a computer which already has a modem and DUN up and (as in my case).
One final piece of information needed is the IP address of the computer with the modem installed. This must be a fixed IP address, even if you have a DHCP server available. Go to the "Control Panel", "Network", highlight "TCP/IP->(your lan adapter)", and click "Properties". Hopefully, a fixed IP address has already been specified here. If not, you'll need to assign one. Mine is 192.168.1.6.
Web Browser Configuration
No changes need to be made to the web browser running on the computer with the modem. however, the web browsers of the other computers do require a few tweaks. In a nutshell, we have to set the HTTP proxy to the IP address of the computer running AnalogX and to set a port address of 6588.
If you are using Netscape Communicator/Navigator, go to "Edit", "Preferences", click open the "Advanced" category, then go to "Proxies", "Manual Proxy Configuration", "View", and in the field marked "http", key in the IP address of the computer running AnalogX (192.168.1.6 in my case). In the field marked "Port" enter: 6588 (figure 2).
If you are using Internet Explorer 4.0, go to the "Control Panel", "Internet", choose the "Connection" tab, check "Access the internet using a proxy server", and key in the IP address of the computer running AnalogX into the "Address" field, and 6588 into the "Port" field.
If you are using Internet Explorer 5.0, go to the "Control Panel", "Internet Options", choose the "Connection" tab, click "LAN Settings", check "Use a proxy server", and key in the IP address of the computer running AnalogX into the "Address" field, and 6588 into the "Port" field (figure 3).
If you're using Opera - hey, you've already proven your smarts and I'm not going to insult your intelligence by explaining how to do it!
That's it! Dial into your ISP from the host computer and all the other configured PC's on the network should be able to browse the internet as well. Optionally, you may wish to set your modem to auto-dial when an internet request is made from any networked computer.
Although I haven't tested it yet, I'm confident that the client PC's don't need to run Windows. After all, we're only using internet protocols and TCP/IP networking here (translation: Macs and Linux machines should be able to function as clients).
After (and only after) you've gotten the shared web browsing to work, should you start the email configuration of AnalogX. This is a bit more involved. First, right click on the "green cabbage" in the system tray and choose "Configure". Next, click the "Configure Email Aliases" button. Here, you will need to enter information into three fields - an email address, a POP3 server, and an SMTP server - for all users who will use email through the AnalogX proxy server.
Click the "Add" button (figure 4). Assuming that Waew has her email account at Samart and her sister Wow has hers at Internet Thailand (the accounts are fictional, the people aren't), the information to be entered into the three fields are as follows:
POP3 server : samart.co.th
SMTP server : smtp.samart.co.th
Email address : [email protected]
POP3 server : mozart.inet.co.th
SMTP server : smtp.samart.co.th
While Waew's information looks reasonable, Wow's is a bit odd. In actual fact, Internet Thailand's POP3 and SMTP servers are the same (mozart.inet.co.th). So why am I using Samart's SMTP server instead? The reason is rooted in the fact that most if not all ISP's strictly control how you use their SMTP servers in order to prevent spamming.
Assuming I'm dialing into a Samart account, Internet Thailand will not allow the use of their SMTP server to send mail. If I were to dial into Internet Thailand, Samart would likewise not allow the use of their SMTP to send mail and Waew's SMTP server would have to be changed to mozart.inet.co.th. In this case, Wow's SMTP server could be left blank, which means to use the same server as for POP3. (Sigh, life was simpler back in the old days.)
What this implies is that if you plan to dial into a variety of ISP's, you will need to keep changing the SMTP servers of your email accounts. Clearly, you should stick with a single ISP or disable POP3/SMTP email entirely and tell everyone to use webmail instead.
That's all the configuring that needs to be done on the AnalogX PC. Assuming that Eudora is being used on the client PC's, two changes need to be made (figure 5):
That's it! Repeat this for all the other client PC's. Remember that the POP3 and SMTP servers will be the same everywhere (i.e. the IP address of the AnalogX server or 192.168.1.6 in my test case); only the POP3 account names and the return addresses will be different.
Again, I believe non-Windows PC's can operate as email clients.
So far I've only used AnalogX with a maximum of 3 concurrent users. How many users it can realistically support still remains a mystery, but I've asked some friends to test it out in a 10 user, 28.8-33.6kb modem speed environment. Therefore, I'll soon know how well it works in this less than ideal situation. As I've harped on before, local caching is very important as it can significantly reduce traffic flying through the modem.
Unlike the WebRamp, AnalogX may not scale very well. While up to three modems can be attached to the WebRamp, the only way AnalogX can handle more than one modem is if the host PC were running Multilink PPP with two modems, which is highly unlikely in low-cost installations. Also, unlike the WebRamp which performs traffic management in hardware, the host computer must do this job and split its CPU time with other chores.
So far though, I have nothing to complain about AnalogX. Quite the contrary, I think it's great.