Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

beestar

Настройка устойчивого подключения к провайдеру Internet Beeline в CEntOS6/RHEL6.

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

Настройка устойчивого подключения к провайдеру Internet Beeline в CEntOS6/RHEL6 по протоколу l2tp, с

помощью openl2tp - http://www.openl2tp.org.

Многие идеи и скрипты были взяты из Debian(6). Для краткости изложения, привожу, только имена скриптов и

конфигурационных файлов задействованных в процессе соединения и описание происходящих событий.

Совет: если нет необходимости, или выбор дистрибутива не имеет значения, в Debian настройка выполняется

проще и без установки дополнительных пакетов.

Все необходимые пакеты(x86_64), скрипты, исходники - во вложение или по адресу www.ilyx.ru/openl2tp .

 

Дано:

1. Локальное подключения: ethernet 100Mb(eth0).

2. Login и Password для подключения к серверу tp.internet.beeline.ru.

Необходимо:

1. Получить настройки по DHCP (локальный IP, маршруты, DNS сервера) через eth0.

2. Подключиться к Internet: с помощью openl2tp через сервер tp.internet.beeline.ru.

 

Начнем с принципиальных трудностей и их устранения.

Ядро (на данный момент 2.6.32-279.5.2.el6) собрано без заплатки для модуля "pppol2tp" -

https://lkml.org/lkml/2011/5/5/416 - "Fix UDP socket reference count bugs in the pppol2tp driver",

что не даст нам получить устойчивое соединение. В Debian(6) все нормуль.

Чтобы не пересобирать этот модуль для каждого нового ядра, я воспользовавшись наработками -

http://elrepo.org собрал пакет с пропатченным модулем.

Устанавливаем "kmod-pppol2tp".

"pppd" нас "радует" отсутствием необходимых плагинов openl2tp.so и pppol2tp.so из-за ошибок при сборке.

Установим пакет - "openl2tp-ppp" - который является побочным продуктом при сборке openl2tp для RHEL6 после внесения

необходимых изменений см. openl2tp-1.8-1.el6.src.rpm. Опять же, в Debian(6) все нормуль.

Далее -

Кратко:

Собственно - устанавливаем сам openl2tp.

Далее устанавливаем все необходимое из архива в /etc/* вносим необходимые изменения в файлы -

/etc/sysconfig/network-scripts/ifcfg-* ; Если надо.

/etc/openl2tpd.conf ; Меняем user_name= и dest_ipaddr=

/etc/ppp/chap-secrets ; Меняем client, secret

chkconfig openl2tpd on

semodule -i pppol2tp.pp ; Если включен SELINUX.

shutdown -r now

Пояснение:

Каталог /etc/dhcp - содержит конфигурационный файл dhclient.conf и скрипты для обработки

параметров полученных по DHCP и не обрабатываемых по умолчанию утилитой dhclient. Результатом работы

dhclient после поднятия eth0 должно быть: присвоение IP адреса (10.*.*.*) интерфейсу eth0, заполнение довольно внушительной,

таблицы маршрутов к локальным сервисам Beeline, доступным без подключения к Internet, заполнение /etc/resolv.conf и

установка временного маршрута по умолчанию. Также в файле /etc/dhcp-default-router сохраняется, IP адрес,

полученного маршрута по умолчанию, для последующей настройке маршрутов при запуске и завершение openl2tpd(pppd).

В файле /etc/openl2tpd.conf рекомендую в поле dest_ipaddr= указать IP адрес tp.internet.beeline.ru,

а не tp.internet.beeline.ru, т.к. в случае если при разыменование произойдет сбой, openl2tpd завершится, без дальнейших

попыток переустановить соединение. Можно выбрать понравившийся IP адрес, несколько раз запустив "ping -c 1 tp.internet.beeline.ru".

Каталог /etc/ppp - содержит простейшие скрипты и необходимые настройки, спецефичные для RHEL6, для настройки таблицы маршрутов

при поднятие "pppX" интерфейса используя файл /etc/dhcp-default-router.

Если используем как маршрутизатор, добавляем где-нибудь в iptables:

iptables -t mangle -A FORWARD -o pppX -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1421:65496 -j TCPMSS --clamp-mss-to-pmtu

P.S. В некоторых скриптах используется, при настройке маршрутов, параметр metric 10, это только для

отладочных целей, чтобы определенные маршруты выделить из общей массы, никакой иной роли, этот параметр, в

данном случае не имеет.

P.S.2. У меня конечная таблица маршрутов выглядит так: http://ilyx.ru/openl2tp/openl2tpCEntOS.txt

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


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