username2

Пытаюсь настроить в ручную L2TP в crunchbangplusplus

Рекомендованные сообщения

crunchbangplusplus - разновидность операционной системы debian 9 stretch

1. отключил nm-applet в openbox autostart, но апплет networkmanager всё равно продолжает стартовать

2. добавил строки в /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

3. создал /etc/ppp/ip-up.d/45-ppp0.sh

#!/bin/sh

export PATH="$PATH"

# Указываете интерфейс, через который будет подниматься vpn
DEPEND="beeline"
# Указываете интерфейс туннеля
L2TP="ppp0"

# Дополнительные статические маршруты для локалки
ROUTES="
   195.14.50.0/27
   78.106.0.0/15
"
vpn="${5}"

[[ "${1}" != "${L2TP}" ]] && return 0

if [[ -n "$(which ip 2>/dev/null)" ]]; then
   gw=`ip route | awk "{ if(\\$1 == \"default\" && \\$5 == \"${DEPEND}\") print \\$3 }"`
   if [ -n "${gw}" ]; then
       ip route replace ${vpn} via ${gw}
       ip route replace 224.0.0.0/4 dev ${DEPEND}

       ip route replace default dev ${1} metric 0
       ip route replace default via ${gw}  metric 1

       for i in ${ROUTES}; do
           ip route replace ${i} via ${gw}
       done
   fi
else
   if [[ -n "$(which route 2>/dev/null)" ]]; then
gw=`route -n | awk "{ if (\\$1 == \"0.0.0.0\" && \\$8 == \"${DEPEND}\") print \\$2 }"`
if [ -n "${gw}" ]; then
    route add ${vpn} gw ${gw}
    route add -net 224.0.0.0/4 ${DEPEND}

    route del default
    route add default dev ${1} metric 0
    route add default gw ${gw} metric 1

    for i in ${ROUTES}; do
        route add -net ${i} gw ${gw}
    done
fi
   fi
fi

4. в файл /etc/xl2tpd/xl2tpd.conf добавил строки

[global]
access control = yes

[lac beeline]
lns = tp.internet.beeline.ru
name = логин_интернета
redial = yes
redial timeout = 5
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tp
autodial = yes
flow bit = no
require chap = yes
require pap = no
refuse chap = no
refuse pap = yes
tx bps = 1000000000

5. в файле /etc/ppp/options изменил 2 параметра

lcp-echo-failure 4 => 10
lcp-echo-interval 30 => 60

и добавил ещё один

lcp-echo-adaptive

6. создал файл /etc/ppp/options.xl2tp

name логин_интернета
remotename beeline
mru 1460
mtu 1460
noaccomp
nopcomp
novj
novjccomp
nobsdcomp
nodeflate
noipx
nomp
defaultroute
unit 0

7. добавил строку в файл /etc/ppp/chap-secrets

логин_интернета * пароль_интернета *

8. создал файл /etc/netctl/beeline

Description='Beeline'
# Указываете интерфейс, через который будет подниматься vpn
# Если отличается от указанного - меняете здесь, меняете название файла и далее - при выполнении команд используйте свой интерфейс
Interface=beeline
Connection=ethernet
IP=dhcp
# Меняете на dhcpcd если нужно
DHCPClient=dhclient

9. создал файл /etc/systemd/system/xl2tpd.service

.include /usr/lib/systemd/system/xl2tpd.service

[service]
RestartSec=3
Restart=on-failure

10. добавил в openbox autostart

systemctl start xl2tpd

После проделанных действий, не знаю, правильных или нет, интернет не работает, хотя есть доступ на форум билайна.

 

Изменено пользователем NikIv
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В файле /var/log/syslog заметил ошибку

pppd[1669]: In file /etc/ppp/options.xl2tp: unrecognized option 'remotename'

удалил строчку remotename beeline

Изменено пользователем username2
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Аналогично в файле /etc/ppp/options.xl2tp пришлось удалить строку "novj"

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё таки удалил /etc/netctl/beeline - так и не понял, зачем этот файл нужен.

Заменил в /etc/network/interfaces "eth0" на "enp2s0" - теперь подключается локалка.

Не работает интернет.

