Previous Next Contents Main Page

16. Quick Guide - SLIP or PPP Server

Configuring your linux machine as a SLIP or PPP server is a deceptively simple thing to do. The actual process is simple, but there are a number of different aspects to the configuration and understanding how each of the stages interact with each other is what will help you diagnose any problems you experience. Here are the steps that you must follow to configure your linux machine as a SLIP or PPP server:

  1. Assemble your hardware. Avoid IRQ and shared memory conflicts. Test each of the serial ports by connecting a dumb terminal to each of the ports and use a null modem cable and a comms program like minicom or seyon to talk to each. Make sure you can send and receive characters. If you intend running a number of serial ports then try to use a smart serial board and use 16550AFN UART's. This will help ease some of the work of handling interrupts generated by the serial ports.
  2. Build your kernel, make sure it has networking configured, IP Forwarding enabled if you want users to route via your server and SLIP or PPP configured as is appropriate for your configuration. Make sure you configure CSLIP if you wish to use it. Double check you have IP Forwarding enabled if you don't then dialin users will only be able to connect directly to your machine.
  3. Install your kernel. Test the kernel. Check the /proc/net/dev file and make sure that you have sl* ppp* devices listed. If not then you have probably made some error in configuring your kernel, or you are not actually running your new kernel. Double check that you have actually run lilo to install the new kernel.
  4. Configure a getty on the serial port(s) that you wish to use for your incoming calls. You should refer to the Serial-HOWTO for a description of how to do this. Remember to configure your modem so that the DCD pin tracks received carrier, this is how most getty programs detect an incoming call (mgetty is an exception to this and uses the RING message so you must be sure you have your modem configured to generate it: ATQ0V1 is usually enough).
  5. Test the getty to make sure it works. It is important that you do this before you start worrying about the actual SLIP or PPP configuration. Try dialing into your system, you should get a login: prompt and be able to login to a shell account normally. Check for lost or garbled characters that might indicate a flow control problem.
  6. Decide how you want your server to allocate addresses. If you want your users to get the same address each time they call then you want a static server, if you want to minimise the number of addresses you use and don't care what address your users are allocated then you want a dynamic server.
  7. Decide how you are going to build the SLIP or PPP server, whether you are going to use sliplogin, dip or dSLIP for SLIP for example. If you wish to use the sliplogin package then refer to the "Slip Server using Sliplogin" section. If you are going to use dip then refer to section "Slip Server using DIP". If you want to build your SLIP server using the dSLIP package then refer to section "Slip Server using dSLIP". For PPP you will need to use the pppd program, so make sure you read the PPP-HOWTO on how to configure this. Ensure you have the appropriate software, that it is a recent version and that it is compiled and installed if necessary.
  8. If the addresses you are allocating to you SLIP users are part of your ethernet network, then make sure you read the Proxy ARP section and configure a proxy arp for each address. You may do this in the /etc/sliplogin and /etc/SLIPlogout files if you are using the sliplogin package. If you are configuring a PPP server then make sure you use the pppd proxyarp option. If the addresses you are allocating are from a network seperate to your ethernet network then you will need to use a routing daemon program like gated. If you use gated then refer to the "gated" section.
  9. Test your SLIP/PPP server.
  10. Get someone else to test your SLIP/PPP server.


Previous Next Contents Main Page