Linux32 - Блог



LINUX32

Свобода выбирать


ArchLinux
Блог >> 2015 >> Март


26.03.2015

Проводной Beeline. Часть 4




Привет всем.

Проводной билайн-интернет периодически напоминает о себе, поэтому продолжаю разбираться с его настройкой. Вот уже четвертая часть этой эпопеи.

На этот раз после какого-то из обновлений системы или каких-то изменений в самом билайне (точную причину так и не выявил), vpn-сервер билайна (tp.internet.beeline.ru который) вдруг начал пинговаться без каких-либо вмешательств в опции dhcp-клиента, поэтому необходимость в прописывании маршрутов до DNS- и VPN-серверов билайна перед поднятием vpn-туннеля отпала. И при поднятии vpn по предыдущей статье, посвященной билайну, компьютер начал наглухо зависать.

Поэтому, покопавшись в интернете, пришел к следующему порядку настройки интернета:

Создаем файлы конфигурации. В папке /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 = 5
require chap = yes
require authentication = no
name = <логин_beeline>
ppp debug = yes
pppoptfile = /etc/ppp/peers/options.l2tpd
require pap = no
autodial = yes
tx bps = 1000000000


Про <логин_beeline> в прошлых статьях я уже упоминал, впрочем тут все и так понятно. Отмечу лишь, что опция tx bps = 1000000000 имеет значение на некоторых тарифных планах билайна, без этой опции интерфейс ppp0 поднимался, никаких ошибок и зависаний не было, но при попытке открыть любую страницу в интернете выскакивало окошко с символикой билайна об ошибке в настройках соединения. После добавления опции все заработало как надо.

Далее, в папке /etc/ppp/peers создаем файл options.l2tpd:

lcp-echo-interval 10
lcp-echo-failure 2
nodefaultroute
name <логин_beeline>
remotename l2tp
ipparam corbina
connect /bin/true
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
noauth
noproxyarp


В файл chap-secrets, находящийся на один уровень выше, то есть в папке /etc/ppp заносим свои логин и пароль:

# Secrets for authentication using CHAP
# client server secret IP addresses
<ваш_логин> * <ваш_пароль>


Создаем исполняемый файл 10-beeline-start.sh в папке /etc/ppp/ip-up.d, в котором запишем следующее:

#!/bin/sh
GW=$(route | grep ^default | awk '{print $2}')
route del $5 dev $1
route add -host $5 gw $GW
for i in $(grep "^nameserver" /etc/resolv.conf | awk '{print $2}') ; do
route add -host $i gw $GW
done
route del default
route add default dev ppp0


Все основные изменения этой статьи касаются вышеназванного файла. Если поднять vpn-туннель без этого файла, то в таблицу маршрутизации прописывается паразитный маршрут до vpn-сервера через сам vpn-туннель, а если потом маршрутом по умолчанию назначить адрес vpn-сервера, то получается своеобразная петля траффика: маршрут до сервера через интерфейс ppp0 и выход во внешний мир через этот же ppp0. Что приводит к полному зависанию компьютера. Поэтому в файле присутствуют такие строки:

route del $5 dev $1
route add -host $5 gw $GW


Которые удаляют этот паразитный маршрут и добавляют маршрут до vpn-сервера через наш локальный шлюз. Таким образом мы избавились от зависания компьютера.

Строки:

for i in $(grep "^nameserver" /etc/resolv.conf | awk '{print $2}') ; do
route add -host $i gw $GW
done


Прописывают маршруты до DNS адресов билайна через локальный шлюз, чтобы не ломиться к ним через интернет и чтобы иметь доступ к локальным медиа-ресурсам билайна.

Строки:

route del default
route add default dev ppp0


Собственно удаляют маршрут по умолчанию через интерфейс eth0 и устанавливают маршрут по умолчанию через интерфейс ppp0.

И напоследок в папке /etc/ppp/ip-down.d создаем исполняемый файл 10-beeline-stop.sh:

#!/bin/sh
for i in $(grep "^nameserver" /etc/resolv.conf | awk '{print $2}') ; do
route del $i
done
route del 85.21.*
route del default
route add default dev eth0


Данным файлом мы возвращаем таблицу маршрутизации к исходному виду после отключения интернета. Это необходимо для того чтобы можно было пользоваться ресурсами локальной сети без подключения к интернету.

После этого просто запускаем xl2tpd и добавляем его в автозапуск:

systemctl start xl2tpd
systemctl enable xl2tpd


Если все хорошо, то в выводе команды ifconfig будет присутствовать интерфейс ppp0 и пинговаться внешние интернет адреса.

Думаю, упрощать решение больше уже некуда, поэтому с настройкой билайн-интернета можно сказть разобрались.

На сегодня это все. Оставляйте свои комментарии и отзывы.

Статья


Ваш комментарий:

Имя:
E-mail:
Код с картинки:
Комментарий: