home *** CD-ROM | disk | FTP | other *** search
/ BURKS 2 / BURKS_AUG97.ISO / BURKS / LINUX / HOWTO / mini / dipslirp.txt < prev    next >
Text File  |  1997-07-07  |  14KB  |  457 lines

  1.  
  2.                    Linux Dip+SLiRP+CSLIP mini-HOWTO
  3.                                  by
  4.                  Zenon Fortuna (zenon@netcom.com)
  5.  
  6.  
  7. Version: 1.0                                            October 15th '95
  8.  
  9. INDEX
  10.         0.      Why "Dip+SLiRP+CSLIP mini-HOWTO" ?
  11.         1.      History of changes
  12.         2.      Short description
  13.         3.      Steps of the configuration
  14.     3.1        Installing the SLiRP
  15.     3.2        Testing the SLiRP
  16.     3.3        Configuring your Linux system
  17.     3.4        Testing your Linux system
  18.     3.5        Installing the DIP
  19.     3.6        Testing the DIP
  20.     4.    Normal operation
  21.     4.1        Adding a DNS capability
  22.         5.      Comments
  23.  
  24. ----------------------------------------------------------------------------
  25. 0.    Why "Dip+SLiRP+CSLIP mini-HOWTO" ?
  26.  
  27.     This document is for users, who don't want to read the NET-2-HOWTO
  28.     with all its details, nor want to read the Dip/SLiRP documents, but
  29.     would like to install a SLIP-like connection to the Internet, using
  30.     available shell-only account.
  31.  
  32.     The above mentioned documents should be considered as more exhaustive,
  33.     but also more exhausting.
  34.  
  35.     The dip337n-uri and slirp-0.95h packages were used to test the described
  36.     functionality. The tests were verified under the stable (tm) Linux
  37.     kernel version 1.2.13, installed under the Slackware 2.2.0 OS
  38.     distribution.
  39.  
  40.  
  41. 1.    History of changes
  42.  
  43.     October 15th '95    Version: 1.0
  44.         The initial version of the document.
  45.  
  46.  
  47. 2.      Short description
  48.  
  49.     - I assume, that your Linux system is able to dial-up a remote
  50.       server of the ISP, where you have a shell-account. On this server
  51.       we will install the "slirp" utility.
  52.  
  53.     - we would like to prepare the "dip" utility on the Linux system,
  54.       along with a specialized script, to dial-up the remote server,
  55.       and start the "slirp" on this remote system.
  56.  
  57.     - the running "dip" will configure the serial line parameters and
  58.       will inform the Linux system about the IP mapping, performed by
  59.       the remote "slirp".
  60.  
  61.     - as a result the TCP/IP packets sent over the serial-line/modem
  62.       connection will be handled by the remote server as though being
  63.       sent locally by this server.
  64.  
  65.     Miracle happens: we will get a TCP/IP connection of the Linux system
  66.     to the Internet resources.
  67.  
  68.  
  69. 3.      Steps of the configuration
  70. 3.1        Installing the SLiRP
  71.  
  72.     - get the SLiRP distribution file, e.g. the slirp-0.95h.tar.gz,
  73.       and compile the "slirp" program on your remote host (the system
  74.       to which you will be dialing up). The SLiRP's docs/README.compiling
  75.       explains the details.
  76.  
  77.       Instead, you can get the already precompiled binary from
  78.         ftp://ibc.wustl.edu/pub/slirp_bin/USE_AT_OWN_RISK/
  79.       as it is explained in the Alt.dcom.slip-emulators FAQ, included
  80.       with the docs.
  81.  
  82.     - move the "slirp" program to a better location, e.g. "./bin/slirp"
  83.       or "./slirp" (i.e. at the $HOME directory)
  84.  
  85.     - at your $HOME directory create the ".slirprc" file.
  86.       To keep it simple let's use only a few commands:
  87.         #### .slirprc file ####
  88.         add ptyexec /usr/bin/tcsh -l:10.0.2.1:23
  89.         compress
  90.         baudrate 38400
  91.         #### end
  92.  
  93.       The "compress" command ensures to use the CSLIP protocol.
  94.       The "add ptyexec" command was used instead of the "shell"
  95.       command (see the SLiRP's docs/CONFIG for a list of commands),
  96.       because it is better to use the "tcsh -l" (for ".login" entry)
  97.       and the "shell" command does not accept flags (I believe).
  98.       You should use the remote system specific address of the "tcsh"
  99.       program (or use another shell, if you prefer).
  100.  
  101.       The "baudrate" should be used with the speed proper for your modem
  102.       connection.
  103.  
  104. 3.2        Testing the SLiRP
  105.  
  106.     Login to your remote site and type
  107.  
  108.         % bin/slirp    (or "./slirp", depending on the location)
  109.  
  110.     You should get a list of messages, with the following line at the end:
  111.         [talking CSLIP, MTU 1500, MRU 1500, 38400 baud]
  112.  
  113.     To exit the "slirp" type slowly (>1 sec gap) five 0's (zeroes).
  114.  
  115. 3.3        Configuring your Linux system
  116.  
  117.     Essentially, what you need to do is to prepare a kernel able
  118.     to run network and the CSLIP. Then you should configure the network.
  119.     Start the "make config" in the "src/linux" directory and set "y"
  120.     to the following options:
  121.  
  122.         Networking support (CONFIG_NET) [y]
  123.         TCP/IP networking (CONFIG_INET) [y]
  124.         Assume subnets are local (CONFIG_INET_SNARL) [y]
  125.         Network device support? (CONFIG_NETDEVICES) [y]
  126.         Dummy net driver support (CONFIG_DUMMY) [y]
  127.         SLIP (serial line) support (CONFIG_SLIP) [y]
  128.         CSLIP compressed headers (CONFIG_SLIP_COMPRESSED) [y]
  129.         PPP (point-to-point) support (CONFIG_PPP) [y]
  130.  
  131.     Now, I use the 3c509 Ethernet card, so my additional options are:
  132.  
  133.         3COM cards (CONFIG_NET_VENDOR_3COM) [y]
  134.         3c509/3c579 support (CONFIG_EL3) [y]
  135.  
  136.     For the NFS installation you can add also:
  137.  
  138.         NFS filesystem support (CONFIG_NFS_FS) [y]
  139.  
  140.     Now, after successful "make config", complete the kernel generation
  141.     with "make dep" and "make zImage".
  142.     Then move the arch/i386/boot/zImage to your kernel location and
  143.     run "lilo".
  144.  
  145.     To configure the network, first decide which IP address to use.
  146.     In a lack of your special address, take 192.168.1.100, allowed for
  147.     local networks by RFC1597.
  148.     Of course, you should rather read the NET-2-HOWTO for correct
  149.     information, but you can try to do the following:
  150.  
  151.     A. Give your system a network name, e.g. "yourhost.linux.org",
  152.        where all the three names could be chosen to your tastes.
  153.        Place the above string (without the quotes) into the
  154.        "/etc/HOSTNAME" file.
  155.  
  156.     B. Edit your "/etc/hosts" file, adding
  157.         192.168.1.100    yourhost.linux.org yourhost
  158.        The above "yourhost.linux.org" string should match the one chosen
  159.        in the step A above.
  160.  
  161.     C. If you run local Ethernet edit also your "/etc/networks" file,
  162.        adding a line:
  163.         yournet        192.168.1.0
  164.  
  165.     D. Edit your "rc.inet1" from the /etc/rc.d directory (save the
  166.        original somewhere :) and set
  167.         IPADDR=yourhost
  168.         NETMASK="255.255.255.0"
  169.         NETWORK=yournet
  170.         BROADCAST="192.168.1.255"
  171.        Then, if you have a real Ethernet card on your system,
  172.        uncomment the line
  173.  /sbin/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
  174.        and then the following line
  175.  /sbin/route add -net ${NETWORK} netmask ${NETMASK}
  176.  
  177.     E. Place your domain name "linux.org" (compare the step A) into the
  178.        "/etc/resolv.conf" file, as a line:
  179.         domain    linux.org
  180.  
  181.     Now, reboot your system.
  182.  
  183. 3.4        Testing your Linux system
  184.  
  185.     First of all watch the booting messages, or look into the
  186.     "/usr/adm/messages" file, if your syslogd(8) is running.
  187.  
  188.     You should see messages like
  189.          IP Protocols: ICMP, UDP, TCP
  190.          PPP: version ...
  191.          TCP compression ...
  192.          PPP line discipline registered.
  193.          SLIP: version ...
  194.          CSLIP: code copyright ...
  195.     If you have the Ethernet interface it should be recognized as well, e.g:
  196.          eth0: 3c509 at 0x280 ...
  197.  
  198.     Your network should be up and you could test it with a few commands:
  199.  
  200.     A. Run "ifconfig", without arguments.
  201.        You should see the "lo" (loopback) interface activated, with its
  202.        addresses.
  203.        If you run a real Ethernet as well, you will see the information
  204.        about the "eth0" interface as well, and you should notice the
  205.        familiar addresses, like "inet addr: 192.168.1.100", etc.
  206.  
  207.     B. Run "route", without arguments.
  208.        You should see a line about the "loopback" and maybe another one
  209.        about the "yournet".
  210.  
  211.     OK, your Linux system is ready to work with the CSLIP as well.
  212.  
  213. 3.5        Installing the DIP
  214.  
  215.     - it may happen, that your Linux system has already the "dip"
  216.       binary. It would be nice to have the 3.3.7n version of it
  217.       (it has the updated documentation).
  218.  
  219.     - otherwise, get the DIP distribution file, e.g. the dip337n-uri.tar.gz,
  220.       and compile the "dip" program on your local Linux host.
  221.       You do it by typing "make" in the dip-3.3.7n directory.
  222.  
  223.     - move the "dip" program to a better location which is in your PATH,
  224.       e.g. /usr/local/bin/dip or $HOME/bin/dip.
  225.  
  226.     - at convenient location, e.g. your $HOME directory, create the dip's
  227.       script file, for example "slirp.dip".
  228.  
  229.     The dip's script file is usually long and complex. There are some
  230.     examples in the dip's "samples" directory (maybe installed as
  231.     /usr/doc/dip/samples.
  232.     Anyway, I submit my "slirp.dip" file as an example.
  233.  
  234. #### slirp.dip file ####
  235. #
  236. # slirp.dip     Dialup IP script for u