MY MULTIHOMING APPLICATION
By Jay O’Brien
jayobrien@att.net
January 10, 2001
Click
here
for a discussion of SSL email to ATT Worldnet
Warning:
This is NOT a step-by-step set of instructions. It is assumed that the
reader has already configured a working LAN and has both working
broad-band
and dial-up connections available. This is really written to help me
should
I need to do this again or to troubleshoot my setup. You are on your
own
following this document; all the necessary reference material (and then
some) is listed below. I cannot provide technical assistance
beyond
this document itself. I hope it is useful, and I would very
much
appreciate advice about any errors contained herein.
Preface:
This setup allows a dial-up connection to ATT Worldnet and a DSL
connection
(to Speakeasy) to be active at the same time. Only the traffic that
must
reach ATT directly is routed via the dial-up connection. All other
traffic
is routed via the DSL modem to Speakeasy (via COVAD and PacBell).
I put this together to satisfy my desire to continue to use my ATT
Worldnet
email account and to be able to access ATT Worldnet newsgroups, both of
which are only available in my area via dial-up to ATT, while at the
same
time accessing all other internet addresses via my DSL connect to
Speakeasy.
I also wanted to be able to access Speakeasy news and mail without
switching
anything.
Physical wiring:
My SpeedStream 5260 ADSL Modem is connected to a Linksys BEFSR41 router
which provides NAT and a firewall. The BEFSR41 is then connected to a
Linksys
EZXS88W 8-port 10/100 switch. The computers on the LAN are connected to
ports on the BEFSR41 or the EZSXS88W. If there were four computers or
less,
there would be no reason for the EZXS88W; all computers could plug
directly
into the BEFSR41. There is nothing unusual about this arrangement,
which
is well covered in the references below.
Computer 2 has an external USR V.everything V.90 modem connected to
its COM1 port and provides the dial-up gateway. An internal modem will
also work.
Initial Setup before multihoming:
All file sharing between computers on the LAN is done with NetBEUI
protocol;
NetBEUI for each NIC card is bound to Client for Microsoft Networks,
File
and Printer Sharing for Microsoft Networks, and to Microsoft Family
Logon
if required (Family Logon seems to not be required with Win Me).
Computer 2 on a stand-alone basis can make dial-up connections to
ATT;
standard DUN setup is used. When connected to ATT, it is possible to
use
the MSDOS Ping command to successfully ping locations on the internet.
In the DUN selection to be used by NAT32, go to the Server Types
(Win
98) or Networking (Win Me) tab, select TCP/IP settings and un-check the
"Use default gateway on remote network" selection. This will then not
override
your LAN gateway and send all internet IPs to the dial-up.
TCP/IP protocol is installed on each computer for the NIC’s in each
computer. The TCP/IP protocol is unbound from Client for Microsoft
Networks,
File and Printer Sharing for Microsoft Networks, and Microsoft Family
Logon
(if present).
IP addresses are specified for each computer on the LAN, from
192.168.1.2
to 192.168.1.11 (maximum for a combination of a 4 port switch and a 8
port
switch). Subnet mask is 255.255.255.0. WINS is disabled. Gateways are
set
to 192.168.1.1 (the BEFSR41 address). DNS is enabled with a unique
“Host”
name for each computer, and the DNS addresses provided by the DSL ISP
are
entered. Domain is left blank. The BEFSR41 is set up with the assigned
IP, default gateway IP address and DNS IP addresses provided by the DSL
ISP. DHCP is disabled.
Each computer on the LAN can access the Internet via the BEFSR41 and
DSL, and can successfully ping locations on the internet. In addition,
they can ping each other.
Install NAT32 (http://www.nat32.com):
Nat32 is a Network Address translator which will call ATT and then make
ATT connections available to the computers on the local area network
(LAN).
NAT32 is available for free download, but the trial version will only
run
for an hour each time it is started. Once you get everything working
then
purchase it for $25, on-line; it's well worth it. Follow the NAT32
readme
file and nat32doc.html to install, as follows:
Unzip the nat32v6.zip archive (or later version) to directory
C:\nat32.
Install NDIS3PKT as follows: Control Panel|Network|Add|Protocol|Have
disk (C:\nat32\ndis3pkt.inf). ok. Restart.
Run C:\nat32\setup.exe.
When SETUP.EXE has completed, click START then Programs then NAT32
and
then click Configure NAT32. An Options Dialog Box will be
displayed.
Check client, one, and select the default DUN script to be used by
NAT32
for calls to the ISP. Check “create a desktop shortcut”.
Note that NAT32 has two Logical Interfaces, #2 and #3, which are
identical.
View from Console|Config:
NAT32 IP addr: 192.168.1.100
Mask: 255.255.255.0
Gateway: 0.0.0.0
Name Server: auto
Address Filter: 192.168.1.xx (this is the LAN address of the NAT32
server)
Primary Interface and Use DHCP are unchecked
NDIS3PKT bindings now show on Dial-up Adapter and NIC Adapter in
Network
Neighborhood Properties.
Later, put a copy of the desktop shortcut into the startup menu if
it
is desired that NAT32 be loaded when the NAT32 server computer is
started.
Test NAT32 from Client Computer:
With the DSL modem unplugged from the BEFSR41, in a client computer
type
the following at a MSDOS prompt: ROUTE /F. Then type ROUTE
ADD 0.0.0.0 MASK 0.0.0.0 192.168.1.100. This changes the default
route
from the BEFSR41 to the NAT32. Verify Internet access via the NAT32 and
the dial-up connection; enter the dial-up user ID and password (a
window
will open on the NAT32 server) the first time NAT32 calls out. Verify
that
ATT mail and news are available, both incoming and outgoing. Reboot
client
computer, plug in DSL modem and verify that the client is now back on
the
DSL.
Install Batch files on client computers:
This batch file, called ATT.BAT, will redirect 6 IP addresses from the
DSL default to the NAT32. These are the addresses that must be accessed
via dial-up directly to ATT. The batch file may be executed from a
MSDOS
window, included in the start-up group or executed via a short cut on
the
desktop. Run the batch file and verify that Internet access is via DSL,
yet ATT mail is still available, via NAT32 and the dial-up modem. The
only
command here that is unusual is the add 12.0.0.0 line; I'll explain
that
later.
:ATT.BAT
:ATT WORLDNET ROUTING VIA NAT32
:
:first clear default and then set default to Linksys BEFSR41
route.exe -f
route.exe add 0.0.0.0 mask 0.0.0.0 192.168.1.1
:
:assure 12 series IPs (att) go to Linksys BEFSR41
route.exe add 12.0.0.0 MASK 255.0.0.0 192.168.1.1
:
:PWP publish & ftp servers
route.exe add 204.159.38.0 MASK 255.255.255.0 192.168.1.100
:
:MSWS and WN homepage
route.exe add 204.127.43.0 MASK 255.255.255.0 192.168.1.100
route.exe add 204.127.12.0 MASK 255.255.255.0 192.168.1.100
:
:netnews server
route.exe add 204.127.36.0 MASK 255.255.255.0 192.168.1.100
:
:postoffice server
route.exe add 204.127.5.0 MASK 255.255.255.0 192.168.1.100
:
:mailhost server
route.exe add 204.127.8.0 MASK 255.255.255.0 192.168.1.100
:end
Install Batch file on computer with NAT32:
There is a problem on the NAT32 server computer. As ATT WN issues an IP
to the NAT32 server computer that starts with “12.”, default routes are
set up in the server computer which will route the IPs beginning with
“12.”
(nearly 17 million IPs!) to the dial-up connection. As this is
not
desired, a workaround will be established.
It turns out that Win 98SE, Win Me and Win 2K all act differently
when
a dial-up connection is established to ATT. Win 98SE establishes a
route
for all the “12.” addresses that can't be deleted. Win Me establishes
the
same route, but it can be deleted. And best of all, Win 2K doesn't make
the route in the first place.
If the NAT32 server computer is running Win 98SE, a preemptive route
command can be executed BEFORE the DUN dial-up is established. When the
connect completes, another route for the "12" routes is entered into
the
route table, but the preemptive one continues to work. The preemptive
route
command is the one above with the preceding note note "assure 12
series
IPs (att) go to Linksys BEFSR41".
If the NAT32 server computer is running Win Me, the ATT.BAT file
above
will work fine. The command with the –f argument will flush the
unwanted
route, except that if the dial-up connect goes away and is restarted,
the
unwanted “12.” Route will come back. But, with the preemptive route
entered
first, nothing happens.
There is a small Problem, however!
This applies ONLY to the computer that has the modem connection. If the
Batch file is run again AFTER the DUN connect is established, that
causes
the unwanted 12.0.0.0 routing to take over. There's two fixes, should
the
batch file need to be run in this manner. The first, and simplest fix,
is to kill the modem connect and reconnect. The other fix substitutes
24
routing commands for the preemptive command. There are 24 bits in the
IP
address after the "12" part of the "12" IPs; there is a routing command
which responds to each of those bits. This probably will never need to
be used, but just in case, it is included as Appendix A.
Credit where Credit is due:
Thanks to Chris Chlap from NAT32 for the guidance in creating the
routing
batch files. Chris proposed the "first" fix, the 24 commands in the
"special"
batch file in Appendix A. Later, Chris found that ONE command works, if
you are aware of WHEN to send that command. His knowledge of the actual
IP addresses and how they are represented, bit by bit, in the route
commands,
made a seemingly impossible task doable, and later he made the "fix"
much
simpler. When you buy NAT32 you also get superlative email tech support
from Chris. Now, if some of the other vendors would follow his example!
Conclusion:
This solution works great for me. I hope this description helps someone
else with similar needs, in the same manner that the many posts to URLs
and newsgroups have helped me. Good luck!
References:
This is by no means a complete set of reference material. However, I
found
this all to be useful in learning about networking and setting up my
personal
network.
Att Worldnet Home-Networking newsgroup: netnews.att.net:worldnet.help.home-networking
(available dial-up only to ATT WN)
Microsoft networking newsgroup: microsoft.public.win98.networking
Steve Gibson: http://grc.com
PRACTICALLY NETWORKED: http://www.practicallynetworked.com
NAT32: http://www.nat32.com
Robert Graham: http://www.robertgraham.com
SOHO: http://www.sohointer.net
911 Networks: http://www.911networks.com
World of Windows Networking: http://www.wown.com
MS TCP/IP and Windows 95 Networking (58 pages): http://www.microsoft.com/TechNet/win95/technote/mstcpip.asp
MS TCP/IP Implementation Details Chapter 6 (41 pages): http://www.microsoft.com/TechNet/winnt/reskit/sur_tcp2.asp
MS Introduction to Networking Configuration Chapter 14 (12 pages): http://www.microsoft.com/TechNet/win98/Reskit/Part3/wrkc14.asp
MS Network Adapters and Protocols Chapter 15 (74 pages): http://www.microsoft.com/TechNet/win98/Reskit/Part3/wrkc15.asp
MS Route Utility syntax: http://msdn.microsoft.com/library/wcedoc/wcecomm/tcpip_57.htm
MS Routing primer: http://msdn.microsoft.com/library/wcedoc/wcecomm/tcpip_12.htm
RFC 1597: LAN addresses: http://www.safety.net/sum1597.html
WRQ: Using Simultaneous LAN and Dial-up Interfaces with Microsoft
TCP/IP:
http://support.wrq.com/techdocs/1281.html
O’Rellly: Windows NT TCP/IP Network Administration Chapter 11 (30
pages):
http://www.oreilly.com/catalog/wintcp/chapter/ch11.html
Appendix A: Special Batch file
See "There is a small Problem, however!", above
:ATT.BAT
:ATT WORLDNET ROUTING VIA NAT32
:
:first clear default and then set default to Linksys BEFSR41
route.exe -f
route.exe add 0.0.0.0 mask 0.0.0.0 192.168.1.1
:
:now correct for the 12.0.0.0 route added with DUN to ATT
route.exe add 12.1.0.0 mask 255.255.0.0 192.168.1.1
route.exe add 12.2.0.0 mask 255.254.0.0 192.168.1.1
route.exe add 12.4.0.0 mask 255.252.0.0 192.168.1.1
route.exe add 12.8.0.0 mask 255.248.0.0 192.168.1.1
route.exe add 12.16.0.0 mask 255.240.0.0 192.168.1.1
route.exe add 12.32.0.0 mask 255.224.0.0 192.168.1.1
route.exe add 12.64.0.0 mask 255.192.0.0 192.168.1.1
route.exe add 12.128.0.0 mask 255.128.0.0 192.168.1.1
route.exe add 12.0.1.0 mask 255.0.255.0 192.168.1.1
route.exe add 12.0.2.0 mask 255.0.254.0 192.168.1.1
route.exe add 12.0.4.0 mask 255.0.252.0 192.168.1.1
route.exe add 12.0.8.0 mask 255.0.248.0 192.168.1.1
route.exe add 12.0.16.0 mask 255.0.240.0 192.168.1.1
route.exe add 12.0.32.0 mask 255.0.224.0 192.168.1.1
route.exe add 12.0.64.0 mask 255.0.192.0 192.168.1.1
route.exe add 12.0.128.0 mask 255.0.128.0 192.168.1.1
route.exe add 12.0.0.1 mask 255.0.0.255 192.168.1.1
route.exe add 12.0.0.2 mask 255.0.0.254 192.168.1.1
route.exe add 12.0.0.4 mask 255.0.0.252 192.168.1.1
route.exe add 12.0.0.8 mask 255.0.0.248 192.168.1.1
route.exe add 12.0.0.16 mask 255.0.0.240 192.168.1.1
route.exe add 12.0.0.32 mask 255.0.0.224 192.168.1.1
route.exe add 12.0.0.64 mask 255.0.0.192 192.168.1.1
route.exe add 12.0.0.128 mask 255.0.0.128 192.168.1.1
:
:PWP publish & ftp servers
route.exe add 204.159.38.0 MASK 255.255.255.0 192.168.1.100
:
:MSWS and WN homepage
route.exe add 204.127.43.0 MASK 255.255.255.0 192.168.1.100
route.exe add 204.127.12.0 MASK 255.255.255.0 192.168.1.100
:
:netnews server
route.exe add 204.127.36.0 MASK 255.255.255.0 192.168.1.100
:
:postoffice server
route.exe add 204.127.5.0 MASK 255.255.255.0 192.168.1.100
:
:mailhost server
route.exe add 204.127.8.0 MASK 255.255.255.0 192.168.1.100
:end