home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / unmaintained / mini / SLIP+proxyARP < prev    next >
Text File  |  1998-01-14  |  7KB  |  192 lines

  1. [ 15 January 1998
  2.   The Linux SLIP+proxyARP mini-HOWTO is not being maintained by 
  3.   the author any more.  If you are interested in maintaining the 
  4.   SLIP+proxyARP mini-HOWTO, please get in touch with me at 
  5.   <gregh@sunsite.unc.edu>. ]
  6.  
  7.  
  8.              Using SLIP And Proxy ARP To Connect
  9.       A Local Ethernet LAN To An Internet Connected LAN
  10.  
  11.                Dave Kennedy <davek@Muscle.Net>
  12.                      November 20, 1996
  13.  
  14. ---------------------------------------------------------------
  15. $Id: slip-arp,v 1.3 1996/11/20 16:06:51 davek Exp $
  16. ---------------------------------------------------------------
  17.  
  18. ---------------------------------------------------------------
  19.  
  20. 0. Introduction
  21. 1. Other Options Available
  22. 2. The Final Result
  23. 3. Setting It Up
  24. 4. Kernel And Software
  25. 5. Outstanding Issues And Questions
  26. 6. Acknowledgments
  27. 7. Further Reading
  28.  
  29. ---------------------------------------------------------------
  30.  
  31. 0. Introduction
  32.  
  33. In late 1994 and much of 1995, I had a small Ethernet LAN at home that 
  34. I connected to the Internet.  At the time, I did not have my own 
  35. network address and I wanted to piggyback on my employer's network 
  36. address.  I succeeded using SLIP and proxy ARP.  This document quickly 
  37. describes how I did it at the time.  It also provides information on 
  38. other options available now that were not there in 1993/1994.  More 
  39. than likely, these other options will be your best bet.  But, I'm 
  40. continuing to maintain this document for those who need this type of 
  41. solution.  
  42.  
  43. ---------------------------------------------------------------
  44.  
  45. 1. Other Options Available
  46.  
  47. When I originally wrote this mini-HOWTO, the options to connect via a 
  48. dial-up LAN were more limited than today.  If you want to connect a 
  49. local LAN to the Internet via a dial-up connection, you should look 
  50. at:  
  51.  
  52.     IP Masquerade
  53.         http://www.hwy401.com/achau/ipmasq/
  54.         http://www.indyramp.com/masq/
  55.  
  56.     Use of proxy services
  57.         http://harvest.transarc.com/afs/transarc.com/public/trg/Harvest/
  58.         http://harvest.cs.colorado.edu/
  59.  
  60. All links are current as of the date of this document.  I no longer
  61. use this technique; if I had the same requirements today, I would
  62. use IP Masquerade.
  63.  
  64. ---------------------------------------------------------------
  65.  
  66. 2. The Final Result
  67.  
  68. First, I'll present the final result and then describe how to get there.
  69.  
  70. The final network is all on a Class C network (a.b.c.0):
  71.  
  72.            Internet
  73.               |               
  74.       o-------+---------+----------------o     <- Remote Ethernet
  75.                         | .126
  76.                     NetBlazer
  77.                         | .215                 <- SLIP (via 14.4 modem)
  78.                        gw
  79.                         | .253
  80.       o-----------------+--------+-------o     <- Local Ethernet
  81.                                  | .254 
  82.                                 mus
  83.  
  84. ---------------------------------------------------------------
  85.  
  86. 3. Setting It Up
  87.  
  88. The keys to getting this working are routing and proxy ARP.
  89.  
  90. Here is gw's routing table:
  91.  
  92. Kernel routing table
  93. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  94.     a.b.c.254   *               255.255.255.255 UH    0      0     5628 eth0
  95.     a.b.c.253   *               255.255.255.255 UH    0      0        0 eth0
  96.     a.b.c.126   *               255.255.255.255 UH    0      0       22 sl0
  97. 127.0.0.0       *               255.0.0.0       U     0      0       32 lo
  98. default             a.b.c.126   *               UG    0      0        9 sl0
  99.  
  100. This table was created with the following commands:
  101.  
  102.     1. The SLIP connection was established which created the default
  103.        gateway entry and the a.b.c.126 entry.
  104.  
  105.     2. ifconfig eth0 a.b.c.253
  106.  
  107.     3. route add a.b.c.253 eth0
  108.  
  109.     4. route add a.b.c.254 eth0
  110.  
  111. Gw is now set up to talk to both eth0 and sl0.  (This might be a good
  112. time to note that my kernel has IP forwarding configured.)  The reason for
  113. the explicit route of a.b.c.253 may not be needed, but ping .253 from .253
  114. without the route causes the ping to take the default route out the SLIP
  115. link.
  116.  
  117.  
  118. Here is mus's routing table:
  119.  
  120. Kernel routing table
  121. Destination     Gateway         Genmask         Flags MSS    Window Use Iface
  122.     a.b.c.253   *               255.255.255.255 UH    1436   0       59 eth0
  123. 127.0.0.0       *               255.0.0.0       U     1936   0       52 lo
  124. default             a.b.c.253   *               UG    1436   0    21661 eth0
  125.  
  126. This table was created with the following commands:
  127.  
  128.     1. ifconfig eth0 a.b.c.254
  129.  
  130.     2. route add a.b.c.253 eth0
  131.  
  132.     3. route add default gw 192.68.22.253
  133.  
  134. Now, at this point I attempted to ping the NetBlazer.  I could see the
  135. packets being sent out the modem (SD was flashing), but there was no
  136. response.  This was good since it indicated that gw was getting packets
  137. in on eth0 (Ethernet) and sending them out sl0 (SLIP).
  138.  
  139. The next step is to get the other side of the SLIP connection (NetBlazer)
  140. to recognize and know how to talk to me.  This was done by using its
  141. proxy arp command.
  142.  
  143.     Usage: proxy <hostid> ether|token|<interface> <mac-addr>
  144.  
  145.     proxy a.b.c.253 ether 00:c0:6d:11:66:d3
  146.     proxy a.b.c.254 ether 00:c0:6d:11:66:e4
  147.  
  148. At this point I was able to ping the Internet from mus.  And all was well
  149. with the world.  :)
  150.  
  151. NOTE: The 'proxy' command is available only on the NetBlazer.  The
  152. equivalent command under linux is 'arp -s <IP> <HW ADDR> pub'.
  153.  
  154. ---------------------------------------------------------------
  155.  
  156. 4. Kernel And Software
  157.  
  158. The kernel used on gw was 1.1.88 with IP Forwarding configured.  This
  159. is required.  The kernel on mus was also 1.1.88, but IP Forwarding
  160. was not configured.  This does not matter.
  161.  
  162. It's also worth noting that PPP could have been used instead of
  163. SLIP just as easily.  [See, I told you this was a long time ago!]
  164.  
  165. ---------------------------------------------------------------
  166.  
  167. 5. Outstanding Issues And Questions
  168.  
  169. The main question I have came up while writing this.  When I checked 
  170. the ARP table on the NetBlazer, my ARP entries were no longer there, but
  171. everything was still working.  I readded the entry for mus and it made
  172. no difference.  If anyone has ideas on this, let me know.
  173.  
  174. ---------------------------------------------------------------
  175.  
  176. 6. Acknowledgments
  177.  
  178. My thanks to John Garnett <garnett@actlab.rtf.utexas.edu> for his
  179. post Dec 21, 1994 "A Guide on Using SLIP with ProxyARP..."  I'm not
  180. so sure that my document is anything more than a rehash of what he
  181. wrote other than I'm using a NetBlazer on the Internet side and he
  182. had a modem attached to a computer.  Anyway, thanks, John!
  183.  
  184. ---------------------------------------------------------------
  185.  
  186. 7. Further Reading
  187.  
  188. Dawson, Terry; "NET-2-HOWTO."
  189. Garnett, John; "A (client) SLIP Guide for Linux."
  190. Lots of other HOWTO's.
  191.  
  192.