systemctl status xl2tpd
● xl2tpd.service - LSB: layer 2 tunelling protocol daemon
   Loaded: loaded (/etc/init.d/xl2tpd; generated; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-13 16:11:30 MSK; 3min 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 557 ExecStart=/etc/init.d/xl2tpd start (code=exited, status=0/SUCCESS
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/xl2tpd.service
           └─603 /usr/sbin/xl2tpd

янв 13 16:14:43 hostname xl2tpd[603]: "nodetach"
янв 13 16:14:43 hostname xl2tpd[603]: ":"
янв 13 16:14:43 hostname xl2tpd[603]: "refuse-pap"
янв 13 16:14:43 hostname xl2tpd[603]: "name"
янв 13 16:14:43 hostname xl2tpd[603]: "0855288354"
янв 13 16:14:43 hostname xl2tpd[603]: "debug"
янв 13 16:14:43 hostname xl2tpd[603]: "file"
янв 13 16:14:43 hostname xl2tpd[603]: "/etc/ppp/options.xl2tp"
янв 13 16:14:43 hostname xl2tpd[603]: child_handler : pppd exited for call 18641
янв 13 16:14:43 hostname xl2tpd[603]: call_close: Call 53639 to 89.179.75.225 disconnected

Не видно третьего устройства (ppp0) в ip addr show

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

свет прольет

добавить в /etc/ppp/option.xl2tpd

debug

replacedefaultroute

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попытка номер 2

рабочий стол - меню - settings - openbox - edit autostart

удаляю 
nm-applet &
(sleep 2s && nmcli con up id beeline2 passwd-file /home/user/beeline.parol > /home/user/beeline.logfile) &

открываю терминал

sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable networking.service
sudo systemctl start networking.service

sudo geany

открываю файл /etc/network/interfaces
добавляю в него

auto enp2s0
iface enp2s0 inet dhcp

открываю файл /etc/xl2tpd/xl2tpd.conf
добавляю в него

[global]
access control = yes

[lac beeline]
lns = tp.internet.beeline.ru
name = логин_интернета
redial = yes
redial timeout = 5
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tp
autodial = yes
flow bit = no
require chap = yes
require pap = no
refuse chap = no
refuse pap = yes
tx bps = 1000000000

создаю файл /etc/ppp/options.xl2tp 

name логин_интернета
mru 1460
mtu 1460
noaccomp
nopcomp
novjccomp
nobsdcomp
noipx
nomp
defaultroute
unit 0
logfile /var/log/ppp.log
debug
replacedefaultroute

открываю файл /etc/ppp/chap-secrets
добавляю в него

логин_интернета * пароль_интернета *

создаю файл /etc/systemd/system/xl2tpd.service

.include /usr/lib/systemd/system/xl2tpd.service

[service]
RestartSec=3
Restart=on-failure

sudo geany /var/log/syslog

Jan 19 12:25:25 hostname xl2tpd[601]: Connecting to host tp.internet.beeline.ru, port 1701
Jan 19 12:25:26 hostname xl2tpd[601]: handle_avps:  don't know how to handle attribute 46.
Jan 19 12:25:26 hostname xl2tpd[601]: Connection established to 89.179.75.238, 1701.  Local: 24873, Remote: 24695 (ref=0/0).
Jan 19 12:25:26 hostname xl2tpd[601]: Calling on tunnel 24873
Jan 19 12:25:26 hostname xl2tpd[601]: Call established with 89.179.75.238, Local: 54958, Remote: 60017, Serial: 3 (ref=0/0)
Jan 19 12:25:26 hostname xl2tpd[601]: start_pppd: I'm running:
Jan 19 12:25:26 hostname xl2tpd[601]: "/usr/sbin/pppd"
Jan 19 12:25:26 hostname xl2tpd[601]: "plugin"
Jan 19 12:25:26 hostname xl2tpd[601]: "pppol2tp.so"
Jan 19 12:25:26 hostname xl2tpd[601]: "pppol2tp"
Jan 19 12:25:26 hostname xl2tpd[601]: "7"
Jan 19 12:25:26 hostname xl2tpd[601]: "passive"
Jan 19 12:25:26 hostname xl2tpd[601]: "nodetach"
Jan 19 12:25:26 hostname xl2tpd[601]: ":"
Jan 19 12:25:26 hostname xl2tpd[601]: "refuse-pap"
Jan 19 12:25:26 hostname xl2tpd[601]: "name"
Jan 19 12:25:26 hostname xl2tpd[601]: "0855288354"
Jan 19 12:25:26 hostname xl2tpd[601]: "debug"
Jan 19 12:25:26 hostname xl2tpd[601]: "file"
Jan 19 12:25:26 hostname xl2tpd[601]: "/etc/ppp/options.xl2tp"
Jan 19 12:25:26 hostname pppd[1009]: Plugin pppol2tp.so loaded.
Jan 19 12:25:26 hostname pppd[1009]: pppd 2.4.7 started by root, uid 0
Jan 19 12:25:26 hostname pppd[1009]: using channel 3
Jan 19 12:25:27 hostname pppd[1009]: Using interface ppp0
Jan 19 12:25:27 hostname pppd[1009]: Connect: ppp0 <-->
Jan 19 12:25:27 hostname pppd[1009]: Overriding mtu 1500 to 1460
Jan 19 12:25:27 hostname pppd[1009]: PPPoL2TP options: debugmask 0
Jan 19 12:25:27 hostname pppd[1009]: Overriding mru 1500 to mtu value 1460
Jan 19 12:25:27 hostname pppd[1009]: sent [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0x0> <auth eap> <magic 0x502f88c5>]
Jan 19 12:25:27 hostname pppd[1009]: rcvd [LCP ConfRej id=0x1 <asyncmap 0x0> <auth eap>]
Jan 19 12:25:27 hostname pppd[1009]: sent [LCP ConfReq id=0x2 <mru 1460> <auth chap MD5> <magic 0x502f88c5>]
Jan 19 12:25:27 hostname pppd[1009]: rcvd [LCP ConfRej id=0x2 <auth chap MD5>]
Jan 19 12:25:27 hostname pppd[1009]: sent [LCP ConfReq id=0x3 <mru 1460> <magic 0x502f88c5>]
Jan 19 12:25:27 hostname pppd[1009]: rcvd [LCP ConfAck id=0x3 <mru 1460> <magic 0x502f88c5>]
Jan 19 12:25:29 hostname pppd[1009]: rcvd [LCP ConfReq id=0x3b <mru 1456> <auth chap MD5> <magic 0x624c7f8a>]
Jan 19 12:25:29 hostname pppd[1009]: sent [LCP ConfAck id=0x3b <mru 1456> <auth chap MD5> <magic 0x624c7f8a>]
Jan 19 12:25:29 hostname pppd[1009]: PPPoL2TP options: debugmask 0
Jan 19 12:25:29 hostname pppd[1009]: sent [LCP EchoReq id=0x0 magic=0x502f88c5]
Jan 19 12:25:29 hostname pppd[1009]: peer refused to authenticate: terminating link
Jan 19 12:25:29 hostname pppd[1009]: Overriding mtu 1500 to 1460
Jan 19 12:25:29 hostname pppd[1009]: PPPoL2TP options: debugmask 0
Jan 19 12:25:29 hostname pppd[1009]: Overriding mru 1500 to mtu value 1460
Jan 19 12:25:29 hostname pppd[1009]: sent [LCP TermReq id=0x4 "peer refused to authenticate"]
Jan 19 12:25:29 hostname pppd[1009]: rcvd [CHAP Challenge id=0x1 <32562d5a83b1e6a12641cbed57d82377>, name = "bras254.brn"]
Jan 19 12:25:29 hostname pppd[1009]: Discarded non-LCP packet when LCP not open
Jan 19 12:25:29 hostname pppd[1009]: rcvd [LCP EchoRep id=0x0 magic=0x624c7f8a]
Jan 19 12:25:29 hostname pppd[1009]: rcvd [LCP TermAck id=0x4]
Jan 19 12:25:29 hostname pppd[1009]: Connection terminated.
Jan 19 12:25:29 hostname charon: 05[KNL] interface ppp0 deleted
Jan 19 12:25:29 hostname pppd[1009]: Exit.
Jan 19 12:25:29 hostname xl2tpd[601]: child_handler : pppd exited for call 60017 with code 11
Jan 19 12:25:29 hostname xl2tpd[601]: call_close: Call 54958 to 89.179.75.238 disconnected
Jan 19 12:25:35 hostname xl2tpd[601]: control_finish: Connection closed to 89.179.75.238, port 1701 (Tunnel was cleared), Local: 24873, Remote: 24695
Jan 19 12:25:35 hostname xl2tpd[601]: Terminating pppd: sending TERM signal to pid 1009

Изменено пользователем NikIv
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с другим конфигом взятым из темы

соединение устанавливается, но тут же разрывается

в файле /etc/xl2tpd/xl2tpd.conf

[global]
access control = yes
auth file = /etc/ppp/chap-secrets

[lac beeline]
lns = tp.internet.beeline.ru
redial = yes
redial timeout = 10
require chap = yes
require authentication = no
name = 0855288354
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tunnel rws = 8
tx bps = 100000000

в файле /etc/ppp/options.xl2tpd

unit 0
remotename L2TP
ipparam beeline
mru 1400
noauth
nodeflate
nobsdcomp
persist
maxfail 0
defaultroute
replacedefaultroute
asyncmap 00000000
novj
noipx
nomp
lcp-echo-failure 10
lcp-echo-adaptive
lcp-echo-interval 60

в логе /var/log/syslog


Jan 19 14:19:40 hostname ntpd[616]: Soliciting pool server 176.32.35.228
Jan 19 14:19:45 hostname xl2tpd[600]: control_finish: Connection closed to 89.179.75.238, port 1701 (Tunnel was cleared), Local: 40103, Remote: 41977
Jan 19 14:19:45 hostname ntpd[616]: Soliciting pool server 88.212.196.95
Jan 19 14:19:48 hostname xl2tpd[600]: Connecting to host tp.internet.beeline.ru, port 1701
Jan 19 14:19:48 hostname xl2tpd[600]: Connection established to 89.179.75.225, 1701.  Local: 29391, Remote: 43462 (ref=0/0).
Jan 19 14:19:48 hostname xl2tpd[600]: Calling on tunnel 29391
Jan 19 14:19:48 hostname xl2tpd[600]: Call established with 89.179.75.225, Local: 29687, Remote: 64602, Serial: 7 (ref=0/0)
Jan 19 14:19:48 hostname xl2tpd[600]: start_pppd: I'm running:
Jan 19 14:19:48 hostname xl2tpd[600]: "/usr/sbin/pppd"
Jan 19 14:19:48 hostname xl2tpd[600]: "plugin"
Jan 19 14:19:48 hostname xl2tpd[600]: "pppol2tp.so"
Jan 19 14:19:48 hostname xl2tpd[600]: "pppol2tp"
Jan 19 14:19:48 hostname xl2tpd[600]: "7"
Jan 19 14:19:48 hostname xl2tpd[600]: "passive"
Jan 19 14:19:48 hostname xl2tpd[600]: "nodetach"
Jan 19 14:19:48 hostname xl2tpd[600]: ":"
Jan 19 14:19:48 hostname xl2tpd[600]: "name"
Jan 19 14:19:48 hostname xl2tpd[600]: "0855288354"
Jan 19 14:19:48 hostname xl2tpd[600]: "debug"
Jan 19 14:19:48 hostname xl2tpd[600]: "file"
Jan 19 14:19:48 hostname xl2tpd[600]: "/etc/ppp/options.xl2tpd"
Jan 19 14:19:48 hostname pppd[1557]: Plugin pppol2tp.so loaded.
Jan 19 14:19:48 hostname pppd[1557]: pppd 2.4.7 started by root, uid 0
Jan 19 14:19:48 hostname pppd[1557]: using channel 7
Jan 19 14:19:48 hostname pppd[1557]: Using interface ppp0
Jan 19 14:19:48 hostname pppd[1557]: Connect: ppp0 <-->
Jan 19 14:19:48 hostname pppd[1557]: PPPoL2TP options: debugmask 0
Jan 19 14:19:48 hostname pppd[1557]: sent [LCP ConfReq id=0x1 <mru 1400> <asyncmap 0x0> <magic 0x27f2549c>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x38fd2b8> <pcomp> <accomp>]
Jan 19 14:19:48 hostname pppd[1557]: sent [LCP ConfAck id=0x1 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x38fd2b8> <pcomp> <accomp>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [LCP ConfNak id=0x1 <mru 1460>]
Jan 19 14:19:48 hostname pppd[1557]: sent [LCP ConfReq id=0x2 <mru 1460> <asyncmap 0x0> <magic 0x27f2549c>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [LCP ConfAck id=0x2 <mru 1460> <asyncmap 0x0> <magic 0x27f2549c>]
Jan 19 14:19:48 hostname pppd[1557]: PPPoL2TP options: debugmask 0
Jan 19 14:19:48 hostname pppd[1557]: sent [LCP EchoReq id=0x0 magic=0x27f2549c]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [CHAP Challenge id=0x1 <f48c05347d9d5d9b8153ab526a07b0ab>, name = "bras255.brn"]
Jan 19 14:19:48 hostname pppd[1557]: sent [CHAP Response id=0x1 <67f9acc6fb4c7bd614e8105c1754d156>, name = "0855288354"]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [CHAP Success id=0x1 ""]
Jan 19 14:19:48 hostname pppd[1557]: CHAP authentication succeeded
Jan 19 14:19:48 hostname pppd[1557]: CHAP authentication succeeded
Jan 19 14:19:48 hostname pppd[1557]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [IPCP ConfReq id=0x1 <addr 89.179.75.225>]
Jan 19 14:19:48 hostname pppd[1557]: sent [IPCP ConfAck id=0x1 <addr 89.179.75.225>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [IPCP ConfNak id=0x1 <addr 2.94.175.111>]
Jan 19 14:19:48 hostname pppd[1557]: sent [IPCP ConfReq id=0x2 <addr 2.94.175.111>]
Jan 19 14:19:48 hostname pppd[1557]: rcvd [IPCP ConfAck id=0x2 <addr 2.94.175.111>]
Jan 19 14:19:48 hostname pppd[1557]: replacing old default route to enp2s0 [10.190.48.1]
Jan 19 14:19:48 hostname pppd[1557]: local  IP address 2.94.175.111
Jan 19 14:19:48 hostname pppd[1557]: remote IP address 89.179.75.225
Jan 19 14:19:48 hostname pppd[1557]: Script /etc/ppp/ip-up started (pid 1565)
Jan 19 14:19:48 hostname charon: 09[KNL] 2.94.175.111 appeared on ppp0
Jan 19 14:19:48 hostname charon: 11[KNL] 2.94.175.111 disappeared from ppp0
Jan 19 14:19:48 hostname charon: 14[KNL] 2.94.175.111 appeared on ppp0
Jan 19 14:19:48 hostname charon: 16[KNL] interface ppp0 activated
Jan 19 14:19:48 hostname pppd[1557]: Script /etc/ppp/ip-up finished (pid 1565), status = 0x0
Jan 19 14:19:49 hostname ntpd[616]: Listen normally on 12 ppp0 2.94.175.111:123
Jan 19 14:19:54 hostname ntpd[616]: Soliciting pool server 195.210.189.106
Jan 19 14:19:58 hostname kernel: [  431.365246] ppp0: recursion detected
Jan 19 14:19:58 hostname ntpd[616]: Soliciting pool server 2001:440:1880:5555::2
Jan 19 14:20:38 hostname kernel: [  471.427704] ppp0: recursion detected
Jan 19 14:20:46 hostname ntpd[616]: Soliciting pool server 37.139.41.250
Jan 19 14:20:48 hostname pppd[1557]: rcvd [LCP TermReq id=0x2]
Jan 19 14:20:48 hostname pppd[1557]: LCP terminated by peer
Jan 19 14:20:48 hostname pppd[1557]: Connect time 1.0 minutes.
Jan 19 14:20:48 hostname pppd[1557]: Sent 1696866550 bytes, received 3444 bytes.
Jan 19 14:20:48 hostname pppd[1557]: restoring old default route to enp2s0 [10.190.48.1]
Jan 19 14:20:48 hostname xl2tpd[600]: handle_avps:  don't know how to handle attribute 46.
Jan 19 14:20:48 hostname xl2tpd[600]: handle_avps:  don't know how to handle attribute 104.
Jan 19 14:20:48 hostname xl2tpd[600]: control_finish: Connection closed to 89.179.75.225, serial 7 (Locally generated disconnect)
Jan 19 14:20:48 hostname xl2tpd[600]: Terminating pppd: sending TERM signal to pid 1557
Jan 19 14:20:48 hostname charon: 12[KNL] interface ppp0 deactivated
Jan 19 14:20:48 hostname charon: 13[KNL] 2.94.175.111 disappeared from ppp0
Jan 19 14:20:48 hostname pppd[1557]: Script /etc/ppp/ip-down started (pid 1582)
Jan 19 14:20:48 hostname pppd[1557]: PPPoL2TP options: debugmask 0
Jan 19 14:20:48 hostname pppd[1557]: sent [LCP TermAck id=0x2]
Jan 19 14:20:48 hostname pppd[1557]: Terminating on signal 15
Jan 19 14:20:48 hostname pppd[1557]: Script /etc/ppp/ip-down finished (pid 1582), status = 0x0
Jan 19 14:20:49 hostname ntpd[616]: Soliciting pool server 192.36.143.130
Jan 19 14:20:49 hostname ntpd[616]: Deleting interface #12 ppp0, 2.94.175.111#123, interface stats: received=0, sent=2, dropped=0, active_time=60 secs
Jan 19 14:20:51 hostname pppd[1557]: Connection terminated.
Jan 19 14:20:51 hostname charon: 07[KNL] interface ppp0 deleted
Jan 19 14:20:51 hostname pppd[1557]: Modem hangup
Jan 19 14:20:51 hostname pppd[1557]: Exit.

Изменено пользователем NikIv
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попытка номер 3

используемая ос crunchbangplusplus (debian 9 с рабочим столом openbox)

открываю "рабочий стол", открываю меню, выбираю "settings" - "openbox" - "edit autostart", 
удаляю строки:

nm-applet &
(sleep 2s && nmcli con up id beeline2 passwd-file /home/user/beeline.parol > /home/user/beeline.logfile) &

открываю терминал и выполняю в нём 5 команд

sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable networking.service
sudo systemctl start networking.service
sudo geany

в открывшемся текстовом редакторе geany:

открываю файл /etc/network/interfaces
добавляю в него

auto enp2s0
iface enp2s0 inet dhcp

открываю файл /etc/xl2tpd/xl2tpd.conf
добавляю в него

[global]
access control = yes

[lac beeline]
name = логин_интернета
lns = tp.internet.beeline.ru
require pap = no
require chap = yes
require authentication = no
redial = yes
redial timeout = 30
max redials = 1000
pppoptfile = /etc/ppp/options.l2tp
autodial = yes
ppp debug = yes

tunnel rws = 8
tx bps = 100000000

создаю файл /etc/ppp/options.l2tp 

name логин_интернета
noauth
nobsdcomp
nodeflate
nopcomp
noaccomp
remotename beeline
ipparam beeline
defaultroute
replacedefaultroute
mru 1460
mtu 1460
logfile /var/log/pppd

открываю файл /etc/ppp/chap-secrets
добавляю в него

логин_интернета * пароль_интернета *

создаю файл /etc/systemd/system/xl2tpd.service

.include /usr/lib/systemd/system/xl2tpd.service

[service]
RestartSec=3
Restart=on-failure

создаю файл /etc/pppip-up.d/beeline и даю ему право запускаться в качестве программы

#!/bin/sh

export PATH="$PATH"

# Указываете интерфейс, через который будет подниматься vpn
DEPEND="beeline"
# Указываете интерфейс туннеля
L2TP="ppp0"

# Дополнительные статические маршруты для локалки
ROUTES=""
vpn="${5}"

[[ "${1}" != "${L2TP}" ]] && return 0

if [[ -n "$(which ip 2>/dev/null)" ]]; then
   gw=`ip route | awk "{ if(\\$1 == \"default\" && \\$5 == \"${DEPEND}\") print \\$3 }"`
   if [ -n "${gw}" ]; then
       ip route replace ${vpn} via ${gw}
       ip route replace 224.0.0.0/4 dev ${DEPEND}

       ip route replace default dev ${1} metric 0
       ip route replace default via ${gw}  metric 1

       for i in ${ROUTES}; do
           ip route replace ${i} via ${gw}
       done
   fi
else
   if [[ -n "$(which route 2>/dev/null)" ]]; then
gw=`route -n | awk "{ if (\\$1 == \"0.0.0.0\" && \\$8 == \"${DEPEND}\") print \\$2 }"`
if [ -n "${gw}" ]; then
    route add ${vpn} gw ${gw}
    route add -net 224.0.0.0/4 ${DEPEND}

    route del default
    route add default dev ${1} metric 0
    route add default gw ${gw} metric 1

    for i in ${ROUTES}; do
        route add -net ${i} gw ${gw}
    done
fi
   fi
fi

в результате интернет не работает, в файле /var/log/syslog написано

Jan 20 13:09:04 hostname xl2tpd[607]: Connecting to host tp.internet.beeline.ru, port 1701
Jan 20 13:09:04 hostname xl2tpd[607]: Connection established to 89.179.75.225, 1701.  Local: 64297, Remote: 45778 (ref=0/0).
Jan 20 13:09:04 hostname xl2tpd[607]: Calling on tunnel 64297
Jan 20 13:09:04 hostname xl2tpd[607]: Call established with 89.179.75.225, Local: 65205, Remote: 26172, Serial: 26 (ref=0/0)
Jan 20 13:09:04 hostname xl2tpd[607]: start_pppd: I'm running:
Jan 20 13:09:04 hostname xl2tpd[607]: "/usr/sbin/pppd"
Jan 20 13:09:04 hostname xl2tpd[607]: "plugin"
Jan 20 13:09:04 hostname xl2tpd[607]: "pppol2tp.so"
Jan 20 13:09:04 hostname xl2tpd[607]: "pppol2tp"
Jan 20 13:09:04 hostname xl2tpd[607]: "7"
Jan 20 13:09:04 hostname xl2tpd[607]: "passive"
Jan 20 13:09:04 hostname xl2tpd[607]: "nodetach"
Jan 20 13:09:04 hostname xl2tpd[607]: ":"
Jan 20 13:09:04 hostname xl2tpd[607]: "name"
Jan 20 13:09:04 hostname xl2tpd[607]: "0855288354"
Jan 20 13:09:04 hostname xl2tpd[607]: "debug"
Jan 20 13:09:04 hostname xl2tpd[607]: "file"
Jan 20 13:09:04 hostname xl2tpd[607]: "/etc/ppp/options.xl2tpd2"
Jan 20 13:09:04 hostname pppd[2741]: Plugin pppol2tp.so loaded.
Jan 20 13:09:04 hostname pppd[2741]: pppd 2.4.7 started by root, uid 0
Jan 20 13:09:04 hostname pppd[2741]: using channel 26
Jan 20 13:09:04 hostname pppd[2741]: Using interface ppp0
Jan 20 13:09:04 hostname pppd[2741]: Connect: ppp0 <-->
Jan 20 13:09:04 hostname pppd[2741]: Overriding mtu 1500 to 1460
Jan 20 13:09:04 hostname pppd[2741]: PPPoL2TP options: debugmask 0
Jan 20 13:09:04 hostname pppd[2741]: Overriding mru 1500 to mtu value 1460
Jan 20 13:09:04 hostname pppd[2741]: sent [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0x0> <magic 0x2086d793>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x877446a> <pcomp> <accomp>]
Jan 20 13:09:04 hostname pppd[2741]: sent [LCP ConfRej id=0x1 <pcomp> <accomp>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [LCP ConfAck id=0x1 <mru 1460> <asyncmap 0x0> <magic 0x2086d793>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [LCP ConfReq id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x877446a>]
Jan 20 13:09:04 hostname pppd[2741]: sent [LCP ConfAck id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x877446a>]
Jan 20 13:09:04 hostname pppd[2741]: PPPoL2TP options: debugmask 0
Jan 20 13:09:04 hostname pppd[2741]: sent [LCP EchoReq id=0x0 magic=0x2086d793]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [CHAP Challenge id=0x1 <6aadfbb5274380248153ab52aef89395>, name = "bras255.brn"]
Jan 20 13:09:04 hostname pppd[2741]: sent [CHAP Response id=0x1 <00ef58e6d68d486ac77e60eae33cee22>, name = "0855288354"]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [CHAP Success id=0x1 ""]
Jan 20 13:09:04 hostname pppd[2741]: CHAP authentication succeeded
Jan 20 13:09:04 hostname pppd[2741]: CHAP authentication succeeded
Jan 20 13:09:04 hostname pppd[2741]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [IPCP ConfReq id=0x1 <addr 89.179.75.225>]
Jan 20 13:09:04 hostname pppd[2741]: sent [IPCP ConfAck id=0x1 <addr 89.179.75.225>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [IPCP ConfNak id=0x1 <addr 2.93.163.45>]
Jan 20 13:09:04 hostname pppd[2741]: sent [IPCP ConfReq id=0x2 <addr 2.93.163.45>]
Jan 20 13:09:04 hostname pppd[2741]: rcvd [IPCP ConfAck id=0x2 <addr 2.93.163.45>]
Jan 20 13:09:04 hostname pppd[2741]: replacing old default route to enp2s0 [10.190.48.1]
Jan 20 13:09:04 hostname pppd[2741]: local  IP address 2.93.163.45
Jan 20 13:09:04 hostname pppd[2741]: remote IP address 89.179.75.225
Jan 20 13:09:04 hostname pppd[2741]: Script /etc/ppp/ip-up started (pid 2749)
Jan 20 13:09:04 hostname charon: 10[KNL] 2.93.163.45 appeared on ppp0
Jan 20 13:09:04 hostname charon: 09[KNL] 2.93.163.45 disappeared from ppp0
Jan 20 13:09:04 hostname charon: 11[KNL] 2.93.163.45 appeared on ppp0
Jan 20 13:09:04 hostname charon: 01[KNL] interface ppp0 activated
Jan 20 13:09:04 hostname pppd[2741]: Script /etc/ppp/ip-up finished (pid 2749), status = 0x0
Jan 20 13:09:05 hostname ntpd[618]: Soliciting pool server 2a03:aa00::136:50
Jan 20 13:09:06 hostname ntpd[618]: Listen normally on 31 ppp0 2.93.163.45:123
Jan 20 13:09:14 hostname kernel: [ 2070.330869] ppp0: recursion detected
Jan 20 13:09:24 hostname kernel: [ 2080.347291] ppp0: recursion detected
Jan 20 13:09:34 hostname kernel: [ 2090.231882] ppp0: recursion detected
Jan 20 13:09:34 hostname kernel: [ 2090.362603] ppp0: recursion detected
Jan 20 13:09:44 hostname kernel: [ 2100.379049] ppp0: recursion detected
Jan 20 13:09:52 hostname ntpd[618]: error resolving pool 0.debian.pool.ntp.org: Temporary failure in name resolution (-3)
Jan 20 13:09:54 hostname kernel: [ 2110.394500] ppp0: recursion detected
Jan 20 13:10:04 hostname kernel: [ 2120.237238] ppp0: recursion detected
Jan 20 13:10:04 hostname pppd[2741]: rcvd [LCP TermReq id=0x3]
Jan 20 13:10:04 hostname pppd[2741]: LCP terminated by peer
Jan 20 13:10:04 hostname pppd[2741]: Connect time 1.0 minutes.
Jan 20 13:10:04 hostname pppd[2741]: Sent 1289118 bytes, received 80 bytes.
Jan 20 13:10:04 hostname pppd[2741]: restoring old default route to enp2s0 [10.190.48.1]
Jan 20 13:10:04 hostname charon: 14[KNL] interface ppp0 deactivated
Jan 20 13:10:04 hostname charon: 13[KNL] 2.93.163.45 disappeared from ppp0
Jan 20 13:10:04 hostname pppd[2741]: Script /etc/ppp/ip-down started (pid 2765)
Jan 20 13:10:04 hostname pppd[2741]: Overriding mtu 1500 to 1460
Jan 20 13:10:04 hostname pppd[2741]: PPPoL2TP options: debugmask 0
Jan 20 13:10:04 hostname pppd[2741]: Overriding mru 1500 to mtu value 1460
Jan 20 13:10:04 hostname pppd[2741]: sent [LCP TermAck id=0x3]
Jan 20 13:10:04 hostname xl2tpd[607]: handle_avps:  don't know how to handle attribute 46.
Jan 20 13:10:04 hostname xl2tpd[607]: handle_avps:  don't know how to handle attribute 104.
Jan 20 13:10:04 hostname xl2tpd[607]: control_finish: Connection closed to 89.179.75.225, serial 26 (Locally generated disconnect)
Jan 20 13:10:04 hostname xl2tpd[607]: Terminating pppd: sending TERM signal to pid 2741
Jan 20 13:10:04 hostname pppd[2741]: Terminating on signal 15
Jan 20 13:10:04 hostname pppd[2741]: Script /etc/ppp/ip-down finished (pid 2765), status = 0x0
Jan 20 13:10:06 hostname ntpd[618]: Soliciting pool server 85.21.78.8
Jan 20 13:10:06 hostname ntpd[618]: Deleting interface #31 ppp0, 2.93.163.45#123, interface stats: received=0, sent=0, dropped=0, active_time=60 secs
Jan 20 13:10:07 hostname pppd[2741]: Connection terminated.
Jan 20 13:10:07 hostname charon: 06[KNL] interface ppp0 deleted
Jan 20 13:10:07 hostname pppd[2741]: Modem hangup
Jan 20 13:10:07 hostname pppd[2741]: Exit.
Jan 20 13:10:10 hostname ntpd[618]: Soliciting pool server 2001:440:1880:5555::2
Jan 20 13:10:14 hostname xl2tpd[607]: control_finish: Connection closed to 89.179.75.225, port 1701 (No application/session timer expired), Local: 64297, Remote: 45778

Изменено пользователем NikIv
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попытка номер 4.

Установил flex

wget https://github.com/westes/flex/files/981163/flex-2.6.4.tar.gz
tar -xvzf flex-2.6.4.tar.gz
cd flex-2.6.4
./configure
make
sudo make install

Установил byacc

wget https://invisible-island.net/datafiles/release/byacc.tar.gz
tar -xvzf byacc.tar.gz
cd byacc
./configure
make
sudo make install

Установил libpcap

wget https://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tar -xvzf libpcap-1.9.0.tar.gz
cd libpcap-1.9.0
./configure
make
sudo make install

Установил xl2tpd

wget https://github.com/xelerance/xl2tpd/archive/v1.3.13.tar.gz
tar -xvzf xl2tpd-1.3.13.tar.gz
cd xl2tpd-1.3.13
make
sudo make install

Возможно это лишний шаг, но я также устанавливал rp-l2tpd-0.4

Возможно это баг xl2tpd, но перед каждым запуском xl2tpd желательно выполнять в терминале следующие команды

sudo mkdir /run/xl2tpd
sudo ln -s /usr/local/sbin/l2tp-control /run/xl2tpd/l2tp-control
sudo ln -s /usr/local/sbin/xl2tpd-control /run/xl2tpd/xl2tpd-control

Поскольку я использую ОС CrunchBangPlusPlus (#!++), которая является сборкой на основе Debian 9 и графического окружения Openbox, то получить доступ к файлу автозагрузки я могу открыв "рабочий стол", сделав правый клик, выбрав "settings",  "openbox", "edit autostart". В нём я удаляю значок сети:

nm-applet &

Отключил NetworkManager

sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable networking.service
sudo systemctl start networking.service

Добавил сетевую карту в файл настроек сетевых устройств

sudo geany /etc/network/interfaces

Добавляю строки

auto enp2s0
iface enp2s0 inet dhcp

Редактирую основной файл настроек xl2tpd

sudo geany /etc/xl2tpd/xl2tpd.conf

Добавляю строки

[global]
port = 1701
access control = yes

[lac beeline]
name = my_login
lns = tp.internet.beeline.ru
require pap = no
require chap = yes
require authentication = no
redial = yes
redial timeout = 30
max redials = 1000
pppoptfile = /etc/ppp/options.xl2tpd
autodial = yes
ppp debug = yes
length bit = yes
tunnel rws = 8
tx bps = 100000000

Редактирую вспомогательный файл настроек ppp

sudo geany /etc/ppp/options.xl2tpd

Добавляю строки

unit 0
name my_login
noauth
nobsdcomp
nodeflate
nopcomp
noaccomp
remotename beeline
ipparam beeline
defaultroute
mru 1460
mtu 1460
logfile /home/user/beeline.xl2tpd.log

Редактирую файл паролей

sudo geany /etc/ppp/chap-secrets

Добавляю строки

my_login * my_password *

Редактирую файл настроек dhcp

sudo geany /etc/dhcp/dhclient.conf

После строки

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

Добавляю строку

option ms-classless-static-routes code 249 = array of unsigned integer 8;

После фразы

rfc3442-classless-static-routes, 

Добавляю фразу

ms-classless-static-routes,

Редактирую файл получения маршрутов по dhcp

sudo geany /etc/dhcp/dhclient-exit-hooks.d/ms-classless-static-routes

Добавляю строки

# set classless routes based on the format specified in RFC3442
# e.g.:
#   new_rfc3442_classless_static_routes='24 192 168 10 192 168 1 1 8 10 10 17 66 41'
# specifies the routes:
#   192.168.10.0/24 via 192.168.1.1
#   10.0.0.0/8 via 10.10.17.66.41

RUN="yes"
 
if [ "$RUN" = "yes" ]; then
        if [ -n "$new_ms_classless_static_routes" ]; then
                if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then
 
                        set -- $new_ms_classless_static_routes
 
                        while [ $# -gt 0 ]; do
                                net_length=$1
                                via_arg=''
 
                                case $net_length in
                                        32|31|30|29|28|27|26|25)
                                                net_address="${2}.${3}.${4}.${5}"
                                                gateway="${6}.${7}.${8}.${9}"
                                                shift 9
                                                ;;
                                        24|23|22|21|20|19|18|17)
                                                net_address="${2}.${3}.${4}.0"
                                                gateway="${5}.${6}.${7}.${8}"
                                                shift 8
                                                ;;
                                        16|15|14|13|12|11|10|9)
                                                net_address="${2}.${3}.0.0"
                                                gateway="${4}.${5}.${6}.${7}"
                                                shift 7
                                                ;;
                                        8|7|6|5|4|3|2|1)
                                                net_address="${2}.0.0.0"
                                                gateway="${3}.${4}.${5}.${6}"
                                                shift 6
                                                ;;
                                        0)      # default route
                                                net_address="0.0.0.0"
                                                gateway="${2}.${3}.${4}.${5}"
                                                shift 5
                                                ;;
                                        *)      # error
                                                return 1
                                                ;;
                                esac
 
                                # take care of link-local routes
                                if [ "${gateway}" != '0.0.0.0' ]; then
                                        via_arg="via ${gateway}"
                                fi
 
                                # set route (ip detects host routes automatically)
                                cmdrouteset="ip -4 route add ${net_address}/${net_length} ${via_arg} dev ${interface} proto dhcp metric 100"
                                # echo "$cmdrouteset" >> /home/user/dhcp2.txt 2>&1
                                $cmdrouteset >/dev/null 2>&1
                        done
                fi
        fi
fi

Редактирую файл изменения маршрутизации после подключения к VPN

sudo touch /etc/ppp/ip-up.d/beeline
sudo chmod +x /etc/ppp/ip-up.d/beeline
sudo geany /etc/ppp/ip-up.d/beeline

Добавляю строки

#!/bin/sh -e

LOGFILE=/home/user/beeline.log
date > $LOGFILE 2>&1
echo "ENV:" >> $LOGFILE 2>&1
env >> $LOGFILE 2>&1
echo "--------\nip route\n`ip route`\nroutel\n`routel`\n--------" >> $LOGFILE 2>&1

# l2tp interface
L2TP="ppp0"
echo "IFNAME ${IFNAME}, L2TP ${L2TP}"
if [ "${IFNAME}" != "${L2TP}" ]; then 
	exit 0
fi

echo "Adding routes to VPN IP and 4 DNS ..."
#get default gw ip
BEELINEGWIP=`routel | grep default | grep enp2s0 | awk '{print $2}'`
echo "Gateway $BEELINEGWIP"
IPDO=`host tp.internet.beeline.ru | awk '{print $4}'`
DNS1=`grep nameserver /etc/resolv.conf | awk '{print $2}' | head -n 1`
DNS2=`grep nameserver /etc/resolv.conf | awk '{print $2}' | tail -n 1`
if [ -e /etc/resolv.conf.pppd-backup.ppp0 ]; then 
DNS3=`grep nameserver /etc/resolv.conf.pppd-backup.ppp0 | awk '{print $2}' | head -n 1`
DNS4=`grep nameserver /etc/resolv.conf.pppd-backup.ppp0 | awk '{print $2}' | tail -n 1`
else
DNS3=`grep nameserver /etc/ppp/resolv.conf | awk '{print $2}' | head -n 1`
DNS4=`grep nameserver /etc/ppp/resolv.conf | awk '{print $2}' | tail -n 1`
fi

for YP in $IPDO $DNS1 $DNS2 $DNS3 $DNS4
do

echo $YP

MASK="$YP via $BEELINEGWIP dev enp2s0 proto static metric 10"
NAIDENO=`ip route | grep "$MASK" | wc -l`
if [ $NAIDENO != 0 ]; then 
	WCMD="ip route del $YP"
	echo "$WCMD"
	$WCMD
fi
WCMD="ip route add $YP via $BEELINEGWIP dev enp2s0 proto static metric 10"
echo "$WCMD"
$WCMD

done

echo "Adding routes to defaults ..."
#add default route
WCMD="ip route del default"
echo "$WCMD"
$WCMD

WCMD="ip route add default dev $PPP_IFACE proto static metric 50"
echo "$WCMD"
$WCMD

#add second default route
WCMD="ip route add default via $BEELINEGWIP proto dhcp metric 100"
echo "$WCMD"
$WCMD

echo "Adding routes to VPN Remote IP ..."
#add route to remote ip
WCMD="ip route del $PPP_REMOTE dev $PPP_IFACE"
echo "$WCMD"
$WCMD

WCMD="ip route add $PPP_REMOTE dev $PPP_IFACE proto kernel src $PPP_LOCAL metric 50"
echo "$WCMD"
$WCMD

echo "Adding routes to DHCP Returned IPs ..."
# add other
IP_ETH0=`ip addr show dev enp2s0 | grep 255 | cut -d /  -f1 | awk '{print $2}'`

echo "IP enp2s0 ${IP_ETH0}"

WCMD="ip route del 10.190.48.0/21"
echo "$WCMD"
$WCMD

WCMD="ip route add 10.190.48.0/21 dev enp2s0 proto kernel scope link src ${IP_ETH0} metric 100"
echo "$WCMD"
$WCMD

echo "Adding route to Gateway ..."

MASK="$BEELINEGWIP dev enp2s0 proto static scope link metric 100"
#echo "MASK $MASK"
NAIDENO=`ip route | grep "$MASK" | wc -l`

if [ $NAIDENO != 0 ]; then 
	WCMD="ip route del $BEELINEGWIP"
	echo "$WCMD"
	$WCMD
fi

WCMD="ip route add $BEELINEGWIP dev enp2s0 proto static scope link metric 100"
echo "$WCMD"
$WCMD

echo "--------\nip route\n`ip route`\nroutel\n`routel`\n--------" >> $LOGFILE 2>&1

Редактирую файл постоянного L2TP подключения

sudo geany /lib/systemd/system/xl2tpd.service

Добавляю строки

[Unit]
Description=layer 2 tunelling protocol daemon xl2tpd
After=network.target

[Service]
ExecStart=/usr/local/sbin/xl2tpd -D
ExecStop=/bin/echo "d beeline" >/usr/local/sbin/xl2tpd-control
ExecStop=/usr/bin/pkill --pidfile /var/run/xl2tpd.pid
Type=simple
PIDFile=/var/run/xl2tpd.pid

[Install]
WantedBy=multi-user.target

Делаю интернет-подключение постоянным

sudo systemctl restart networking
sudo systemctl daemon-reload
sudo systemctl enable xl2tpd

В результате интернет работает

Изменено пользователем NikIv
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рабочий способ

Скрытый текст

Я использую ОС CrunchBangPlusPlus (#!++), которая является сборкой на основе Debian 9 и графического окружения Openbox.
Моя задача - настроить интернет через VPN по протоколу L2TP. Встроенный NetworkManager такой функции не имеет.

Часть пользователей устанавливают network-manager-l2tp, но при каждом разрыве интернет-соединения приходится повторно
вводить пароль пользователя, поэтому я решил настроить интернет с помощью программы xl2tpd и конфигурационных файлов.

Скачиваю нужные программы

flex со страницы https://github.com/westes/flex
byacc со страницы https://invisible-island.net/byacc/byacc.html
libpcap со страницы https://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
xl2tpd со страницы https://github.com/xelerance/xl2tpd

Установил byacc

tar -xvzf byacc.tar.gz
cd byacc
./configure
make
sudo make install

Установил flex

tar -xvzf flex-2.6.4.tar.gz
cd flex-2.6.4
./autogen.sh
./configure
make
sudo make install

Установил libpcap

tar -xvzf libpcap-1.9.0.tar.gz
cd libpcap-1.9.0
./configure
make
sudo make install

Распаковал xl2tpd

tar -xvzf xl2tpd-1.3.13.tar.gz
cd xl2tpd-1.3.13

Внёс изменения:

1) в файле xl2tpd.c в функции init после строки

    struct utsname uts;
    
я добавил

struct stat st = {0};

if (stat("/var/run/xl2tpd", &st) == -1) {
    mkdir("/var/run/xl2tpd", 0700);
}

2) в файле Makefile после строки

 ${MANDIR}/man5/
 
я добавил

    # copy conf files
    install -d -m 0755 /etc/xl2tpd
    install -m 0600 examples/ppp-options.xl2tpd  /etc/ppp/options.xl2tpd
    install -m 0600 examples/xl2tpd.conf  /etc/xl2tpd/xl2tpd.conf
    
Установил xl2tpd

make
sudo make install

Добавил сетевую карту в файл настроек сетевых устройств

sudo geany /etc/network/interfaces

Добавляю строки

auto enp2s0
iface enp2s0 inet dhcp

Редактирую основной файл настроек xl2tpd

sudo geany /etc/xl2tpd/xl2tpd.conf

Заменяю текст на

[global]
port = 1701
access control = yes

[lac beeline]
name = my_login
lns = tp.internet.beeline.ru
require pap = no
require chap = yes
require authentication = no
redial = yes
redial timeout = 30
max redials = 1000
pppoptfile = /etc/ppp/options.xl2tpd
autodial = yes
ppp debug = yes
length bit = yes
tunnel rws = 8
tx bps = 100000000

Редактирую вспомогательный файл настроек ppp

sudo geany /etc/ppp/options.xl2tpd

Добавляю строки

unit 0
name my_login
noauth
nobsdcomp
nodeflate
nopcomp
noaccomp
remotename beeline
ipparam beeline
defaultroute
mru 1460
mtu 1460
logfile /home/user/beeline.xl2tpd.log

Редактиру ю файл паролей

sudo geany /etc/ppp/chap-secrets

Добавляю строки

my_login * my_password *

Редактирую файл настроек dhcp

sudo geany /etc/dhcp/dhclient.conf

После строки

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

Добавляю строку

option ms-classless-static-routes code 249 = array of unsigned integer 8;

После фра зы

rfc3442-classless-static-routes,

Добавляю фразу

ms-classless-static-routes,

Редактирую файл получения маршрутов по dhcp

sudo geany /etc/dhcp/dhclient-exit-hooks.d/ms-classless-static-routes

Добавляю строки

# set classless routes based on the format specified in RFC3442
# e.g.:
#   new_rfc3442_classless_static_routes='24 192 168 10 192 168 1 1 8 10 10 17 66 41'
# specifies the routes:
#   192.168.10.0/24 via 192.168.1.1
#   10.0.0.0/8 via 10.10.17.66.41

RUN="yes"
 
if [ "$RUN" = "yes" ]; then
        if [ -n "$new_ms_classless_static_routes" ]; then
                if [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then
 
                        set -- $new_ms_classless_static_routes
 
                        while [ $# -gt 0 ]; do
                                net_length=$1
                                via_arg=''
 
                                case $net_length in
                                        32|31|30|29|28|27|26|25)
                                                net_address="${2}.${3}.${4}.${5}"
                                                gateway="${6}.${7}.${8}.${9}"
                                                shift 9
                                                ;;
                                        24|23|22|21|20|19|18|17)
                                                net_address="${2}.${3}.${4}.0"
                                                gateway="${5}.${6}.${7}.${8}"
                                                shift 8
                                                ;;
                                        16|15|14|13|12|11|10|9)
                                                net_address="${2}.${3}.0.0"
                                                gateway="${4}.${5}.${6}.${7}"
                                                shift 7
                                                ;;
                                        8|7|6|5|4|3|2|1)
                                                net_address="${2}.0.0.0"
                                                gateway="${3}.${4}.${5}.${6}"
                                                shift 6
                                                ;;
                                        0)      # default route
                                                net_address="0.0.0.0"
                                                gateway="${2}.${3}.${4}.${5}"
                                                shift 5
                                                ;;
                                        *)      # error
                                                return 1
                                                ;;
                                esac
 
                                # take care of link-local routes
                                if [ "${gateway}" != '0.0.0.0' ]; then
                                        via_arg="via ${gateway}"
                                fi
 
                                # set route (ip detects host routes automatically)
                                cmdrouteset="ip -4 route add ${net_address}/${net_length} ${via_arg} dev ${interface} proto dhcp metric 100"
                                # echo "$cmdrouteset" >> /home/user/dhcp2.txt 2>&1
                                $cmdrouteset >/dev/null 2>&1
                        done
                fi
        fi
