В данной заметке пойдет речь о частном случае настройки PPPoE - когда необходимо установить соединение на определенный PPPoE концентратор (в том случае когда в сети имеется несколько концентраторов), без использования графических утилит.Для начала установим необходимые пакеты:
sudo aptitude install pppoe ppp
Далее выполним поиск имеющихся 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:00Access-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
...В моем случае видим два концентратора с именами ac1 и ac2. Предположим, что необходимо постоянно подключаться к концентратору ac2. Как это сделать? Создаем файл /etc/ppp/peers/pppoe, следующего содержания:
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 ПАРОЛЬ # <-- Тут ваш пароль
После создания файла можно пробовать устанавливать соединение, выполнив в командной строке:sudo pon pppoe
Смотрим наличие интерфейса 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)
...Если интерфейса ppp0 в выводе команды ifconfig нет, смотрим логи:
sudo plog
или
sudo grep ppp /var/log/syslog
Для автоматического создания PPPoE подключения при загрузке компьютера можно прописать следующие строки в /etc/network/interfaces:
auto ppp0
iface ppp0 inet ppp
pre-up /sbin/ifconfig eth0 up
provider pppoe
Для отключения соединения PPPoE достаточно выполнить следующую команду:sudo poff pppoe
Если PPPoE соединение используется для организации сервиса NAT в сети, то машины за этим NATом должны иметь MTU равный 1412. Иначе возможна ситуация когда, например, некоторые www ресурсы будут недоступны пользователям за NATом. Чтобы этого избежать можно "выравнивать" MTU при помощи iptables.
Загрузку правила для iptables сделаем автоматически, при установке PPPoE соединения. А при отключении соединения будем удалять это правило из iptables. Для этого создадим два файла. Для загрузки правила создадим файл /etc/ppp/ip-up.d/pppoemtu следующего содержания:
#! /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
Для удаления правила создадим файл /etc/ppp/ip-down.d/pppoemtu следующего содержания:#! /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Чтобы правила работали надо сделать файлы исполняемыми:
sudo chmod 755 /etc/ppp/ip-up.d/pppoemtu /etc/ppp/ip-down.d/pppoemtu
Проверить наличие правила в iptables после установки соединения можно выполнив следующую команду:
sudo iptables -L -n -v -t mangle
Если нет необходимости использовать определенный PPPoE концентратор, то надо просто в файле /etc/ppp/peers/pppoe заменить строку pty "pppoe -I eth0 -C ac2" на pty "pppoe -I eth0".
URL: http://gettoknowlinux.blogspot.com/2010/09/nastrojjka-pppoe-...
Обсуждается: https://www.opennet.ru/tips/info/2445.shtml
А ещё в Debian-е есть пакет/скрипт pppoeconf, который делает дискавери и пишет конфиг для ppp.
Вот потихоньку люди уже пишут правильно Debian-way инструкции.
2 Andrey Mitrofanov - это если надо быстро и не хочется знать как работает, а здесь достаточно подробно описано что и как.
Вот как раз «как работает» тут не написано, скорее «что куда написать, чтоб работало».
несколько концентраторов... это ж страшная редкость.
ну не знаю, подозреваю, что любители чужих паролей - не такая уж и редкость
Ну не знаю как было в далёком 2010, но сейчас у меня 9 штук брасов :)
а можно сделать проще:
http://mtaalamu.ru/blog/admining/790.html
Костыли.
Поясните свою глубокую мысль.
В любом дистрибутиве это настраивается мышкой. А в Дебиане ещё и псевдографическая утилита для настройки есть в главном меню или в меню настроек.
> В любом дистрибутиве это настраивается мышкой. А в Дебиане ещё и псевдографическая
> утилита для настройки есть в главном меню или в меню настроек.не в любой инсталляции есть то, во что мышкой можно тыкать
не факт, для меня лично, лишние графические приблуды - это костыли
Объясните мне - зачем в скрипте /etc/ppp/ip-down.d/pppoemtu - все эти find/sed/grep/awk/cut/etcПочему просто не удалить тоже правило? - скрипт будет отличаться практически одним символом (-I vs -D)
Да, Вы правы будет действительно проще.
нафига pon/poff и ifconfig(!) через судо?
С каких пор эти команды работают от пользователя в деструктивном (изменяют что либо) режиме?
"Смотрим наличие интерфейса ppp0" - вряд ли это деструктивный режим?а по остальному:
$ ls -l /usr/sbin/pppd
-rwsr-xr-- 1 root dip 277352 2009-02-20 20:25 /usr/sbin/pppd
$ grep dip /etc/group
dip:x:30:username
$
а про plog вообще в мане написано:Note: the plog script can only be used by root or another system admin‐istrator in group "adm", due to security reasons
>"Смотрим наличие интерфейса ppp0" - вряд ли это деструктивный режим?Ага, и кроме того "просто добавь путь":
$ /sbin/ifconfig ppp0
ppp0: error fetching interface information: Device not found
$ /sbin/ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2341306 errors:0 dropped:0 overruns:0 frame:0
TX packets:2341306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2061096919 (1.9 GiB) TX bytes:2061096919 (1.9 GiB)
$ _>-rwsr-xr-- 1 root dip 277352 2009-02-20 20:25 /usr/sbin/pppd
>dip:x:30:username
>system admin‐istrator in group "adm", due to security reasonsДа-да-да, помню дома для pppoe какие-то группы "давал" пользователям... Но :( не помню, какие.
И вообще: sudo на каждый чих -- это явный Убунту-вэй и буквы "Debian" в заголовке как-то лишние, сдаётся мне. So much for "пишут правильно Debian-way инструкции"---
Kak mofno podkliucitsea k internetu v ubuntu i puppy linux ispolzuia modem MF 633? Zaranee bldadariu.