Настройка pppoe astra linux
В новых версия NetworkManager можно настраивать PPPoE без консоли, но сам NetworkManager является довольно дикой программой, я его сразу удаляю так как не вижу в нём смысла
Чтобы настроить подключение к провайдеру через PPPoE можно пойти двумя путями, простым с помощью (но вы так и не узнаете как же оно работает)
sudo pppoeconf
pppoeconf наверно самый простой мастер настройки подключения по pppoe, но он не даёт понимания всей картины и возможности настроить дополнительные параметры, но вполне подойдёт для быстрой настройки
и сложным, но весьма интересным через правку конфигов
За работу с протоколом PPPoE отвечает программа pppd, эта программа (даемон) требует от ядра поддержки модулей ppp_deflate, bsd_comp, ppp_async, pppoe, pppox (mod_probe ppp_generic), по умолчанию эта поддержка включена во все популярные дистрибутивы
Для подключения к провайдеру и настройки параметров сети требуется отредактировать несколько файлов
в файле /etc/ppp/chap-secrets хранятся пары значений «логин» * «пароль» выданных провайдером, туда можно занести сколько угодно таких пар, только необходимо отследить права доступа к этому файлу -rw——- root root, иметь возможность читать и писать в него должен только root
исторически сложилось, что в файле /etc/ppp/peers/dsl-provider находят настройки специфичный для конкретного провайдер, а так же логин для текущего соединения с ним, например в файле chap-secrets находятся акаунты для user1 user2 провайдера RTELECOM и акаунт для GPRS соединений Beeline, для подключения под логином user2 провайдера RTELECOM в этом файле дожна быть запись user «user2», все другие упоминания user должны быть закрыты символом # или удалены
Из полезных опций отмечу usepeerdns, она нужна когда нет собственного DNS сервера, у меня такой сервер есть, поэтому я за коментировал эту опцию
Для проверки соединения выполните команду pon , должен появится интерфейс ppp0 и пойти пинги
sudo pon dsl-provider # влючение
sudo poff dsl-provider # выключение
Если добавить своего пользователя в группу netdev то можно будет выполнять эту команду без sudo, имя dsl-provider не обязательное, можно изменить на любое имя файла, например divan-tv, нужно только не забывать про это при подключении
Затем, скорее всего, потребуется настроить автоматическое подключение при запуске и вообще встроить подключение в ситему, например для синхронизации с фаерволом, клиентом DynDNS или например для переключение режимов DNS сервера
Для этого нужно отредактировать файл /etc/network/interfaces добавить в него новое соединение, прописать скрипты и команды предшествующие и следующие перед запуском и после остановки интерфейса, вот мой пример
iface divan inet ppp
provider dsl-provider
pre-up /sbin/ifconfig eth1 up
post-up iptables-restore < /etc/iptable.rules
post-up /etc/init.d/ddclient start
pre-down iptables-save -c > /etc/iptable.rules
pre-down /etc/init.d/ddclient stop
post-down /sbin/ifconfig eth1 down
# эта опция нужна для автоматического включения соединения при старте или перезапуске сети sudo /etc/init.d/networking restart
auto divan
Тут видно, что новому соединению дано имя divan, а в качестве профиля для подключения используется уже настроенный файл dsl-provider, так же видны 2 последовательности из 3 команд которые обрабатывают в соответствии с префиксом. очевидно, что событие
- pre-up происходит перед активацией соединения
- post-up — после активации
- соответственно pre-down и post-down до и после разрушения соедиения
Эти события удобно использовать для например, включения и остановку Ethernet интерфейса, загрузки и сохранения параметров фаервола, привязки полученного IP к DNS имени на сервисе DynDNS
Теперь для управления этим соединением достаточно использовать утилиты ifup и ipdown или скриптом управляющим всему соединениями sudo /etc/init.d/networking restart
Вроде бы не сложно, всего 3 файла и несколько опций, за то сколько с помощью их можно настроить и добавить всяких возможностей, например можно написать скрипт, который переключает DNS сервер на использование внешнего DNS сервера или только на обслуживание внутренней зоны и привязав его к скрипту инициализации интерфейса можно сократить время ожидания загрузки недоступных страниц из интернета или например отправлять в свой Jabber сообщение о смене динамического IP
вот мой текущий /etc/network/interfaces
auto lo
iface lo inet loopback
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
iface eth1 inet static
address 192.168.80.76
netmask 255.255.255.0
auto eth1
Блог «Познай Linux!»
Тема настройки PPPoE соединения часто обсуждаемая и по ней достаточно информации, но все же. В этом посте пойдет речь о частном случае настройки PPPoE — когда необходимо установить соединение на определенный PPPoE концентратор (в том случае когда в сети имеется несколько концентраторов), без использования графических утилит.
sudo pppoe-discovery
.
Access-Concentrator: ac1
Got a cookie: 00 b0 f3 f8 77 fb 26 64 c8 5e 48 80 42 2e 5b a3
—————————————————
AC-Ethernet-Address: 88:43:e1:36:d9:00
Access-Concentrator: ac2
Got a cookie: c2 9c 3c db 26 06 89 f6 06 7e a0 06 ff 8a f8 17 9a 07 00 00
—————————————————
AC-Ethernet-Address: d8:d3:85:e3:85:75
.
^CВ моем случае видим два концентратора с именами ac1 и ac2. Предположим, что необходимо постоянно подключаться к концентратору ac2. Как это сделать? Создаем файл /etc/ppp/peers/pppoe, следующего содержания (в моем случае используя редактор vim):
ipcp-accept-local
ipcp-accept-remote
lcp-echo-interval 30
lcp-echo-failure 5
noipdefault
usepeerdns
defaultroute
replacedefaultroute
noccp
noaccomp
noauth
persist
mtu 1492
hide-password
connect /bin/true
pty «pppoe -I eth0 -C ac2» #
user ПОЛЬЗОВАТЕЛЬ #
password ПАРОЛЬ #Смотрим наличие интерфейса ppp0 в выводе команды ifconfig. Вывод команды приблизительно такой:
sudo ifconfig
.
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.22.51.19 P-t-P:94.70.254.21 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1472 Metric:1
RX packets:29890 errors:0 dropped:0 overruns:0 frame:0
TX packets:26304 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:17850149 (17.0 MiB) TX bytes:1835091 (1.7 MiB)
.Для автоматического создания PPPoE подключения при загрузке компьютера можно прописать следующие строки в /etc/network/interfaces:
Если PPPoE соединение используется для организации сервиса NAT в сети, то машины за этим NATом должны иметь MTU равный 1412. Иначе возможна ситуация когда, например, некоторые www ресурсы будут недоступны пользователям за NATом. Чтобы этого избежать можно «выравнивать» MTU при помощи iptables.
Загрузку правила для iptables сделаем автоматически, при установке PPPoE соединения. А при отключении соединения будем удалять это правило из iptables. Для этого создадим два файла. Для загрузки правила создадим файл /etc/ppp/ip-up.d/pppoemtu следующего содержания (например, при помощи редактора vim):
#! /bin/sh
PATH=/sbin:/bin:/usr/bin
set -e
if [ -n «$PPP_IFACE» ]; then
iptables -t mangle -o «$PPP_IFACE» —insert FORWARD 1 -p tcp —tcp-flags SYN,RST SYN -m tcpmss —mss 1400:1536 -j TCPMSS —clamp-mss-to-pmtu
fi#! /bin/sh
PATH=/sbin:/bin:/usr/bin
set -e
if [ -n «$PPP_IFACE» ]; then
iptables -t mangle -L -n -v —line-numbers | grep «TCPMSS.*$PPP_IFACE.*clamp» | cut -f1 -d » » | sort -r | xargs -n1 -r iptables -t mangle -D FORWARD
fiЕсли нет необходимости использовать определенный PPPoE концентратор, то надо просто в файле /etc/ppp/peers/pppoe заменить строку pty «pppoe -I eth0 -C ac2» на pty «pppoe -I eth0».