fi

Редактирую файл изменения маршрутизации после подключения к VPN

sudo geany /etc/ppp/ip-up.d/beeline

Добавляю строки

#!/bin/sh -e

LOGFILE=/home/user/beeline.log
date > $LOGFILE 2>&1
echo "ENV:" >> $LOGFILE 2>&1
env >> $LOGFILE 2>&1
echo "--------\nip route\n`ip route`\nroutel\n`routel`\n--------" >> $LOGFILE 2>&1

# l2tp interface
L2TP="ppp0"
echo "IFNAME ${IFNAME}, L2TP ${L2TP}"
if [ "${IFNAME}" != "${L2TP}" ]; then
    exit 0
fi

echo "Adding routes to VPN IP and 4 DNS ..."
#get default gw ip
BEELINEGWIP=`routel | grep default | grep enp2s0 | awk '{print $2}'`
echo "Gateway $BEELINEGWIP"
IPDO=`host tp.internet.beeline.ru | awk '{print $4}'`
DNS1=`grep nameserver /etc/resolv.conf | awk '{print $2}' | head -n 1`
DNS2=`grep nameserver /etc/resolv.conf | awk '{print $2}' | tail -n 1`
if [ -e /etc/resolv.conf.pppd-backup.ppp0 ]; then
DNS3=`grep nameserver /etc/resolv.conf.pppd-backup.ppp0 | awk '{print $2}' | head -n 1`
DNS4=`grep nameserver /etc/resolv.conf.pppd-backup.ppp0 | awk '{print $2}' | tail -n 1`
else
DNS3=`grep nameserver /etc/ppp/resolv.conf | awk '{print $2}' | head -n 1`
DNS4=`grep nameserver /etc/ppp/resolv.conf | awk '{print $2}' | tail -n 1`
fi

