Setting up a SLIP client

Contributed by &a.asami;8 Aug 1995. The following is one way to set up a FreeBSD machine for SLIP on a static host network. For dynamic hostname assignments (i.e., your address changes each time you dial up), you probably need to do something much fancier. First, determine which serial port your modem is connected to. I have a symbolic link /dev/modem -> cuaa1, and only use the modem name in my configuration files. It can become quite cumbersome when you need to fix a bunch of files in /etc and .kermrc's all over the system! (Note that /dev/cuaa0 is COM1, cuaa1 is COM2, etc.) Make sure you have pseudo-device sl 1 in your kernel's config file. It is included in the GENERIC kernel, so this will not be a problem unless you deleted it. Things you have to do only once

Add your home machine, the gateway and nameservers to your /etc/hosts file. Mine looks like this: 127.0.0.1 localhost loghost 136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia 136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway 128.32.136.9 ns1.Berkeley.edu ns1 128.32.136.12 ns2.Berkeley.edu ns2 By the way, silvia is the name of the car that I had when I was back in Japan (it is called 2?0SX here in U.S.). Make sure you have "hosts" before "bind" in your /etc/host.conf. Otherwise, funny things may happen. Edit the file /etc/sysconfig. Set your hostname by editing the line that says: hostname=myname.my.domain You should give it your full Internet hostname. Add sl0 to the list of network interfaces by changing the line that says: network_interfaces="lo0" to: network_interfaces="lo0 sl0" Set the startup flags of sl0 by adding a line: ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up" Designate the default router by changing the line: defaultrouter=NO to: defaultrouter=slip-gateway Make a file /etc/resolv.conf which contains: domain HIP.Berkeley.EDU nameserver 128.32.136.9 nameserver 128.32.136.12 As you can see, these set up the nameserver hosts. Of course, the actual domain names and addresses depend on your environment. Set the password for root and toor (and any other accounts that does not have a password). Use passwd, do not edit the /etc/passwd or /etc/master.passwd files! Reboot your machine and make sure it comes up with the correct hostname. Making a SLIP connection

Dial up, type "slip" at the prompt, enter your machine name and password. The things you need to enter depends on your environment. I use kermit, with a script like this: # kermit setup set modem hayes set line /dev/modem set speed 115200 set parity none set flow rts/cts set terminal bytesize 8 set file type binary # The next macro will dial up and login define slip dial 643-9600, input 10 =>, if failure stop, - output slip\x0d, input 10 Username:, if failure stop, - output silvia\x0d, input 10 Password:, if failure stop, - output ***\x0d, echo \x0aCONNECTED\x0a (of course, you have to change the hostname and password to fit yours). Then you can just type "slip" from the kermit prompt to get connected. Note: leaving your password in plain text anywhere in the filesystem is generally a BAD idea. Do it at your own risk. I am just too lazy. Leave the kermit there (you can suspend it by "z") and as root, type slattach -h -c -s 115200 /dev/modem if you are able to "ping" hosts on the other side of the router, you are connected! If it does not work, you might want to try "-a" instead of "-c" as an argument to slattach. How to shutdown the connection

Type "kill -INT `cat /var/run/slattach.modem.pid`" (as root) to kill slattach. Then go back to kermit ("fg" if you suspended it) and exit from it ("q"). The slattach man page says you have to use "ifconfig sl0 down" to mark the interface down, but this does not seem to make any difference for me. ("ifconfig sl0" reports the same thing.) Some times, your modem might refuse to drop the carrier (mine often does). In that case, simply start kermit and quit it again. It usually goes out on the second try. Troubleshooting

If it does not work, feel free to ask me. The things that people tripped over so far: Not using "-c" or "-a" in slattach (I have no idea why this can be fatal, but adding this flag solved the problem for at least one person) Using "s10" instead of "sl0" (might be hard to see the difference on some fonts). Try "ifconfig sl0" to see your interface status. I get: silvia# ifconfig sl0 sl0: flags=10 inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00 Also, netstat -r will give the routing table, in case you get the "no route to host" messages from ping. Mine looks like: silvia# netstat -r Routing tables Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks: (root node) (root node) Route Tree for Protocol Family inet: (root node) => default inr-3.Berkeley.EDU UG 8 224515 sl0 - - localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438 inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - - silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438 (root node) (this is after transferring a bunch of files, your numbers should be smaller).