Put in remaining pages and wiki contents.
[ikiwiki.git] / docs / handbook / handbook-slip.mdwn
1 \r
2 \r
3 ## 18.6 Using SLIP \r
4 \r
5 ***Originally contributed by Satoshi Asami. ******With input from Guy Helmer and Piero Serini. ***\r
6 \r
7 ### 18.6.1 Setting Up a SLIP Client \r
8 \r
9 The following is one way to set up a DragonFly machine for SLIP on a static host network. For dynamic hostname assignments (your address changes each time you dial up), you probably need to have a more complex setup.\r
10 \r
11 First, determine which serial port your modem is connected to. Many people set up a symbolic link, such as `/dev/modem`, to point to the real device name, `/dev/cuaaN`. This allows you to abstract the actual device name should you ever need to move the modem to a different port. It can become quite cumbersome when you need to fix a bunch of files in `/etc` and `.kermrc` files all over the system!\r
12 \r
13  **Note:** `/dev/cuaa0` is `COM1`, `cuaa1` is `COM2`, etc.\r
14 \r
15 Make sure you have the following in your kernel configuration file:\r
16 \r
17     \r
18     pseudo-device   sl      1\r
19 \r
20 \r
21 It is included in the `GENERIC` kernel, so this should not be a problem unless you have deleted it.\r
22 \r
23 #### 18.6.1.1 Things You Have to Do Only Once \r
24 \r
25   1. Add your home machine, the gateway and nameservers to your `/etc/hosts` file. Mine looks like this:\r
26       \r
27       127.0.0.1               localhost loghost\r
28       136.152.64.181          water.CS.Example.EDU water.CS water\r
29       136.152.64.1            inr-3.CS.Example.EDU inr-3 slip-gateway\r
30       128.32.136.9            ns1.Example.EDU ns1\r
31       128.32.136.12           ns2.Example.EDU ns2\r
32   \r
33   1. Make sure you have `hosts` before `bind` in your `/etc/host.conf`.\r
34   1. Edit the `/etc/rc.conf` file.\r
35     1. Set your hostname by editing the line that says:\r
36         \r
37         hostname="myname.my.domain"\r
38     \r
39     Your machine's full Internet hostname should be placed here.\r
40     1. Add `sl0` to the list of network interfaces by changing the line that says:\r
41         \r
42         network_interfaces="lo0"\r
43     \r
44     to:\r
45         \r
46         network_interfaces="lo0 sl0"\r
47     \r
48     1. Set the startup flags of `sl0` by adding a line:\r
49         \r
50         ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"\r
51     \r
52     1. Designate the default router by changing the line:\r
53         \r
54         defaultrouter="NO"\r
55     \r
56     to:\r
57         \r
58         defaultrouter="slip-gateway"\r
59     \r
60   1. Make a file `/etc/resolv.conf` which contains:\r
61       \r
62       domain CS.Example.EDU\r
63       nameserver 128.32.136.9\r
64       nameserver 128.32.136.12\r
65   \r
66   As you can see, these set up the nameserver hosts. Of course, the actual domain names and addresses depend on your environment.\r
67   1. Set the password for `root` and `toor` (and any other accounts that do not have a password).\r
68   1. Reboot your machine and make sure it comes up with the correct hostname.\r
69 \r
70 #### 18.6.1.2 Making a SLIP Connection \r
71 \r
72   1. Dial up, type `slip` at the prompt, enter your machine name and password. What is required to be entered depends on your environment. If you use kermit, you can try a script like this:\r
73       \r
74       # kermit setup\r
75       set modem hayes\r
76       set line /dev/modem\r
77       set speed 115200\r
78       set parity none\r
79       set flow rts/cts\r
80       set terminal bytesize 8\r
81       set file type binary\r
82       # The next macro will dial up and login\r
83       define slip dial 643-9600, input 10 =>, if failure stop, -\r
84       output slip\x0d, input 10 Username:, if failure stop, -\r
85       output silvia\x0d, input 10 Password:, if failure stop, -\r
86       output ***\x0d, echo \x0aCONNECTED\x0a\r
87   \r
88   Of course, you have to change the hostname and password to fit yours. After doing so, you can just type `slip` from the kermit prompt to connect.\r
89    **Note:** Leaving your password in plain text anywhere in the filesystem is generally a ***bad*** idea. Do it at your own risk.\r
90   1. Leave the kermit there (you can suspend it by  **Ctrl** - **z** ) and as `root`, type:\r
91       \r
92       # slattach -h -c -s 115200 /dev/modem\r
93   \r
94   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`.\r
95 \r
96 #### 18.6.1.3 How to Shutdown the Connection \r
97 \r
98 Do the following:\r
99 \r
100     \r
101     # kill -INT `cat /var/run/slattach.modem.pid`\r
102 \r
103 \r
104 to kill `slattach`. Keep in mind you must be `root` to do the above. Then go back to kermit (by running `fg` if you suspended it) and exit from it (`q`).\r
105 \r
106 The `slattach` manual 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.)\r
107 \r
108 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.\r
109 \r
110 #### 18.6.1.4 Troubleshooting \r
111 \r
112 If it does not work, feel free to ask me. The things that people tripped over so far:\r
113 \r
114
115 * Not using `-c` or `-a` in `slattach` (This should not be fatal, but some users have reported that this solves their problems.)\r
116
117 * Using `s10` instead of `sl0` (might be hard to see the difference on some fonts).\r
118
119 * Try `ifconfig sl0` to see your interface status. For example, you might get:\r
120       \r
121       # ifconfig sl0\r
122       sl0: flags=10<POINTOPOINT>\r
123               inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00\r
124   \r
125
126 * If you get ***`no route to host`*** messages from ping, there may be a problem with your routing table. You can use the `netstat -r` command to display the current routes :\r
127       \r
128       # netstat -r\r
129       Routing tables\r
130       Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt    Netmasks:\r
131       (root node)\r
132       (root node)\r
133       Route Tree for Protocol Family inet:\r
134       (root node) =>\r
135       default          inr-3.Example.EDU  UG          8   224515  sl0 -      -\r
136       localhost.Exampl localhost.Example. UH          5    42127  lo0 -       0.438\r
137       inr-3.Example.ED water.CS.Example.E UH          1        0  sl0 -      -\r
138       water.CS.Example localhost.Example. UGH        34 47641234  lo0 -       0.438\r
139       (root node)\r
140   \r
141   The preceding examples are from a relatively busy system. The numbers on your system will vary depending on network activity.\r
142 \r
143 ### 18.6.2 Setting Up a SLIP Server \r
144 \r
145 This document provides suggestions for setting up SLIP Server services on a DragonFly system, which typically means configuring your system to automatically startup connections upon login for remote SLIP clients.\r
146 \r
147 #### 18.6.2.1 Prerequisites \r
148 \r
149 This section is very technical in nature, so background knowledge is required. It is assumed that you are familiar with the TCP/IP network protocol, and in particular, network and node addressing, network address masks, subnetting, routing, and routing protocols, such as RIP. Configuring SLIP services on a dial-up server requires a knowledge of these concepts, and if you are not familiar with them, please read a copy of either Craig Hunt's ***TCP/IP Network Administration*** published by O'Reilly & Associates, Inc. (ISBN Number 0-937175-82-X), or Douglas Comer's books on the TCP/IP protocol.\r
150 \r
151 It is further assumed that you have already set up your modem(s) and configured the appropriate system files to allow logins through your modems. If you have not prepared your system for this yet, please see the tutorial for configuring dialup services. You may also want to check the manual pages for [sio(4)](http://leaf.dragonflybsd.org/cgi/web-man?command#sio&section4) for information on the serial port device driver and [ttys(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=ttys&section=5), [gettytab(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=gettytab&section=5), [getty(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=getty&section=8), & [init(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=init&section=8) for information relevant to configuring the system to accept logins on modems, and perhaps [stty(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=stty&section=1) for information on setting serial port parameters (such as `clocal` for directly-connected serial interfaces).\r
152 \r
153 #### 18.6.2.2 Quick Overview \r
154 \r
155 In its typical configuration, using DragonFly as a SLIP server works as follows: a SLIP user dials up your DragonFly SLIP Server system and logs in with a special SLIP login ID that uses `/usr/sbin/sliplogin` as the special user's shell. The `sliplogin` program browses the file `/etc/sliphome/slip.hosts` to find a matching line for the special user, and if it finds a match, connects the serial line to an available SLIP interface and then runs the shell script `/etc/sliphome/slip.login` to configure the SLIP interface.\r
156 \r
157 ##### 18.6.2.2.1 An Example of a SLIP Server Login \r
158 \r
159 For example, if a SLIP user ID were `Shelmerg`, `Shelmerg`'s entry in `/etc/master.passwd` would look something like this:\r
160 \r
161     \r
162     Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin\r
163 \r
164 \r
165 When `Shelmerg` logs in, `sliplogin` will search `/etc/sliphome/slip.hosts` for a line that had a matching user ID; for example, there may be a line in `/etc/sliphome/slip.hosts` that reads:\r
166 \r
167     \r
168     Shelmerg        dc-slip sl-helmer       0xfffffc00            autocomp\r
169 \r
170 \r
171 `sliplogin` will find that matching line, hook the serial line into the next available SLIP interface, and then execute `/etc/sliphome/slip.login` like this:\r
172 \r
173     \r
174     /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp\r
175 \r
176 \r
177 If all goes well, `/etc/sliphome/slip.login` will issue an `ifconfig` for the SLIP interface to which `sliplogin` attached itself (slip interface 0, in the above example, which was the first parameter in the list given to `slip.login`) to set the local IP address (`dc-slip`), remote IP address (`sl-helmer`), network mask for the SLIP interface (`0xfffffc00`), and any additional flags (`autocomp`). If something goes wrong, `sliplogin` usually logs good informational messages via the `daemon` syslog facility, which usually logs to `/var/log/messages` (see the manual pages for [syslogd(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#syslogd&section8) and [syslog.conf(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=syslog.conf&section=5) and perhaps check `/etc/syslog.conf` to see to what `syslogd` is logging and where it is logging to).\r
178 \r
179 OK, enough of the examples -- let us dive into setting up the system.\r
180 \r
181 #### 18.6.2.3 Kernel Configuration \r
182 \r
183 DragonFly's default kernels usually come with two SLIP interfaces defined (`sl0` and `sl1`); you can use `netstat -i` to see whether these interfaces are defined in your kernel.\r
184 \r
185 Sample output from `netstat -i`:\r
186 \r
187     \r
188     Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll\r
189     ed0   1500  <Link>0.0.c0.2c.5f.4a         291311     0   174209     0   133\r
190     ed0   1500  138.247.224 ivory             291311     0   174209     0   133\r
191     lo0   65535 <Link>                            79     0       79     0     0\r
192     lo0   65535 loop        localhost             79     0       79     0     0\r
193     sl0*  296   <Link>                             0     0        0     0     0\r
194     sl1*  296   <Link>                             0     0        0     0     0\r
195 \r
196 \r
197 The `sl0` and `sl1` interfaces shown from `netstat -i` indicate that there are two SLIP interfaces built into the kernel. (The asterisks after the `sl0` and `sl1` indicate that the interfaces are ***down***.)\r
198 \r
199 However, DragonFly's default kernel does not come configured to forward packets (by default, your DragonFly machine will not act as a router) due to Internet RFC requirements for Internet hosts (see RFCs 1009 [Requirements for Internet Gateways], 1122 [Requirements for Internet Hosts -- Communication Layers], and perhaps 1127 [A Perspective on the Host Requirements RFCs]). If you want your DragonFly SLIP Server to act as a router, you will have to edit the `/etc/rc.conf` file and change the setting of the `gateway_enable` variable to `YES`.\r
200 \r
201 You will then need to reboot for the new settings to take effect.\r
202 \r
203 You will notice that near the end of the default kernel configuration file (`/sys/i386/conf/GENERIC`) is a line that reads:\r
204 \r
205     \r
206     pseudo-device sl 2\r
207 \r
208 \r
209 This is the line that defines the number of SLIP devices available in the kernel; the number at the end of the line is the maximum number of SLIP connections that may be operating simultaneously.\r
210 \r
211 Please refer to [kernelconfig.html Chapter 9] on Configuring the DragonFly Kernel for help in reconfiguring your kernel.\r
212 \r
213 #### 18.6.2.4 Sliplogin Configuration \r
214 \r
215 As mentioned earlier, there are three files in the `/etc/sliphome` directory that are part of the configuration for `/usr/sbin/sliplogin` (see [sliplogin(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#sliplogin&section8) for the actual manual page for `sliplogin`): `slip.hosts`, which defines the SLIP users and their associated IP addresses; `slip.login`, which usually just configures the SLIP interface; and (optionally) `slip.logout`, which undoes `slip.login`'s effects when the serial connection is terminated.\r
216 \r
217 ##### 18.6.2.4.1 `slip.hosts` Configuration \r
218 \r
219 `/etc/sliphome/slip.hosts` contains lines which have at least four items separated by whitespace:\r
220 \r
221
222 * SLIP user's login ID\r
223
224 * Local address (local to the SLIP server) of the SLIP link\r
225
226 * Remote address of the SLIP link\r
227
228 * Network mask\r
229 \r
230 The local and remote addresses may be host names (resolved to IP addresses by `/etc/hosts` or by the domain name service, depending on your specifications in `/etc/host.conf`), and the network mask may be a name that can be resolved by a lookup into `/etc/networks`. On a sample system, `/etc/sliphome/slip.hosts` looks like this:\r
231 \r
232     \r
233     #\r
234     # login local-addr      remote-addr     mask            opt1    opt2\r
235     #                                               (normal,compress,noicmp)\r
236     #\r
237     Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp\r
238 \r
239 \r
240 At the end of the line is one or more of the options.\r
241 \r
242
243 * `normal` -- no header compression\r
244
245 * `compress` -- compress headers\r
246
247 * `autocomp` -- compress headers if the remote end allows it\r
248
249 * `noicmp` -- disable ICMP packets (so any ***ping*** packets will be dropped instead of using up your bandwidth)\r
250 \r
251 Your choice of local and remote addresses for your SLIP links depends on whether you are going to dedicate a TCP/IP subnet or if you are going to use ***proxy ARP*** on your SLIP server (it is not ***true*** proxy ARP, but that is the terminology used in this section to describe it). If you are not sure which method to select or how to assign IP addresses, please refer to the TCP/IP books referenced in the SLIP Prerequisites ([ Section 18.6.2.1](slip.html#SLIPS-PREREQS)) and/or consult your IP network manager.\r
252 \r
253 If you are going to use a separate subnet for your SLIP clients, you will need to allocate the subnet number out of your assigned IP network number and assign each of your SLIP client's IP numbers out of that subnet. Then, you will probably need to configure a static route to the SLIP subnet via your SLIP server on your nearest IP router.\r
254 \r
255 Otherwise, if you will use the ***proxy ARP*** method, you will need to assign your SLIP client's IP addresses out of your SLIP server's Ethernet subnet, and you will also need to adjust your `/etc/sliphome/slip.login` and `/etc/sliphome/slip.logout` scripts to use [arp(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#arp&section8) to manage the proxy-ARP entries in the SLIP server's ARP table.\r
256 \r
257 ##### 18.6.2.4.2 `slip.login` Configuration \r
258 \r
259 The typical `/etc/sliphome/slip.login` file looks like this:\r
260 \r
261     \r
262     #!/bin/sh -\r
263     #\r
264     #       @(#)slip.login  5.1 (Berkeley) 7/1/90\r
265     \r
266     #\r
267     # generic login file for a slip line.  sliplogin invokes this with\r
268     # the parameters:\r
269     #      1        2         3        4          5         6     7-n\r
270     #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args\r
271     #\r
272     /sbin/ifconfig sl$1 inet $4 $5 netmask $6\r
273 \r
274 \r
275 This `slip.login` file merely runs `ifconfig` for the appropriate SLIP interface with the local and remote addresses and network mask of the SLIP interface.\r
276 \r
277 If you have decided to use the ***proxy ARP*** method (instead of using a separate subnet for your SLIP clients), your `/etc/sliphome/slip.login` file will need to look something like this:\r
278 \r
279     \r
280     #!/bin/sh -\r
281     #\r
282     #       @(#)slip.login  5.1 (Berkeley) 7/1/90\r
283     \r
284     #\r
285     # generic login file for a slip line.  sliplogin invokes this with\r
286     # the parameters:\r
287     #      1        2         3        4          5         6     7-n\r
288     #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args\r
289     #\r
290     /sbin/ifconfig sl$1 inet $4 $5 netmask $6\r
291     # Answer ARP requests for the SLIP client with our Ethernet addr\r
292     /usr/sbin/arp -s $5 00:11:22:33:44:55 pub\r
293 \r
294 \r
295 The additional line in this `slip.login`, `arp -s $5 00:11:22:33:44:55 pub`, creates an ARP entry in the SLIP server's ARP table. This ARP entry causes the SLIP server to respond with the SLIP server's Ethernet MAC address whenever another IP node on the Ethernet asks to speak to the SLIP client's IP address.\r
296 \r
297 When using the example above, be sure to replace the Ethernet MAC address (`00:11:22:33:44:55`) with the MAC address of your system's Ethernet card, or your ***proxy ARP*** will definitely not work! You can discover your SLIP server's Ethernet MAC address by looking at the results of running `netstat -i`; the second line of the output should look something like:\r
298 \r
299     \r
300     ed0   1500  <Link>0.2.c1.28.5f.4a         191923      0   129457     0   116\r
301 \r
302 \r
303 This indicates that this particular system's Ethernet MAC address is `00:02:c1:28:5f:4a` -- the periods in the Ethernet MAC address given by `netstat -i` must be changed to colons and leading zeros should be added to each single-digit hexadecimal number to convert the address into the form that [arp(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#arp&section8) desires; see the manual page on [arp(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=arp&section=8) for complete information on usage.\r
304 \r
305  **Note:** When you create `/etc/sliphome/slip.login` and `/etc/sliphome/slip.logout`, the ***execute*** bit (`chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout`) must be set, or `sliplogin` will be unable to execute it.\r
306 \r
307 ##### 18.6.2.4.3 `slip.logout` Configuration \r
308 \r
309 `/etc/sliphome/slip.logout` is not strictly needed (unless you are implementing ***proxy ARP***), but if you decide to create it, this is an example of a basic `slip.logout` script:\r
310 \r
311     \r
312     #!/bin/sh -\r
313     #\r
314     #       slip.logout\r
315     \r
316     #\r
317     # logout file for a slip line.  sliplogin invokes this with\r
318     # the parameters:\r
319     #      1        2         3        4          5         6     7-n\r
320     #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args\r
321     #\r
322     /sbin/ifconfig sl$1 down\r
323 \r
324 \r
325 If you are using ***proxy ARP***, you will want to have `/etc/sliphome/slip.logout` remove the ARP entry for the SLIP client:\r
326 \r
327     \r
328     #!/bin/sh -\r
329     #\r
330     #       @(#)slip.logout\r
331     \r
332     #\r
333     # logout file for a slip line.  sliplogin invokes this with\r
334     # the parameters:\r
335     #      1        2         3        4          5         6     7-n\r
336     #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args\r
337     #\r
338     /sbin/ifconfig sl$1 down\r
339     # Quit answering ARP requests for the SLIP client\r
340     /usr/sbin/arp -d $5\r
341 \r
342 \r
343 The `arp -d $5` removes the ARP entry that the ***proxy ARP*** `slip.login` added when the SLIP client logged in.\r
344 \r
345 It bears repeating: make sure `/etc/sliphome/slip.logout` has the execute bit set after you create it (ie, `chmod 755 /etc/sliphome/slip.logout`).\r
346 \r
347 #### 18.6.2.5 Routing Considerations \r
348 \r
349 If you are not using the ***proxy ARP*** method for routing packets between your SLIP clients and the rest of your network (and perhaps the Internet), you will probably have to add static routes to your closest default router(s) to route your SLIP client subnet via your SLIP server.\r
350 \r
351 ##### 18.6.2.5.1 Static Routes \r
352 \r
353 Adding static routes to your nearest default routers can be troublesome (or impossible if you do not have authority to do so...). If you have a multiple-router network in your organization, some routers, such as those made by Cisco and Proteon, may not only need to be configured with the static route to the SLIP subnet, but also need to be told which static routes to tell other routers about, so some expertise and troubleshooting/tweaking may be necessary to get static-route-based routing to work.\r
354 \r
355 ##### 18.6.2.5.2 Running  **GateD®**  \r
356 \r
357  **Note:**  **GateD®**  is proprietary software now and will not be available as source code to the public anymore (more info on the [GateD](http://www.gated.org/) website). This section only exists to ensure backwards compatibility for those that are still using an older version.\r
358 \r
359 An alternative to the headaches of static routes is to install  **GateD**  on your DragonFly SLIP server and configure it to use the appropriate routing protocols (RIP/OSPF/BGP/EGP) to tell other routers about your SLIP subnet. You'll need to write a `/etc/gated.conf` file to configure your gated; here is a sample, similar to what the author used on a FreeBSD SLIP server:\r
360 \r
361     \r
362     #\r
363     # gated configuration file for dc.dsu.edu; for gated version 3.5alpha5\r
364     # Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface\r
365     #\r
366     #\r
367     # tracing options\r
368     #\r
369     traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;\r
370     \r
371     rip yes {\r
372       interface sl noripout noripin ;\r
373       interface ed ripin ripout version 1 ;\r
374       traceoptions route ;\r
375     } ;\r
376     \r
377     #\r
378     # Turn on a bunch of tracing info for the interface to the kernel:\r
379     kernel {\r
380       traceoptions remnants request routes info interface ;\r
381     } ;\r
382     \r
383     #\r
384     # Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP\r
385     #\r
386     \r
387     export proto rip interface ed {\r
388       proto direct {\r
389           `***xxx.xxx.yy***` mask 255.255.252.0 metric 1; # SLIP connections\r
390       } ;\r
391     } ;\r
392     \r
393     #\r
394     # Accept routes from RIP via ed Ethernet interfaces\r
395     \r
396     import proto rip interface ed {\r
397       all ;\r
398     } ;\r
399 \r
400 \r
401 The above sample `gated.conf` file broadcasts routing information regarding the SLIP subnet `***xxx.xxx.yy***` via RIP onto the Ethernet; if you are using a different Ethernet driver than the `ed` driver, you will need to change the references to the `ed` interface appropriately. This sample file also sets up tracing to `/var/tmp/gated.output` for debugging  **GateD** 's activity; you can certainly turn off the tracing options if  **GateD**  works OK for you. You will need to change the `***xxx.xxx.yy***`'s into the network address of your own SLIP subnet (be sure to change the net mask in the `proto direct` clause as well).\r
402 \r
403 Once you have installed and configured  **GateD**  on your system, you will need to tell the DragonFly startup scripts to run  **GateD**  in place of  **routed** . The easiest way to accomplish this is to set the `router` and `router_flags` variables in `/etc/rc.conf`. Please see the manual page for  **GateD**  for information on command-line parameters.\r
404 \r
405 \r
406 \r
407 CategoryHandbook\r
408 CategoryHandbook-pppandslip\r