$Id: HOWTO_PIPEX_NPPPD.txt,v 1.3 2010/09/26 06:54:44 yasuoka Exp $

How to test npppd and pipex
---------------------------

  client ------ server
                A.B.C.D

on server

  1. update your source tree

  2. enable PIPEX on your kernel and reboot with the kernel
     Add bellow line to your kernel configuration file

	option          PIPEX           # Pppac IP EXtension, for npppd

  3. build and update kernel

  4. build npppd

	% cd /usr/src/usr.sbin/npppd
	% make
	% sudo make install

  5. install npppd.conf and npppd-users.csv to /etc/npppd/

     sample npppd.conf and npppd-user.csv attached below on this file.

	% sudo mkdir 0755 /etc/npppd
	% sudo cp npppd.conf /etc/npppd/
	% sudo cp npppd-users.csv /etc/npppd/

  6. create user '_npppd'

     	% sudo groupadd _npppd
     	% sudo useradd -d /var/empty -s /sbin/nologin -g _npppd _npppd

  6. set net.inet.gre.allow=1
	% sudo sysctl net.inet.gre.allow=1

  7. run npppd
	% sudo /usr/sbin/npppd -d

on client

  1. install 'pptp' from ports.
  2. edit /etc/ppp/ppp.conf
     -------------------------------
     test_pptp:
       set device "!/usr/local/sbin/pptp --nolaunchpppd A.B.C.D"
       set authname test
       set authkey hogehoge
       set mppe 128 stateless
       disable protocomp
       deny protocomp
       disable ipv6cp
     -------------------------------
     modify "A.B.C.D" to actual IP address.
  3. dial test_pptp
     % sudo ppp -ddial test_pptp


How to test L2TP/IPsec
----------------------

  1. run isakmpd
     % sudo isakmpd -Kv
  2. append below lines to /etc/ipsec.conf
     -------------------------------
     ike passive esp transport \
         proto udp from A.B.C.D to any port 1701 \
         main auth "hmac-sha" enc "3des" group modp1024 \
         quick auth "hmac-sha" enc "aes" \
         psk "secret"
     -------------------------------
     - change A.B.C.D to actual IP address
     - change "secret" to actual shared secret

   3. exec ipsecctl to notice isakmpd
     % sudo ipsecctl -f /etc/ipsec.conf

   4. connect from iPhone, MacOS or Windows


[npppd.conf]
-------------------------------------------------------------------------------
#
# Simplest npppd.conf sample
#
# $Id: HOWTO_PIPEX_NPPPD.txt,v 1.3 2010/09/26 06:54:44 yasuoka Exp $

interface_list:                         tun0
interface.tun0.ip4addr:                 10.0.0.1

# IP address pool
pool.dyna_pool:                         10.0.0.0/25
pool.pool:                              10.0.0.128/25

# Authentication
auth.local.realm_list:                  local
auth.local.realm.acctlist:              /etc/npppd/npppd-users.csv
realm.local.concentrate:                tun0

lcp.mru:                                1400
auth.method:                            mschapv2 chap
#auth.method:                           mschapv2 chap pap
#ipcp.dns_primary:                      192.168.4.20
#ipcp.dns_secondary:                    192.168.6.20
#ipcp.nbns_primary:                     192.168.4.20
#ipcp.nbns_secondary:                   192.168.6.20
#ipcp.assign_fixed:                     true
#ipcp.assign_userselect:                true

pptpd.enabled:                          true
pptpd.ip4_allow:                        0.0.0.0/0
#pptpd.listener_in:                     PPTP 192.168.0.1

# L2TP daemon
l2tpd.enabled:                          true
l2tpd.ip4_allow:                        0.0.0.0/0
#l2tpd.listener_in:                     L2TP 192.168.0.1
#l2tpd.purge_ipsec_sa:                  true
l2tpd.require_ipsec:                    false

# PPPoE daemon
#pppoed.enabled:                                true
#pppoed.interface:                      PPPoE vic0
-------------------------------------------------------------------------------

[npppd-users.csv]
  - First line of the CSV is *IGNORED*.  It is treated as a title line.
-------------------------------------------------------------------------------
Username,Password,Framed-IP-Address,Framed-IP-Netmask,Description,Calling-Id
user1,user1's secret,10.0.0.129,,memo for user1
-------------------------------------------------------------------------------
