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

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


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

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

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

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


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

В файле /etc/ppp/ip-up.d/beeline 8 раз встречается слово enp2s0, это название интерфейса сетевой карты, по которой вы подключены к интернету

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

ip link | grep 2: | awk '{print $2}' | head -1

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас