Выбор нужного AC для PPPoE в Debian/Ubuntu

 Дома у меня доступ в Интернет через нашего замечательного местного провайдера — ТВТ.

Подключение по технологии PPPoE — Pont-To-Point Protocol over Ethernet. Внутрь Ethernet-кадров упаковывается PPP, а в PPP уже инкапсулируется TCP/IP.

Если клиент хочет подключиться к интернету, то он посылает специальный широковщательный Ethernet-кадр на адрес FF:FF:FF:FF:FF:FF. 

У провайдера должен быть установлен AC — Access Concentrator. У АС, как у любого сетевого устройства, есть свой MAC-адрес, и ИМЯ. У ТВТ оно такое: HQ.

АС отвечает на широковещательный кадр ответным кадром, в котором содержится информация о МАС-адресе и имени концентратора доступа. Ну а дальше клиент решает подключаться ему или нет =)

Все бы хорошо, если в локальной сети присутствует только один провайдерский концентратор доступа. Иногда в локалке их появляется несколько. Наверное кто-то из абонентов пытается поднять pppoe-сервер. В случае, если ответный кадр от «левого» АС придёт раньше «провайдерского», то клиент попытается подключиться именно к этому концентратору. Но «настоящий» АС обычно находится дальше «левого». Дальше все понятно. Бесконечные попытки подключиться не будут увенчаны успехом, да и логин с паролем так сныкать могут(в том случае, если для авторизации используется метод PAP).

Такое бывало раньше, но не так болезненно, как сегодня...

root@laptop:~# pppoe-discovery 
Access-Concentrator: maxnet        
Service-Name: SabNet 
Got a cookie: bc a7 87 d4 80 e5 2f e3 b2 1d 3f e9 41 ca c9 e1 8a 24 00 00 
-------------------------------------------------- 
AC-Ethernet-Address: 00:1e:8c:91:a2:b3 
Access-Concentrator: HQ 
-------------------------------------------------- 
AC-Ethernet-Address: 00:30:88:11:16:4b 
Access-Concentrator: HQ 
-------------------------------------------------- 
AC-Ethernet-Address: 00:30:88:11:16:4c 
Access-Concentrator: HQ 
-------------------------------------------------- 
AC-Ethernet-Address: 00:30:88:11:16:5a 

Вот он, «левый» АС: maxnet

 

Ответ от него приходил всегда первым и подключиться не удавалось никак.
В дебиане и в убунте для настройки PPPoE-подключения обычно используют пакет pppoeconf

В диалоге настройки нельзя указать конкретный концентратор доступа. Зато можно исправить файл конфигурации. 

# vim /etc/ppp/peers/dsl-provider

# Minimalistic default options file for DSL/PPPoE connections noipdefault defaultroute replacedefaultroute hide-password  
#lcp-echo-interval 30  
#lcp-echo-failure 4 noauth persist  
#mtu 1492 
#persist  
#maxfail 0 
#holdoff 20 
plugin rp-pppoe.so eth0 user "имя пользователя"

Нужно поправить следующую строку:

plugin rp-pppoe.so rp_pppoe_ac 'HQ' eth0

Сохраняем, выходим и пытаемся подключиться:

# pon dsl-provider

Смотрим логи подключения:

# plog

А в винде для надо ставить

А в винде для надо ставить /HQ ?

Ога, в свойствах соединения

Ога, в свойствах соединения

Забавно, а Мне как раз нужно

Забавно, а Мне как раз нужно было maxnet прописать plugin rp-pppoe.so rp_pppoe_ac 'maxnet' eth0 А еще нужно было MAC Сменить на eth0

Идем в /etc/network/if-pre-up.d/ и создаём там от рута файл, например имени changemac:

sudo gedit /etc/network/if-pre-up.d/changemac 

В этот файл пишем следующее:

#! /bin/sh

ifconfig eth0 hw ether 00:00:00:00:00:00

00:00:00:00:00:00 заменить нужным мак-адресом. Делаем его исполняемым:

sudo chmod +x /etc/network/if-pre-up.d/changemac 

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

/etc/init.d/networking restart

Отправить комментарий

КАПЧА
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Enter the characters shown in the image.