for YP in $IPDO $DNS1 $DNS2 $DNS3 $DNS4
do

echo $YP

MASK="$YP via $BEELINEGWIP dev enp2s0 proto static metric 10"
NAIDENO=`ip route | grep "$MASK" | wc -l`
if [ $NAIDENO != 0 ]; then
    WCMD="ip route del $YP"
    echo "$WCMD"
    $WCMD
fi
WCMD="ip route add $YP via $BEELINEGWIP dev enp2s0 proto static metric 10"
echo "$WCMD"
$WCMD

done

echo "Adding routes to defaults ..."
#add default route
WCMD="ip route del default"
echo "$WCMD"
$WCMD

WCMD="ip route add default dev $PPP_IFACE proto static metric 50"
echo "$WCMD"
$WCMD

#add second default route
WCMD="ip route add default via $BEELINEGWIP proto dhcp metric 100"
echo "$WCMD"
$WCMD

echo "Adding routes to VPN Remote IP ..."
#add route to remote ip
WCMD="ip route del $PPP_REMOTE dev $PPP_IFACE"
echo "$WCMD"
$WCMD

WCMD="ip route add $PPP_REMOTE dev $PPP_IFACE proto kernel src $PPP_LOCAL metric 50"
echo "$WCMD"
$WCMD

