Beeline (Corbina) VPN - поднятие интернета под Gentoo

Материал из AlexNook
Перейти к: навигация, поиск

Материал полностью основан на топике пользователя nE0sIghT, который очень грамотно подошёл к решению этого вопроса и создал очень подробный и "рабочий" мануал. Однако, сюда вошло и немного из данной статьи, которую я писал ранее.

Важное замечание: в OnLime я пробыл недолго - пару месяцев или окло того. Грубая блокировка портов без возможности регулирования этого процесса мне не понравилась. Якобы это сделано для нашей безопастности, НО тот же билайн предлагает выбор между "блокировать такие-то порты или нет".

Причины модернизации настроек интернета

В принципе, можно пользоваться и тем подходом, который указан в этой статье, но по мимо явного косяка того мануала, заключающегося в постоянном создании нового интерфейся и потом его уничтожения, что загромождало бесконечно логи, после обновления OpenRC всплыла проблема с миграцией /var/run/ в /run/. Так же как плюс сам автор данного подхода приводит отсутствие необходимости в прописывании маршрутов - всё забирается автоматом. В принципе это так же очень хорошо, однако, в моём случае это не было большой проблемой.

Настройка параметров ядра

Linux Kernel Configuration: 3.1.6 kernel config
Device Drivers  --->
	[*] Network device support  --->
	<*>   PPP (point-to-point protocol) support
	[*]     PPP multilink support (EXPERIMENTAL)
	[*]     PPP filtering
	<*>     PPP support for async serial ports
	<*>     PPP support for sync tty ports
	<*>     PPP Deflate compression
	<*>     PPP BSD-Compress compression
	<*>     PPP MPPE compression (encryption) (EXPERIMENTAL)
	<*>     PPP over Ethernet (EXPERIMENTAL)
	<*>     PPP over L2TP (EXPERIMENTAL)

Проверим, что всё включено верно:

zcat /proc/config.gz
File: /usr/src/linux/.config
  1. CONFIG_PPP=y
  2. CONFIG_PPP_MULTILINK=y
  3. CONFIG_PPP_FILTER=y
  4. CONFIG_PPP_ASYNC=y
  5. CONFIG_PPP_SYNC_TTY=y
  6. CONFIG_PPP_DEFLATE=y
  7. CONFIG_PPP_BSDCOMP=y
  8. CONFIG_PPP_MPPE=y
  9. CONFIG_PPPOE=y
  10. CONFIG_PPPOL2TP=y

Необходимые пакеты и параметры их компиляции

Для начала нужно поставить следующие пакеты в систему:

Use Flags: dnsretry -kernel (?)
Use Flags: dhcp -ipv6 pam -activefilter -atm -eap -tls -gtk -radius (?)
Use Flags: client -ipv6 server ssl -ldap -selinux -vim-syntax (?)
Use Flags: nls arp hostname -static (?)

Хочу обратить внимание на отсутствие флага kernel у net-dialup/xl2tpd. Хотя без него он и будет писать в логи, что нет поддержки ядром - с включённой данной поддержкой работоспособность исчезает из-за настроект ядра.

Так же у меня стояли пакеты в системе

но автор оригинальной инструкции их не упоминает, и я думаю они не нужны в общем-то.

Установка пакетов программ

Необходимо поправить файл /etc/portage/package.use, куда внести нужные флаги компиляции нашего софта. После чего выполнить как обычно emerge:

emerge net-misc/dhcp
emerge net-dialup/ppp
emerge sys-apps/net-tools
emerge net-dialup/xl2tpd

Конфигурационные файлы и службы, которые надо настроить

Для корректной работы интернета нам потребуются следующие конфигурационные файлы:

  • /etc/dhcp/dhclient.conf
  • /etc/dhcp/dhclient-exit-hooks
  • /etc/xl2tpd/xl2tpd.conf
  • /etc/ppp/ip-up.d/45-ppp0.sh
  • /etc/ppp/options
  • /etc/ppp/options.xl2tp
  • /etc/ppp/chap-secrets
  • /etc/conf.d/net


Причём, если такого файла у вас нет изначально, то создайте его!

Начнём с настройки DHCP клиента

