The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Настройка PPPoE соединения в Debian..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Настройка PPPoE соединения в Debian..."  +/
Сообщение от auto_tips (?), 24-Сен-10, 14:12 
В данной заметке пойдет речь о частном случае настройки 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: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
    ...

В моем случае видим два концентратора с именами 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-...
Обсуждается: http://www.opennet.me/tips/info/2445.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Andrey Mitrofanov (?), 24-Сен-10, 14:12   +/
А ещё в Debian-е есть пакет/скрипт pppoeconf, который делает дискавери и пишет конфиг для ppp.
Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от StreSS.t (ok), 24-Сен-10, 15:36   +/
Вот потихоньку люди уже пишут правильно Debian-way инструкции.
2 Andrey Mitrofanov - это если надо быстро и не хочется знать как работает, а здесь достаточно подробно описано что и как.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7

3. Сообщение от utilitytrack (?), 25-Сен-10, 01:29   +/
несколько концентраторов... это ж страшная редкость.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15, #19

4. Сообщение от аноним (?), 25-Сен-10, 10:48   +/
а можно сделать проще:
http://mtaalamu.ru/blog/admining/790.html
Ответить | Правка | Наверх | Cообщить модератору

5. Сообщение от Zenitur (?), 25-Сен-10, 11:49   +/
Костыли.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13

6. Сообщение от haters (?), 26-Сен-10, 11:40   +/
Объясните мне - зачем в скрипте /etc/ppp/ip-down.d/pppoemtu - все эти find/sed/grep/awk/cut/etc

Почему просто не удалить тоже правило? - скрипт будет отличаться практически одним символом (-I vs -D)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9

7. Сообщение от Anon (?), 26-Сен-10, 20:53   +/
Вот как раз «как работает» тут не написано, скорее «что куда написать, чтоб работало».
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

8. Сообщение от fozz (?), 27-Сен-10, 09:23   +/
нафига pon/poff и ifconfig(!) через судо?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

9. Сообщение от StreSS.t (ok), 27-Сен-10, 10:13   +/
Да, Вы правы будет действительно проще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

10. Сообщение от StreSS.t (ok), 27-Сен-10, 10:14   +/
С каких пор эти команды работают от пользователя в деструктивном (изменяют что либо) режиме?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #11

11. Сообщение от fozz (?), 27-Сен-10, 11:38   +1 +/
"Смотрим наличие интерфейса 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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #12

12. Сообщение от Andrey Mitrofanov (?), 27-Сен-10, 11:47   +/
>"Смотрим наличие интерфейса 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 инструкции"---

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

13. Сообщение от Alex (??), 27-Сен-10, 13:41   +1 +/
Поясните свою глубокую мысль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #14

14. Сообщение от Zenitur (?), 29-Сен-10, 10:42   +/
В любом дистрибутиве это настраивается мышкой. А в Дебиане ещё и псевдографическая утилита для настройки есть в главном меню или в меню настроек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #16, #18

15. Сообщение от Aquarius (ok), 04-Окт-10, 01:26   +/
ну не знаю, подозреваю, что любители чужих паролей - не такая уж и редкость
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

16. Сообщение от Aquarius (ok), 04-Окт-10, 16:04   +/
> В любом дистрибутиве это настраивается мышкой. А в Дебиане ещё и псевдографическая
> утилита для настройки есть в главном меню или в меню настроек.

не в любой инсталляции есть то, во что мышкой можно тыкать

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

17. Сообщение от sergiu ardeleanuemail (?), 05-Окт-10, 16:48   +/
Kak mofno podkliucitsea k internetu v ubuntu i puppy linux ispolzuia modem MF 633? Zaranee bldadariu.
    

Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от Sugar (ok), 05-Окт-10, 16:50   +/
не факт, для меня лично, лишние графические приблуды - это костыли
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

19. Сообщение от Мурадemail (??), 17-Мрт-21, 12:54   +/
Ну не знаю как было в далёком 2010, но сейчас у меня 9 штук брасов :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру