Point to Point Protocol (PPP) and Asynchronous Interfaces

Document revision 29-Nov-2002
This document applies to the MikroTik RouterOS V2.6

Overview

PPP (or Point-to-Point Protocol) provides a method for transmitting datagrams over serial point-to-point links. The 'com1' and 'com2' ports from standard PC hardware configurations will appear as serial0 and serial1 automatically. You can add more serial ports to use the router for a modem pool using these adapters:
  • MOXA (www.moxa.com) Smartio C104H 4-port PCI multiport asynchronous board with maximum of 16 ports (4 cards)
  • MOXA (www.moxa.com) Smartio C168H 8-port PCI multiport asynchronous board with maximum of 32 ports (4 cards)
  • Cyclades (www.cyclades.com) Cyclom-Y Series PCI multiport asynchronous (serial) cards
  • Cyclades (www.cyclades.com) Cyclades-Z Series PCI multiport asynchronous (serial) cards
  • TCL (www.thetcl.com) DataBooster 4 or 8 port High Speed Buffered PCI Communication Controllers

    General PPP settings that are used for PPP, PPTP, and PPPoE connections are described in General Point to Point Setting manual.

    Contents of the Manual

    The following topics are covered in this manual:

    Installation

    The ppp-2.6.x.npk are required. The package can be downloaded from MikroTik’s web page www.mikrotik.com. To install the package, please upload them to the router with ftp and reboot.

    Hardware Resource Usage

    PPP uses a minimum amount of memory.

    If the devices are detected correctly, they should appear in driver list:

    [admin@MikroTik] > driver print
    Flags: I - invalid, D - dynamic
      #   DRIVER                                IRQ IO       MEMORY   ISDN-PROTOCOL
      0 D Cyclades Y/Z
      1 D RealTek 8139
      2 D TheTCL DataBooster
      3 D Intel PRO/100
    [admin@MikroTik] >
    
    To see the list of available serial ports, use the command /ports print, for example:

    [admin@MikroTik] > /port print
      # NAME                             USED-BY                          BAUD-RATE
      0 serial0                          Serial Console                   9600
      1 databooster1                                                      9600
      2 databooster2                                                      9600
      3 databooster3                                                      9600
      4 databooster4                                                      9600
      5 databooster5                                                      9600
      6 databooster6                                                      9600
      7 databooster7                                                      9600
      8 databooster8                                                      9600
      9 cycladesA1                                                        9600
     10 cycladesA2                                                        9600
     11 cycladesA3                                                        9600
     12 cycladesA4                                                        9600
     13 cycladesA5                                                        9600
     14 cycladesA6                                                        9600
     15 cycladesA7                                                        9600
     16 cycladesA8                                                        9600
    [admin@MikroTik] >
    

    Serial Port Configuration

    You can set parameters for each port using /port set command:
    [admin@MikroTik] port> set serial0 baud-rate=57600
    [admin@MikroTik] port> print detail from=serial0
      0 name="serial0" used-by="Serial Console" baud-rate=57600 data-bits=8
        parity=none stop-bits=1 flow-control=hardware
    
    
    [admin@MikroTik] port>
    
    Description of the printout:
    name - port name
    used-by - shows (cannot be changed) the user of the port. Only free ports can be used in PPP
    baud-rate - maximal data rate of the port (50 ... 4000000)
    data-bits - number of bits per character transmitted (7, 8)
    parity - character parity check method (none, even, odd)
    stop-bits - number of stop bits after each character transmitted (1, 2)
    flow-control - flow control method (none, hardware, xon-xoff)
    Note that baud-rate, data-bits, parity, stop-bits and flow-control parameters must be the same for both communicating sides.

    PPP Server

    The PPP server management is done in the /interface ppp-serversubmenu.

    You can add a PPP server using the add command:

    [admin@MikroTik] interface ppp-server> add name=test port=serial1
    [admin@MikroTik] interface ppp-server> pr
    Flags: X - disabled, R - running
      0 X  name="test" mtu=1500 mru=1500 port=serial1
           authentication=mschap2,chap,pap profile=default modem-init=""
           ring-count=1 null-modem=no
    
    
    [admin@MikroTik] interface ppp-server> enable 0
    [admin@MikroTik] interface ppp-server> monitor test
    	user:
          uptime: 0s
        encoding:
          status: Waiting for call...
    
    [admin@MikroTik] interface ppp-server>
    

    Description of settings:

    port - Serial port
    authentication - Authentication protocol. One or more of: mschap2, chap, pap. Encrypted links are only supported when ms-chapv2 is selected. This is a feature of the protocol. It is suggested that only mschap2 is selected, unless there is a special situation which requires an unencrypted link
    profile - profile name for the link
    mtu - Maximum Transmit Unit. Maximum packet size to be transmitted
    mru - Maximum Receive Unit.
    null-modem - Enable/Disable null-modem mode (when enabled, no modem initialization strings are sent). Default value is "off" (for COM1 and COM2 only). So by default null-modem is turned off.
    modem-init - Modem Initialization String.
    ring-count - Number of rings to wait before answering phone.
    name - Interface name for reference.

    When dialing in, the users can be authenticated locally using the local user database in the /user menu, or at the RADIUS server specified in the /ip ppp settings.

    PPP Client Setup

    PPP profiles must match at least partially (local-address and values connected with encryption should match) with corresponding remote server values.

    The PPP client management can be accessed under the /interface ppp-client submenu.

    You can add a PPP client using the add command:

    [admin@MikroTik] interface ppp-client> add
    creates new item with specified property values.
      add-default-route  Add PPP remote address as a default route
    	  copy-from  item number
         dial-on-demand  Enable/Disable dial on demand
    	   disabled
    	 modem-init  Modem init string
    		mru  Maximum Receive Unit
    		mtu  Maximum Transfer Unit
    	       name  New interface name
    	 null-modem  Enable/Disable nullmodem mode
    	   password
    	      phone  Phone number for dialout
    	       port  Serial port
    	    profile
    	  tone-dial  Enable/Disable tone dial
           use-peer-dns  Enable/Disable using of peer DNS
    	       user  User name to use for dialout
    [admin@MikroTik] interface ppp-client> add name=test user=test port=serial1 \
    \... add-default-route=yes
    [admin@MikroTik] interface ppp-client> print
    Flags: X - disabled, R - running
      0 X  name="test" mtu=1500 mru=1500 port=serial1 user="test" password=""
           profile=default phone="" tone-dial=yes modem-init="" null-modem=no
           dial-on-demand=no add-default-route=yes use-peer-dns=no
    
    
    [admin@MikroTik] interface ppp-client> enable 0
    [admin@MikroTik] interface ppp-client> monitor test
          uptime: 0s
        encoding:
          status: Logging in to network...
    
    [admin@MikroTik] interface ppp-client>
    

    Descriptions of settings:

    name - new interface name
    port - serial port
    user - P2P user name on the remote server to use for dialout
    password - P2P user password on the remote server to use for dialout
    profile - local profile to use for dialout
    phone - phone number for dialout
    tone-dial - defines whether use tone dial or pulse dial
    mtu - Maximum Transmit Unit. Maximum packet size to be transmitted
    mru - Maximum Receive Unit
    null-modem - enable/disable null-modem mode (when enabled, no modem initialization strings are sent). Default value is off (for COM1 and COM2 only). So by default null-modem is turned off
    modem-init - Modem Initialization String
    dial-on-demand - enable/disable dial on demand
    add-default-route - add PPP remote address as a default route
    use-peer-dns - use DNS server settings from the remote server

    If the PPP client is configured properly and it has established a connection to the server, you can:

    1. Monitor the connection using the /interface ppp-client monitor command
    2. See the ppp-out interface under the /interface print list
    3. See the dynamic IP address under the /ip address print list
    4. (Optionally) See the dynamic default route under the /ip route print list
    Example of an established connection:

    [admin@MikroTik] interface ppp-client> monitor test
          uptime: 4h35s
        encoding: none
          status: Connected
    [admin@MikroTik] interface ppp-client>
    

    Description of display:

    uptime - connection time displayed in days, hours, minutes, and seconds
    encoding - encryption being used in this connection
    status - the status of this client may be:

    Additional Resources

    Links for PPP documentation:

    http://www.ietf.org/rfc/rfc2138.txt?number=2138
    http://www.ietf.org/rfc/rfc2138.txt?number=2139


    © Copyright 1999-2002, MikroTik