Инсталляция необходимого ПО
# yum install -y xl2tpd
# chkconfig --level 345 xl2tpd on
Настройка
# cp /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.bkp
# nano /etc/xl2tpd/xl2tpd.conf
[global]
access control = yes
auth file = /etc/ppp/chap-secrets
[lac moyvpn]
lns = vpn.domen.ru
redial = yes
redial timeout = 10
require chap = yes
require authentication = no
name = имя_пользователя
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tunnel rws = 8
tx bps = 100000000
flow bit = no
# cp /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.bkp
# nano /etc/ppp/options.xl2tpd
asyncmap 0000
name имя_пользователя
remotename L2TP
ipparam moyvpn
connect /bin/true
mru 1460
mtu 1460
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
noauth
novj
novjccomp
noipx
nomp
refuse-eap
refuse-pap
unit 0
# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bkp
# nano /etc/ppp/chap-secrets
имя_пользователя * пароль *
# service xl2tpd start
Ждем получения ip адреса (по разному от сразу до 3-х минут).
# less /var/log/messages
Jan 5 21:00:07 gateway pppd[7958]: local IP address 95.31.31.8
Jan 5 21:00:07 gateway pppd[7958]: remote IP address 85.21.0.243
Появляется интерфейс ppp0
# ifconfig ppp
ppp0 Link encap:Point-to-Point Protocol
inet addr:95.31.31.8 P-t-P:78.107.1.154 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1460 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:87540191 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:30 (30.0 b) TX bytes:39058515021 (36.3 GiB)
Таблица маршрутизации выглядит следующим образом.
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
bras409-l0.msk. * 255.255.255.255 UH 0 0 0 ppp0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
10.111.0.0 * 255.255.248.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
default 10.111.0.1 0.0.0.0 UG 0 0 0 eth0
Получаю данные о присвоенном Default Gateway
# eth0_gw=`/sbin/route -n | awk '/^0.0.0.0/ {print $2}'`
# echo $eth0_gw
10.111.0.1
Получаю данные о присвоенном нам сервере авторизации L2TP
# vpn_server=`/sbin/route -n | awk '/ppp0/ {print $1}'`
# echo $vpn_server
85.21.0.243
Возможно, что предварительно нужно прописать маршруты до dns и до l2pt сервера.
Последний раз когда настраивал, прокатило и без них.
route add -host 85.21.192.3 gw $eth0_gw
route add -host 213.234.192.8 gw $eth0_gw
route add -host 85.21.192.5 gw $eth0_gw
# route del default
# route add default dev ppp0
# route add -host $vpn_server gw $eth0_gw
Вот что получилось. (Поднят ppp интерфейс и по умолчанию пакеты отправляются ему).
При этом маршрут до L2TP сервера должен быть прописан. (Иначе, сервер не знает где ему авторизовываться, интерфейс ppp падает, все перестает работать).
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
85.21.0.243 10.111.0.1 255.255.255.255 UGH 0 0 0 eth0
85.21.0.243 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.111.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Пинг пошел.
# ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=55 time=3.91 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=2 ttl=55 time=4.00 ms
Остается только настроить
NAT.
-----------------------------------------------------
Если нужно добавить статические маршруты, можно это сделать в файле:
# vi /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/8 via 10.111.0.1
62.205.179.146 via 10.111.0.1
85.21.79.0/24 via 10.111.0.1
85.21.90.0/24 via 10.111.0.1
85.21.52.198 via 10.111.0.1
85.21.52.254 via 10.111.0.1
85.21.138.3 via 10.111.0.1
83.102.146.96/27 via 10.111.0.1
83.102.237.231 via 10.111.0.1
195.14.50.1 via 10.111.0.1
195.14.50.3 via 10.111.0.1
195.14.50.16 via 10.111.0.1
195.14.50.26 via 10.111.0.1
85.21.192.3 via 10.111.0.1
213.234.192.8 via 10.111.0.1
85.21.192.5 via 10.111.0.1