Linux32 - Блог



LINUX32

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


ArchLinux
Блог >> 2015 >> Апрель


22.04.2015

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




Всем доброго дня.

Вот уже юбилейная статья посвященная билайн-интернету. Можно отпраздновать.

Очередная серия моих приключений с билайном появилась благодаря неожиданному полному зависанию компьютера при старте. Как оказалось из-за сервиса xl2tpd, а точнее из-за маршрутов.

После изучения форумов и шевеления извилинами всеже удалось добиться правильной работы билайновского интернета. Оказалось что нужно было совсем немного. Сейчас поясню. В целом, для настройки интернета понадобится создать/изменить 4 файла.

Первый /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 = no
pppoptfile = /etc/ppp/peers/options.l2tpd
require pap = no
autodial = yes
tx bps = 1000000000


Здесь почти ничего не изменилось по сравнению с предыдущей статьей про билайн. Кроме опции ppp debug. Я решил поставить no, вместо yes, чтобы быстрее отрабатывала команда статуса сервиса xl2tpd.

Второй /etc/ppp/peers/options.l2tpd:

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


Здесь убрал опцию nodefaultroute и задал значение mtu 1460.

Третий /etc/ppp/chap-secrets:

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


В нем все осталось как было. Логин и пароль от билайна, соответственно ваши (без кавычек <>).

Четвертый /etc/ppp/ip-up.d/10-beeline-start.sh:

#!/bin/sh
GW="*.*.*.*"
# GW=$(route | grep ^default | awk '{print $2}')
route del $5 dev $1
route add -host $5 gw $GW
route add -net *.*.0.0 netmask 255.255.0.0 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 $1


Как видно, все основные изменения коснулись именно этого файла. Добавлены две строки,

Одна:

GW="*.*.*.*"


То есть прямое указание шлюза по умолчанию (вместо * цифры ip-адреса вашего шлюза). Строка нужна на тот случай, если команда

route | grep ^default | awk '{print $2}'


вместо ip-адреса шлюза выдает слово gateway.

И вторая:

route add -net *.*.0.0 netmask 255.255.0.0 gw $GW


Добавляющая маршрут до всей сети, в которой находится VPN-сервер билайна. Она нужна как раз для того чтобы избавиться от зависаний компьютера при запуске xl2tpd-сервиса. Потому как команда:

host tp.internet.beeline.ru


Выдает только два ip-адреса (в моем случае), хотя на самом деле их значительно больше. И при старте если адрес сервера (который передается в параметрах и который мы указываем в скрипте как $5) не совпадает с адресом авторизации - происходит зависание. В случае если адреса совпадают - xl2tpd нормально стартует и работает. Что происходит довольно редко. Поэтому, добавляя маршрут до всей сети мы наверняка избавляемся от этой проблемы. Кстати, спасибо daggerfall с форума archlinux за наводку.

От файла 10-beeline-stop.sh я решил отказаться, так как в настройках xl2tpd итак есть уже опция отвечающая за переподключение при обрыве. А если эта опция не помогла, то проще перезагрузиться (windows-like).

Теперь добавляем xl2tpd в автозагрузку:

systemctl enable xl2tpd


И на этом все. Настройка закончена.

PS: всего лишь одна строчка, а сколько проблем...

Статья


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

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




Макс, 07 Октября 2016 года в 17:33, писал(а):



Привет, спасибо за материал, запарился уже сам пытаться настроить, т.к. нубас в линуксе. в 14.04 использовал плагин l2tp для нетворк-менеджера. Извиняюсь, если вопрос прозвучит глупо, но А этот способ будет работать на 16.04 ?
Admin, 09 Октября 2016 года в 20:03, писал(а):



Привет, Макс, не за что. Эта статья писалась под настройку Archlinux, но, думаю и для убунты подойдет, так как она с недавнего времени также перешла на systemd. Конфиги и скрипты, изложенные в статье подходят точно. Единственное, необходимо проверить наличие в убунте команды route. Если нет, то доустановить пакет, содержащий эту команду.
Макс, 09 Октября 2016 года в 22:50, писал(а):



К сожалению не пашет на mint, а победа была так близко) команда route есть, после перезагрузки система виснет сразу при входе, не успеваю пароль вбить.
Admin, 10 Октября 2016 года в 18:18, писал(а):



Сталкивался с таким. Зависает при смене дефолтного роута командой route add default dev $1. Нужно детально разбираться с маршрутами. Одно время я изрядно повозился как раз с этой проблемой билайновского интернета. Потом сменился провайдер и вопрос так и остался открытым. Если получится решить, буду рад если поделитесь решением в комментариях.