echo "Adding routes to DHCP Returned IPs ..."
# add other
IP_ETH0=`ip addr show dev enp2s0 | grep 255 | cut -d /  -f1 | awk '{print $2}'`

echo "IP enp2s0 ${IP_ETH0}"

WCMD="ip route del 10.190.48.0/21"
echo "$WCMD"
$WCMD

WCMD="ip route add 10.190.48.0/21 dev enp2s0 proto kernel scope link src ${IP_ETH0} metric 100"
echo "$WCMD"
$WCMD

echo "Adding route to Gateway ..."

MASK="$BEELINEGWIP dev enp2s0 proto static scope link metric 100"
#echo "MASK $MASK"
NAIDENO=`ip route | grep "$MASK" | wc -l`

if [ $NAIDENO != 0 ]; then
    WCMD="ip route del $BEELINEGWIP"
    echo "$WCMD"
    $WCMD
fi

WCMD="ip route add $BEELINEGWIP dev enp2s0 proto static scope link metric 100"
echo "$WCMD"
$WCMD

echo "--------\nip route\n`ip route`\nroutel\n`routel`\n--------" >> $LOGFILE 2>&1

Добавляю права на запуск

sudo chmod +x /etc/ppp/ip-up.d/beeline

В файле /etc/ppp/ip-up