nano /etc/dhcp/dhclient.conf
File: /etc/dhcp/dhclient.conf
  1. option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
  2. option ms-classless-static-routes code 249 = array of unsigned integer 8;
  3.  
  4. supersede dhcp-server-identifier 255.255.255.255;
  5. request subnet-mask, broadcast-address, time-offset,
  6.                 routers, static-routes, domain-name, domain-name-servers,
  7.                 domain-search, interface-mtu,
  8.                 rfc3442-classless-static-routes, ms-classless-static-routes;
  9.  
  10. timeout 40;
  11. retry 30;


nano /etc/dhcp/dhclient-exit-hooks
File: /etc/dhcp/dhclient-exit-hooks
  1. #!/bin/sh
  2.  
  3. if [ x"$new_rfc3442_classless_static_routes" != x"" ]; then
  4.         if [ x"$reason" == x"BOUND" -o x"$reason" == x"REBOOT" ]; then
  5.                 rfc_routes=($new_rfc3442_classless_static_routes)
  6.  
  7.                 for(( i=0; i < ${#rfc_routes[@]}; )); do
  8.                         net_length=${rfc_routes[$i]}
  9.                         ((i++))
  10.  
  11.                         net_address=(0 0 0 0)
  12.                         for(( j=0; j < $[$net_length / 8 + ($net_length % 8 ? 1 : 0)]; j++, i++)); do
  13.                                 net_address[$j]=${rfc_routes[$i]}
  14.                         done
  15.  
  16.                         gateway=(0 0 0 0)
  17.                         for (( j=0; j < 4; j++, i++ )); do
  18.                                 gateway[$j]=${rfc_routes[$i]}
  19.                         done
  20.  
  21.                         old_IFS="$IFS"
  22.                         IFS='.'
  23.  
  24.                         if [[ -n "$(which ip 2>/dev/null)" ]]; then
  25.                                 ip route replace "${net_address[*]}/$net_length" via "${gateway[*]}"
  26.                         else
  27.                                 if [[ -n "$(which route 2>/dev/null)" ]]; then
  28.                                         if [ x"$net_length" == x"32" ]; then
  29.                                                 route add -host "${net_address[*]}" gw "${gateway[*]}"
  30.                                         else
  31.                                                 route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}"
  32.                                         fi
  33.                                 fi
  34.                         fi
  35.  
  36.                         IFS="$old_IFS"
  37.                 done
  38.         fi
  39. fi
  40.  
  41.  
  42. if [ x"$new_ms_classless_static_routes" != x"" ]; then
  43.         if [ x"$reason" == x"BOUND" -o x"$reason" == x"REBOOT" ]; then
  44.                 ms_routes=($new_ms_classless_static_routes)
  45.  
  46.                 for(( i=0; i < ${#ms_routes[@]}; )); do
  47.                         net_length=${ms_routes[$i]}
  48.                         ((i++))
  49.  
  50.                         net_address=(0 0 0 0)
  51.                         for(( j=0; j < $[$net_length / 8 + ($net_length % 8 ? 1 : 0)]; j++, i++)); do
  52.                                 net_address[$j]=${ms_routes[$i]}
  53.                         done
  54.  
  55.                         gateway=(0 0 0 0)
  56.                         for (( j=0; j < 4; j++, i++ )); do
  57.                                 gateway[$j]=${ms_routes[$i]}
  58.                         done
  59.  
  60.                         old_IFS="$IFS"
  61.                         IFS='.'
  62.  
  63.                         if [[ -n "$(which ip 2>/dev/null)" ]]; then
  64.                                 ip route replace "${net_address[*]}/$net_length" via "${gateway[*]}"
  65.                         else
  66.                                 if [[ -n "$(which route 2>/dev/null)" ]]; then
  67.                                         if [ x"$net_length" == x"32" ]; then
  68.                                                 route add -host "${net_address[*]}" gw "${gateway[*]}"
  69.                                         else
  70.                                                 route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}"
  71.                                         fi
  72.                                 fi
  73.                         fi
  74.  
  75.                         IFS="$old_IFS"
  76.                 done
  77.         fi
  78. fi

Даём права на исполнение:

chmod a+x /etc/dhcp/dhclient-exit-hooks

Конфигурирование L2TP

nano /etc/xl2tpd/xl2tpd.conf
File: /etc/xl2tpd/xl2tpd.conf
  1. [global]
  2. access control = yes
  3.  
  4. [lac beeline]
  5. lns = tp.internet.beeline.ru
  6. name = VASH_LOGIN_V_BEELINE
  7. redial = yes
  8. redial timeout = 5
  9. ppp debug = yes
  10. pppoptfile = /etc/ppp/options.xl2tp
  11. autodial = yes
  12. flow bit = no
  13. require chap = yes
  14. require pap = no
  15. refuse chap = no
  16. refuse pap = yes
  17. tx bps = 1000000000

разбор некоторых опций xl2tpd.conf:

  • [lac beeline] - вместо beeline можно указать всё, что угодно
  • lns = tp.internet.beeline.ru - адрес, куда коннектиться для поднятия туннеля (также можно явно указывать ip)
  • redial = yes - при потере связи пробовать установить связь снова
  • redial timeout = 5 - время между попытками переустановить связь после обрыва (в секундах)
  • require chap = yes - нужна chap аутентификатия.
  • name VASH_LOGIN_V_BEELINE - наш логин в билайне
  • ppp debug = yes - вывод подробной информации демона pppd для нашего соединения в syslog
  • pppoptfile = /etc/ppp/options.xl2tp - путь к конфигу для демона pppd
  • require pap = no - pap аутентификация не нужна
  • refuse pap = yes - запретить pap аутентификацию
  • autodial = yes - при запуске xl2tpd сразу начинает устанавливать соединение
  • tx bps - указываем, что у нас гигабитный интерфейс, куда подключён билайн
Note: Не забудь-те под себя изменить VASH_LOGIN_V_BEELINE на ваш логин в Билайне


nano /etc/ppp/ip-up.d/45-ppp0.sh
File: /etc/ppp/ip-up.d/45-ppp0.sh
  1. #!/bin/sh
  2.  
  3. export PATH="$PATH"
  4.  
  5. # Указываете интерфейс, через который будет подниматься vpn
  6. DEPEND="eth0"
  7. # Указываете интерфейс туннеля
  8. L2TP="ppp0"
  9.  
  10. # Дополнительные статические маршруты для локалки
  11. ROUTES="
  12.         195.14.50.0/27
  13.         78.106.0.0/15
  14. "
  15. vpn="${5}"
  16.  
  17. [[ "${1}" != "${L2TP}" ]] && exit 0
  18.  
  19. if [[ -n "$(which ip 2>/dev/null)" ]]; then
  20.         gw=`ip route | awk "{ if(\\$1 == \"default\" && \\$5 == \"${DEPEND}\") print \\$3 }"`
  21.         if [ -n "${gw}" ]; then
  22.                 ip route replace ${vpn} via ${gw}
  23.                 ip route replace 224.0.0.0/4 dev ${DEPEND}
  24.  
  25.                 ip route replace default dev ${1} metric 0
  26.                 ip route replace default via ${gw}  metric 1
  27.  
  28.                 for i in ${ROUTES}; do
  29.                         ip route replace ${i} via ${gw}
  30.                 done
  31.         fi
  32. else
  33.         if [[ -n "$(which route 2>/dev/null)" ]]; then
  34.                 gw=`route -n | awk "{ if (\\$1 == \"0.0.0.0\" && \\$8 == \"${DEPEND}\") print \\$2 }"`
  35.                 if [ -n "${gw}" ]; then
  36.                         route add ${vpn} gw ${gw}
  37.                         route add -net 224.0.0.0/4 ${DEPEND}
  38.  
  39.                         route del default
  40.                         route add default dev ${1} metric 0
  41.                         route add default gw ${gw} metric 1
  42.  
  43.                         for i in ${ROUTES}; do
  44.                                 route add -net ${i} gw ${gw}
  45.                         done
  46.                 fi
  47.         fi
  48. fi
Note: Не забудь-те под себя изменить переменные DEPEND и L2TP
nano /etc/ppp/options
File: /etc/ppp/options
  1. lcp-echo-failure 10
  2. lcp-echo-adaptive
  3. lcp-echo-interval 60


nano /etc/ppp/options.xl2tp
File: /etc/ppp/options.xl2tp
  1. name VASH_LOGIN_V_BEELINE
  2. remotename beeline
  3. mru 1460
  4. mtu 1460
  5. noaccomp
  6. nopcomp
  7. novj
  8. novjccomp
  9. nobsdcomp
  10. nodeflate
  11. noipx
  12. nomp
  13. defaultroute
  14. unit 0

разбор опций /etc/ppp/options.xl2tp:

  • name VASH_LOGIN_V_BEELINE - наш логин в билайне
  • remotename beeline - метка для удаленного сервера (все равно, что писать)
  • mru 1460 и mtu 1460 - настройка MRU и MTU пакетов, обратить внимание на этот подраздел
  • nodeflate - выключает сжатие пакетов по схеме deflate
  • nobsdcomp - выключает сжатие пакетов по схеме bsd-compression (да и Корбина это не поддерживает вроде)
  • nopcomp - запрещает "договариваться" о сжатии пакетов как на приём, так и на передачу
  • noaccomp - запрещает сжатие Address/Control как на приём, так и на передачу
  • defaultroute - маршрут по умолчанию через наш ppp интерфейс.
Note: Не забудь-те под себя изменить VASH_LOGIN_V_BEELINE на ваш логин в Билайне. Так же важно обратить внимание на unit 0. Цифра 0 показывает, что используется ppp0, если у вас другой номер, то поменяйте на свой.


nano /etc/ppp/chap-secrets
File: /etc/ppp/chap-secrets
  1. # Secrets for authentication using CHAP
  2. # client        server  secret                  IP addresses
  3. VASH_LOGIN_V_BEELINE * VASH_PAROL_V_BEELINE *
Note: Не забудь-те под себя изменить VASH_LOGIN_V_BEELINE на ваш логин в Билайне, а VASH_PAROL_V_BEELINE на ваше пароль в билайне. В этой строке 4 параметра! Лоигн, сервер (звёздочка означает для всех), пароль и ip адрес.

Настройки сетевых интерфейсов - NET

Старый конфиг

nano /etc/conf.d/net
File: /etc/conf.d/net
  1. #настройки моей домашней сети eth1
  2. dns_domain_lo="homenetwork"
  3. config_eth1="192.168.0.1 netmask 255.255.255.0"
  4.  
  5. #Настройки билайна
  6. #Есть возможность заменить на openl2tpd и использовать его
  7. L2TP_BACKEND="xl2tpd"
  8. # Таймаут ожидания поднятия l2tp
  9. L2TP_TIMEOUT=20
  10.  
  11. # Указываете интерфейс, через который будет подниматься vpn (он будет смотреть в локалку билайна). У меня eth0
  12.  
  13. # Если отличается от указанного - меняете здесь и ниже в 2х строках _eth0 на свой
  14. DEPEND="eth0"
  15. # Указываете интерфейс туннеля
  16.  
  17. # Если отличается от указанного - меняете здесь и ниже в 2х строках _ppp0 на свой
  18. L2TP="ppp0"
  19.  
  20. #Поменять eth0 на нужный
  21. config_eth0="dhclient"
  22. #Поменять eth0 на нужный
  23. dhclient_eth0="-nw"
  24.  
  25. #Поменять ppp0 на нужный
  26. config_ppp0="null"
  27. #Поменять ppp0 на нужный
  28. depend_ppp0() {
  29.         need net.${DEPEND}
  30. }
  31.  
  32. check_module () {
  33.         if ! [[ -f /proc/net/pppol2tp ]]; then
  34.                 ebegin "Loading l2tp module"
  35.                         # try both new and old module names
  36.                         modprobe l2tp_ppp 2>/dev/null || modprobe pppol2tp 2>/dev/null
  37.                 eend $?.
  38.         fi
  39. }
  40.  
  41. checkconfig() {
  42.         if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
  43.                 if [[ ! -f /etc/xl2tpd/xl2tpd.conf ]] ; then
  44.                         eerror "Missing /etc/xl2tpd/xl2tpd.conf configuration file!"
  45.                         eerror "Example configuration file could be found in doc directory."
  46.                         return 1
  47.                 fi
  48.  
  49.                 if [ ! -d /var/run/xl2tpd ] ; then
  50.                         checkpath -d -m 755 /var/run/xl2tpd
  51.                 fi
  52.         fi
  53.  
  54.         return 0
  55. }
  56.  
  57. preup() {
  58.         if [ -z "${L2TP_BACKEND}" ]; then
  59.                 L2TP_BACKEND="xl2tpd"
  60.         fi
  61.  
  62.         checkconfig || return 1
  63.  
  64.         if [ x"${IFACE}" = x"${L2TP}" ]; then
  65.                 if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
  66.                         start-stop-daemon --start --quiet --exec /usr/sbin/xl2tpd
  67.                 else
  68.                         check_module
  69.                         start-stop-daemon --start --quiet --exec /usr/sbin/openl2tpd
  70.                 fi
  71.  
  72.                 iface_timer=0
  73.                 while [ $iface_timer -lt $L2TP_TIMEOUT ]; do
  74.                         if [ -n "$(ifconfig | grep ${IFACE})" ]; then
  75.                                 eend 0
  76.                                 return 0
  77.                         else
  78.                                 if [ ${iface_timer} -eq 0 ]; then
  79.                                         einfo "Waiting for l2tp..."
  80.                                 fi
  81.                                 sleep 1
  82.                                 ((iface_timer++))
  83.                         fi
  84.                 done
  85.  
  86.                 cleanup_l2tp
  87.                 eend 1
  88.                 return 1
  89.         fi
  90.  
  91.         return 0
  92. }      
  93.  
  94. predown() {
  95.         if [ -z "${L2TP_BACKEND}" ]; then
  96.                 L2TP_BACKEND="xl2tpd"
  97.         fi
  98.  
  99.         if [ x"${IFACE}" = x"${L2TP}" ]; then
  100.                 cleanup_l2tp
  101.         fi
  102.         return 0
  103. }
  104.  
  105. cleanup_l2tp() {
  106.         if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
  107.                 start-stop-daemon --stop --quiet --pidfile /var/run/xl2tpd.pid
  108.  
  109.                 if [ -n "$(pidof xl2tpd)" ]; then
  110.                         killall -9 xl2tpd > /dev/null 2>&1
  111.                 fi
  112.  
  113.                 if [ -e /var/run/xl2tpd.pid ]; then
  114.                         rm -f /var/run/xl2tpd.pid
  115.                 fi
  116.         else
  117.                 start-stop-daemon --stop --quiet --pidfile /var/run/openl2tpd.pid
  118.  
  119.                 if [ -n "$(pidof openl2tpd)" ]; then
  120.                         killall -9 openl2tpd > /dev/null 2>&1
  121.                 fi
  122.  
  123.                 if [ -e /var/run/openl2tpd.pid ]; then
  124.                         rm -f /var/run/openl2tpd.pid
  125.                 fi
  126.         fi
  127.  
  128.         killall pppd > /dev/null 2>&1
  129.         if [ -n "$(pidof pppd)" ]; then
  130.                 killall -9 pppd > /dev/null 2>&1
  131.         fi
  132. }


Note: Файл постарался, где возможно и нужно снабдить комментариями. Настройки моей домашней сети можно удалить, если у вас всё по другому.

Под себя нужно в конфиге изменить:

  • L2TP_BACKEND - имя используемого пакета для l2tp
  • DEPEND - имя сетевого интерфейса, который будет смотреть в локалку билайна и через который мы поднимем тунель
  • L2TP - название интерфейса тунеля
Note: Обратите внимание на опиции config_eth0, dhclient_eth0, config_ppp0, depend_ppp0(). Их нужно так же поправить под себя в зависимости от значений тех переменных, которые указаны выше.

Замечание с маршрутами (относится только к старому конфигу)

По началу у меня вылезала ошибка схожая по описанию с вот этим. То есть устанавливается конект, проходится авторизация, всё вроде работает, НО интернета нет, а попутно отсылаются куда-то десятки гигабайт, а в качестве приёма значатся жалкие 40 или около того килобайт. Как я понял это проблема маршрутизации. После чего попался на глаза вот это сообщение. В последней версии sys-apps/net-tools имеет другой вывод ifconfig. У меня стояла старая версия этого программного продукта, соответственно в файле найстроек сети мне пришлось обратить внимание на данные 2 строчки:

File: /etc/conf.d/net
  1.         vpn=`ifconfig | grep -A1 ${IFACE} | grep -i p-t-p | awk '{ print $3 }' | sed  's/p-t-p://gi'`
  2.         #vpn=`ifconfig | grep -A1 ${IFACE} | grep -i dest | awk '{ print $6 }'`

Первая работает со старой версией программы, а вторая с новой. Соответственно я поступил следующим образом - обновил sys-apps/net-tools, но с использованием фллага old-output, что позволило маршрутам прописаться верно.

Note: тем у кого стоит новая версия программы, но без опции old-output нужно закомментировать первую строчку в /etc/conf.d/net и раскомментировать вторую.

Аналогично обратите внимание на функцию predown() { - там аналогичная проблема.

Настраиваем автозапуск

Добавляем в автозапуск нашу ppp0 службу. То есть по сути создаваемый нами сетевой интерфейс ppp0 должен запускаться =).

rc-update add net.ppp0 default
rc-update add net.eth0 default

Настройка FireWall IpTables (ppp и mtu)

Всё уже описано вот тут.

Настройка переподнятия интерфейса в случае его падения

А этот раздел я описал вот тут, хотя можно воспользоваться и постом Werebear тут

Проверка настроек и работоспособности

Чуть ниже приведу команды и их вывод в рабочей ситуации:

equery f net-dialup/xl2tpd
File: equery f net-dialup/xl2tpd | grep init.d
  1. /etc/init.d
  2. /etc/init.d/xl2tpd


route -n
File: route -n
  1. Kernel IP routing table
  2. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  3. 0.0.0.0         78.107.1.253    0.0.0.0         UG    0      0        0 ppp0
  4. 0.0.0.0         10.134.40.1     0.0.0.0         UG    2      0        0 eth0
  5. 10.134.40.0     0.0.0.0         255.255.248.0   U     0      0        0 eth0
  6. 78.106.0.0      10.134.40.1     255.254.0.0     UG    0      0        0 eth0
  7. 78.107.1.253    10.134.40.1     255.255.255.255 UGH   0      0        0 eth0
  8. 78.107.1.253    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
  9. 127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo
  10. 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
  11. 195.14.50.0     10.134.40.1     255.255.255.224 UG    0      0        0 eth0
  12. 224.0.0.0       10.134.40.1     240.0.0.0       UG    0      0        0 eth0


ifconfig
File: ifconfig
  1. eth0      Link encap:Ethernet  HWaddr 00:22:15:64:00:4f
  2.           inet addr:10.XXX.XX.XXX  Bcast:10.134.47.255  Mask:255.255.248.0
  3.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  4.           RX packets:4722895 errors:0 dropped:0 overruns:0 frame:0
  5.           TX packets:4220628 errors:0 dropped:0 overruns:0 carrier:0
  6.           collisions:0 txqueuelen:1000
  7.           RX bytes:1301575310 (1.2 GiB)  TX bytes:3009947951 (2.8 GiB)
  8.           Interrupt:18
  9.  
  10. eth1      Link encap:Ethernet  HWaddr 00:22:15:63:eb:fd
  11.           inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
  12.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  13.           RX packets:1013353 errors:0 dropped:0 overruns:0 frame:0
  14.           TX packets:1095580 errors:0 dropped:0 overruns:0 carrier:0
  15.           collisions:0 txqueuelen:1000
  16.           RX bytes:180899060 (172.5 MiB)  TX bytes:1489050408 (1.3 GiB)
  17.           Interrupt:17
  18.  
  19. lo        Link encap:Local Loopback
  20.           inet addr:127.0.0.1  Mask:255.0.0.0
  21.           UP LOOPBACK RUNNING  MTU:16436  Metric:1
  22.           RX packets:571251 errors:0 dropped:0 overruns:0 frame:0
  23.           TX packets:571251 errors:0 dropped:0 overruns:0 carrier:0
  24.           collisions:0 txqueuelen:0
  25.           RX bytes:75043993 (71.5 MiB)  TX bytes:75043993 (71.5 MiB)
  26.  
  27. ppp0      Link encap:Point-to-Point Protocol
  28.           inet addr:78.107.XXX.XX  P-t-P:78.107.1.253  Mask:255.255.255.255
  29.           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
  30.           RX packets:3981149 errors:0 dropped:0 overruns:0 frame:0
  31.           TX packets:4153990 errors:0 dropped:0 overruns:0 carrier:0
  32.           collisions:0 txqueuelen:3
  33.           RX bytes:991917926 (945.9 MiB)  TX bytes:2773901467 (2.5 GiB)
rc-status
File: rc-status
  1. net.eth0                [  started  ]
  2. net.ppp0                [  started  ]
  3. net.eth1                [  started  ]
  4. dhcpd                   [  started  ]
less /var/log/daemon.log
File: /var/log/daemon.log
  1. Feb 24 22:14:49 router_a dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
  2. Feb 24 22:14:50 router_a xl2tpd[4237]: setsockopt recvref[30]: Protocol not available
  3. Feb 24 22:14:50 router_a xl2tpd[4237]: This binary does not support kernel L2TP.
  4. Feb 24 22:14:50 router_a xl2tpd[4238]: xl2tpd version xl2tpd-1.3.1 started on router_a PID:4238
  5. Feb 24 22:14:50 router_a xl2tpd[4238]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
  6. Feb 24 22:14:50 router_a xl2tpd[4238]: Forked by Scott Balmos and David Stipp, (C) 2001
  7. Feb 24 22:14:50 router_a xl2tpd[4238]: Inherited by Jeff McAdams, (C) 2002
  8. Feb 24 22:14:50 router_a xl2tpd[4238]: Forked again by Xelerance (www.xelerance.com) (C) 2006
  9. Feb 24 22:14:50 router_a xl2tpd[4238]: Listening on IP address 0.0.0.0, port 1701
  10. Feb 24 22:14:50 router_a xl2tpd[4238]: Y: Host name lookup failed for tp.internet.beeline.ru. Trying to look again in 5 seconds.
  11. Feb 24 22:14:54 router_a dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
  12. Feb 24 22:14:54 router_a dhclient: DHCPACK from 10.6.182.11
  13. Feb 24 22:14:54 router_a dhclient: bound to 10.XXX.XX.XXX -- renewal in 237079 seconds.
  14. Feb 24 22:14:55 router_a xl2tpd[4238]: Connecting to host tp.internet.beeline.ru, port 1701
  15. Feb 24 22:14:55 router_a xl2tpd[4238]: Connection established to 78.107.1.253, 1701.  Local: 47713, Remote: 51326 (ref=0/0).
  16. Feb 24 22:14:55 router_a xl2tpd[4238]: Calling on tunnel 47713
  17. Feb 24 22:14:55 router_a xl2tpd[4238]: Call established with 78.107.1.253, Local: 43650, Remote: 48122, Serial: 1 (ref=0/0)
  18. Feb 24 22:14:55 router_a xl2tpd[4238]: start_pppd: I am running:
  19. Feb 24 22:14:55 router_a xl2tpd[4238]: "/usr/sbin/pppd"
  20. Feb 24 22:14:55 router_a xl2tpd[4238]: "passive"
  21. Feb 24 22:14:55 router_a xl2tpd[4238]: "nodetach"
  22. Feb 24 22:14:55 router_a xl2tpd[4238]: ":"
  23. Feb 24 22:14:55 router_a xl2tpd[4238]: "refuse-pap"
  24. Feb 24 22:14:55 router_a xl2tpd[4238]: "name"
  25. Feb 24 22:14:55 router_a xl2tpd[4238]: "VASH_LOGIN_V_BEELINE"
  26. Feb 24 22:14:55 router_a xl2tpd[4238]: "debug"
  27. Feb 24 22:14:55 router_a xl2tpd[4238]: "file"
  28. Feb 24 22:14:55 router_a xl2tpd[4238]: "/etc/ppp/options.xl2tp"
  29. Feb 24 22:14:55 router_a xl2tpd[4238]: "ipparam"
  30. Feb 24 22:14:55 router_a xl2tpd[4238]: "78.107.1.253"
  31. Feb 24 22:14:55 router_a xl2tpd[4238]: "/dev/pts/0"
  32. Feb 24 22:14:55 router_a pppd[4269]: pppd 2.4.5 started by root, uid 0
  33. Feb 24 22:14:55 router_a pppd[4269]: using channel 1
  34. Feb 24 22:14:55 router_a pppd[4269]: Using interface ppp0
  35. Feb 24 22:14:55 router_a pppd[4269]: Connect: ppp0 <--> /dev/pts/0
  36. Feb 24 22:14:55 router_a pppd[4269]: sent [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0x0> <magic 0xfcab3447>]
  37. Feb 24 22:14:55 router_a pppd[4269]: rcvd [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0xad0768ce> <pcomp> <accomp>]
  38. Feb 24 22:14:55 router_a pppd[4269]: sent [LCP ConfRej id=0x1 <pcomp> <accomp>]
  39. Feb 24 22:14:55 router_a pppd[4269]: rcvd [LCP ConfAck id=0x1 <mru 1460> <asyncmap 0x0> <magic 0xfcab3447>]
  40. Feb 24 22:14:55 router_a pppd[4269]: rcvd [LCP ConfReq id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0xad0768ce>]
  41. Feb 24 22:14:55 router_a pppd[4269]: sent [LCP ConfAck id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0xad0768ce>]
  42. Feb 24 22:14:55 router_a pppd[4269]: sent [LCP EchoReq id=0x0 magic=0xfcab3447]
  43. Feb 24 22:14:55 router_a pppd[4269]: rcvd [LCP EchoRep id=0x0 magic=0xad0768ce]
  44. Feb 24 22:14:55 router_a pppd[4269]: rcvd [CHAP Challenge id=0x1 <09c06eds349d2ms9oh12cc7f6c5b46f1>, name = "bras508.msk"]
  45. Feb 24 22:14:55 router_a pppd[4269]: sent [CHAP Response id=0x1 <bacccf787496c7cb97ds349d2ms9oh49>, name = "VASH_LOGIN_V_BEELINE"]
  46. Feb 24 22:14:55 router_a pppd[4269]: rcvd [CHAP Success id=0x1 ""]
  47. Feb 24 22:14:55 router_a pppd[4269]: CHAP authentication succeeded
  48. Feb 24 22:14:55 router_a pppd[4269]: CHAP authentication succeeded
  49. Feb 24 22:14:55 router_a pppd[4269]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
  50. Feb 24 22:14:55 router_a pppd[4269]: rcvd [IPCP ConfReq id=0x1 <addr 78.107.1.253>]
  51. Feb 24 22:14:55 router_a pppd[4269]: sent [IPCP ConfAck id=0x1 <addr 78.107.1.253>]
  52. Feb 24 22:14:55 router_a pppd[4269]: rcvd [IPCP ConfNak id=0x1 <addr 78.107.250.18>]
  53. Feb 24 22:14:55 router_a pppd[4269]: sent [IPCP ConfReq id=0x2 <addr 78.107.250.18>]
  54. Feb 24 22:14:55 router_a pppd[4269]: rcvd [IPCP ConfAck id=0x2 <addr 78.107.250.18>]
  55. Feb 24 22:14:55 router_a pppd[4269]: local  IP address 78.107.XXX.XX
  56. Feb 24 22:14:55 router_a pppd[4269]: remote IP address 78.107.1.253
  57. Feb 24 22:14:55 router_a pppd[4269]: Script /etc/ppp/ip-up started (pid 4273)
  58. Feb 24 22:14:55 router_a /etc/init.d/net.ppp0[4281]: status: starting
  59. Feb 24 22:14:55 router_a pppd[4269]: Script /etc/ppp/ip-up finished (pid 4273), status = 0x1


Ссылки

  • Тема в форуме Корбины, которая легла в основу данного мануала.
  • Тема, где можно посмотреть пояснения некоторых параметров для xl2tpd.conf
  • Тема, полезная для прочтения.