ipoe - relay

IPoE related questions
Post Reply
eklmno
Posts: 10
Joined: 05 Dec 2020, 16:56

ipoe - relay

Post by eklmno »

Добрый день,
Собрал недавно стенд - Accel-ppp с поддержкой ipoe , shape и тд.. , разбираюсь с ним по мере сил и возможностей.
Планирую, что клиенты будут находиться за GPON, подключение по ipoe, авторизация по vlan.
В сторону NAS будут лететь пакеты с двумя тэгами, но на стенде пытаюсь собрать конфигурацию попроще, при которой клиент включается в некоторый влан. Клиент должен получить IP адрес по dhcp и выйти в интернет. Должно быть всё просто. Если выдать адрес от Accel-ppp , то всё работает. Как только настраиваю relay dhcp запросов на внешний dhcp сервер, начинаются проблемы.
Cтрока инициализации интерфейса
interface=re:^enp4s0f0\.3[0-9],shared=1,mode=L2,start=dhcpv4,ifcfg=1,mtu=1500,relay=x.x.x.x,giaddr=10.50.16.1

насколько я понимаю, ifcfg=1 говорит акселю, что нужно автоматически сконфигурировать интерфейс (=giaddr=10.50.0.1), но этого не происходит. При старте акселя и отправке от клиента dhcp запроса на получение адреса, в логах пишется сообщение :

[2020-12-05 20:35:52]: debug: libnetlink: RTNETLINK answers: No such file or directory
[2020-12-05 20:35:52]: debug: vlan-mon: notify 6 32 0800 0
[2020-12-05 20:35:52]: info: ipoe: create vlan enp4s0f0.32 parent enp4s0f0
[2020-12-05 20:35:52]: info: ipoe: start interface enp4s0f0.32 (shared=1,mode=L2,start=dhcpv4,ifcfg=1,mtu=1500,relay=x.x.x.x,giaddr=10.50.16.1)
[2020-12-05 20:35:52]: error: dhcpv4: relay: x.x.x.x: bind: Cannot assign requested address

я так понимаю, что на интерфейсе enp4s0f0.32 не создается адрес 10.50.16.1 при поступлении dhcp пакета, но понять причину пока не могу.
Подскажите пжлст, в чем может быть проблема. Пытаюсь пройти этот квест уже несколько дней.
Спасибо!
Юрий
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: ipoe - relay

Post by dimka88 »

Добрый бень, я бы рассмотрел QinQ vlan на пользователя если OLT позволяет это, более интересная схема как по мне, включая изоляцию клиентов.
Что касается relay, тоскорее всего он должен находится в клиентском VLAN
eklmno
Posts: 10
Joined: 05 Dec 2020, 16:56

Re: ipoe - relay

Post by eklmno »

Спасибо,
Пока GPON головы не было, авторизовал абона с каталиста по одному тегу, qinq в планах, на этой неделе как раз всё соберу и начну с qinq.
Cо вчерашнего дня переделал авторизацию по option82. Relay оставил, giaddr убрал. Теперь relay отправляет Discover с адреса x.x.x.x, пакет долетает до биллинга и тот разбирает опцию82. Авторизация взлетела, клиент получил адрес и даже выходит в инет,

@accel1:/var/log/accel-ppp# /usr/bin/accel-cmd -p 2001 show sessions
ifname | ip | state | ipoe-type | rate-limit | uptime | calling-sid | rx-bytes
-------------+--------------+--------+-----------+------------+----------+-------------------+----------
enp4s0f0.32 | 10.50.23.254 | active | dhcp | 4177/4177 | 00:26:19 | 00:0c:29:82:c3:21 | 8.9 MiB

правда пока в логах ругается :
[2020-12-06 16:17:06]: error: dhcpv4: recv: Connection refused
скорее всего эта ошибка связана с тем, что бродкаст от клиента прилетает внутри одного влана, релэй переправляет юникаст на dhcp с другого интерфейса (другого сурса) и когда dhcp отвечает, пакет возвращается не на тот сокет, где слушает клиент. И получается, что при релее по любому надо подставлять правильный giaddr. Это догадки, проверю попозже.

А не подскажете еще по ошибке...
[2020-12-05 20:35:52]: debug: libnetlink: RTNETLINK answers: No such file or directory
где то вычитал, что она связана с tc и появляется когда tc меняет дисциплину на несуществующем вирт. интерфейсе и в качестве решения предлагается сначала создать дисциплину, а затем менять ее, напрмер:
tc qdisc add dev enp4s0f0.100 root netem delay 400ms 100ms distribution normal
tc qdisc change dev enp4s0f0.100 root netem delay 400ms 50ms distribution normal

а если выполнить сразу tc qdisc change ... то как раз появляется такая же ошибка - libnetlink: RTNETLINK answers: No such file or directory .

В самом начале знакомства с акселем я использовал внешние скрипты для установки шейпа, которые в свою очередь как раз использовали tc, но позже отказался от них в пользу встроенного шейпера. Встроенный то работает, но ошибка осталась
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: ipoe - relay

Post by dimka88 »

Если подскажете как воспроизвети могу подебажить эту ошибку
eklmno
Posts: 10
Joined: 05 Dec 2020, 16:56

Re: ipoe - relay

Post by eklmno »

Было бы здорово конечно, знать бы откуда она растет.
Ответил пока в личку, как вариант.
Актуальнее проблема с релеем. Адрес, который прописываю в giaddr не поднимается при установлении сессии и отправке на адрес relay.
Кто нибудь пытался использовать relay в конфигурации акселя? Есть живой пример ?
Спасибо!
Post Reply