в конце строки

run-parts /etc/ppp/ip-up.d \
  --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"
 
добавил

>> /home/user/ip-up.txt 2>&1
 
Редактирую файл постоянного L2TP подключения

sudo geany /lib/systemd/system/xl2tpd.service

Добавляю строки

[Unit]
Description=layer 2 tunelling protocol daemon xl2tpd
After=network.target

[Service]
ExecStart=/usr/local/sbin/xl2tpd -D
ExecStop=/bin/echo "d beeline" >/usr/local/sbin/xl2tpd-control
ExecStop=/usr/bin/pkill --pidfile /var/run/xl2tpd.pid
Type=simple
PIDFile=/var/run/xl2tpd.pid

[Install]
WantedBy=multi-user.target

Редактирую файл автозагрузки

geany /home/user/.config/openbox

Удаляю строку

nm-applet &

Отключил NetworkManager

sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable networking.service
sudo systemctl start networking.service

Делаю инт ернет-подключение постоянным

sudo systemctl daemon-reload
sudo systemctl enable xl2tpd
sudo systemctl start xl2tpd

Теперь можно открыть браузер и убедиться, что интернет работает

 

 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
30.01.2019 в 16:33, username2 сказал:

ExecStop=/bin/echo "d beeline" >/usr/local/sbin/xl2tpd-control

вместо этой строки должно быть

ExecStop=/usr/local/sbin/xl2tpd-control disconnect beeline

 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть ещё программа, создающая иконку в системном трее, показывающую статус подключения (интернет отключен, подключение ..., интернет работает, отключение ...).

Если вам нужна эта программа, могу прислать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас