Перейти к содержимому
Калькуляторы

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Да, PPPoE. Нельзя по логину? Может ли accel передать в радиус эту опцию pppoe circuit id insertion и интерфейс(в данном случае vlan)?

Изменено пользователем roysbike

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

по логину тоже самое, только match username

 

вообще есть команда help в CLI

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

по логину тоже самое, только match username

 

вообще есть команда help в CLI

спасибо, у вас приходит в radius NAS-Port-Id = ? В словарях accel есть, а в радиус не прилетает .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасибо, у вас приходит в radius NAS-Port-Id = ? В словарях accel есть, а в радиус не прилетает .

Можно так

[pppoe]

ifname-in-sid=called-sid

 

 

в радиусе будет что то типо

Called-Station-Id=eth1.3002:00:02:55:53:10:6d

 

 

А NAS-Port-Id вроде как нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

большое спасибо, запилил, работает.

Cейчас хлебаем полными ложками проблему с новым ядром Centos 6.5 - давно не перезагружали серв и на тебе. Пока резервный трудится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

большое спасибо, запилил, работает.

Cейчас хлебаем полными ложками проблему с новым ядром Centos 6.5 - давно не перезагружали серв и на тебе. Пока резервный трудится.

Используйте ядро kernel-lt из elrepo, там уже есть модуль

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Используйте ядро kernel-lt из elrepo, там уже есть модуль

в elrepo есть kernel-ml и kernel-lt, вы считаете, что нужно ставить именно kernel-lt?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Xeb а как в режиме L3 shared UP происходит перенаправление трафика на виртуальный интерфейс в таблице маршрутизации ничего не заметил. Как посмотреть правила в системе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

Изменено пользователем ua_mister

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

В последней версии есть accel-cmd и я делаю типа так:

accel-cmd show sessions | grep eth2.445

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

В последней версии есть accel-cmd и я делаю типа так:

accel-cmd show sessions | grep eth2.445

Ну это я так понимаю для IPoE. По идее эта команда покажет IPoE сессию eth2.455. Или я ошибаюсь? просто у меня не самая последняя версия на боевом серваке и accel-cmd в ней нет, позже смогу проверить на тестовом 1,7,3 с соурсфорджа.

Изменено пользователем ua_mister

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

В последней версии есть accel-cmd и я делаю типа так:

accel-cmd show sessions | grep eth2.445

Ну это я так понимаю для IPoE. По идее эта команда покажет IPoE сессию eth2.455. Или я ошибаюсь? просто у меня не самая последняя версия на боевом серваке и accel-cmd в ней нет, позже смогу проверить на тестовом 1,7,3 с соурсфорджа.

Вот для pppoe:

# accel-cmd show sessions | grep vlan120
ppp175  | 1189@lan       | dc:0e:a1:f1:17:00 | vlan120:00:1b:21:b3:29:c5 | 10.102.3.24     | 2001/1000   | pppoe |      | active | 00:08:06
ppp46   | 1166@wlan      | 00:15:6d:f0:10:d2 | vlan120:00:1b:21:b3:29:c5 | 10.102.5.130    | 1000/256    | pppoe |      | active | 00:04:21
ppp191  | 1141@wlan      | 00:0c:42:cc:c7:71 | vlan120:00:1b:21:b3:29:c5 | 10.102.1.27     | 1000/256    | pppoe |      | active | 00:03:44
ppp0    | 1171@wlan      | d4:ca:6d:3e:94:8f | vlan120:00:1b:21:b3:29:c5 | 10.50.4.13      | 200/100     | pppoe |      | active | 00:03:08
ppp208  | 1137@wlan      | 00:0c:42:d7:5b:cf | vlan120:00:1b:21:b3:29:c5 | 10.102.3.109    | 1000/256    | pppoe |      | active | 00:00:11

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

В последней версии есть accel-cmd и я делаю типа так:

accel-cmd show sessions | grep eth2.445

Ну это я так понимаю для IPoE. По идее эта команда покажет IPoE сессию eth2.455. Или я ошибаюсь? просто у меня не самая последняя версия на боевом серваке и accel-cmd в ней нет, позже смогу проверить на тестовом 1,7,3 с соурсфорджа.

Вот для pppoe:

# accel-cmd show sessions | grep vlan120
ppp175  | 1189@lan   	| dc:0e:a1:f1:17:00 | vlan120:00:1b:21:b3:29:c5 | 10.102.3.24 	| 2001/1000   | pppoe |      | active | 00:08:06
ppp46   | 1166@wlan      | 00:15:6d:f0:10:d2 | vlan120:00:1b:21:b3:29:c5 | 10.102.5.130    | 1000/256    | pppoe |      | active | 00:04:21
ppp191  | 1141@wlan      | 00:0c:42:cc:c7:71 | vlan120:00:1b:21:b3:29:c5 | 10.102.1.27 	| 1000/256    | pppoe |      | active | 00:03:44
ppp0    | 1171@wlan      | d4:ca:6d:3e:94:8f | vlan120:00:1b:21:b3:29:c5 | 10.50.4.13      | 200/100 	| pppoe |      | active | 00:03:08
ppp208  | 1137@wlan      | 00:0c:42:d7:5b:cf | vlan120:00:1b:21:b3:29:c5 | 10.102.3.109    | 1000/256    | pppoe |      | active | 00:00:11

Спасибо! Всё понял. Еще вопросик: последняя версия, это имелось ввиду последняя стабильная 1.7.3 с соурсфорджа, или то что сейчас собирают с поддержкой IPoE с github?

 

UPD: С соурсфорджа собранная 1.7.3 не умеет accel-cmd

Изменено пользователем ua_mister

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я так понимаю вопрос по pppoe ?

явно указать интерфейс нельзя, но можно по его мак адресу

show sessions match called-sid xx:xx:xx:xx:xx:xx

Это всё не то, хотелось бы что то типа "show sessions match eth2.445" что бы отображало сессии подключенные на интерфейсе eth2.445 к примеру.

Мак адреса у вланов одинаковые)

 

вообще есть команда help в CLI

Спасибо, это я знаю)))

В последней версии есть accel-cmd и я делаю типа так:

accel-cmd show sessions | grep eth2.445

Ну это я так понимаю для IPoE. По идее эта команда покажет IPoE сессию eth2.455. Или я ошибаюсь? просто у меня не самая последняя версия на боевом серваке и accel-cmd в ней нет, позже смогу проверить на тестовом 1,7,3 с соурсфорджа.

Вот для pppoe:

# accel-cmd show sessions | grep vlan120
ppp175  | 1189@lan   	| dc:0e:a1:f1:17:00 | vlan120:00:1b:21:b3:29:c5 | 10.102.3.24 	| 2001/1000   | pppoe |      | active | 00:08:06
ppp46   | 1166@wlan      | 00:15:6d:f0:10:d2 | vlan120:00:1b:21:b3:29:c5 | 10.102.5.130    | 1000/256    | pppoe |      | active | 00:04:21
ppp191  | 1141@wlan      | 00:0c:42:cc:c7:71 | vlan120:00:1b:21:b3:29:c5 | 10.102.1.27 	| 1000/256    | pppoe |      | active | 00:03:44
ppp0    | 1171@wlan      | d4:ca:6d:3e:94:8f | vlan120:00:1b:21:b3:29:c5 | 10.50.4.13      | 200/100 	| pppoe |      | active | 00:03:08
ppp208  | 1137@wlan      | 00:0c:42:d7:5b:cf | vlan120:00:1b:21:b3:29:c5 | 10.102.3.109    | 1000/256    | pppoe |      | active | 00:00:11

Спасибо! Всё понял. Еще вопросик: последняя версия, это имелось ввиду последняя стабильная 1.7.3 с соурсфорджа, или то что сейчас собирают с поддержкой IPoE с github?

Да.

Раз IPoE, то с github.

Сам правда еще сижу на версии от 28.11.2013.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Xeb а как в режиме L3 shared UP происходит перенаправление трафика на виртуальный интерфейс в таблице маршрутизации ничего не заметил. Как посмотреть правила в системе?
в недрах драйвера ipoe

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[root@bsr01 accel-ppp]# cat /var/run/radattr.ppp0 | grep PPPD

ну типа пусто

[root@bsr01 accel-ppp]# cat /usr/share/accel-ppp/radius/dictionary | grep PPPD

ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer

ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer

[root@bsr01 accel-ppp]# cat /etc/accel-ppp.conf | grep -e 'radius'

radius

[radius]

dictionary=/usr/share/accel-ppp/radius/dictionary

 

радиус сервер yf на другой машине, на ней же блилинг нетамc ОС Cento6.5 amd64

Мужики покажите где я мог налажать?

Изменено пользователем Tanatos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Xeb не совсем понятна функция нат.

из доки

Если радиус (или локальный пул) выдаст внешний ип, то он будет назначен на этот псевдоинтерфейс и с помощью него будет осуществляться NAT.

Не совсем понятно как аксел определяет это внешний или локальный адрес. но судя по всему пока не включишь недокументированную nat=1 ничего не происходит.

После включения нат работает, но как я понял для всех адресов локальный или внешний без разницы.

Но:

Если использовать внешний DHCP сервер то например

сервер выдал адрес 192.168.5.254, а на ipoe0 назначается адрес 192.168.5.2 и осуществляется нат.

клиент получил адрес 192.168.5.254 аксел его натит в 192.168.5.2

Если используется внутренний dhcp то всё нормально.

Изменено пользователем brodayga

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если включено nat=1, то адрес выданный дхцп клиенту через внешний дхцп сервер, локальный поинтерфейный пул или радиусом через атрибут attr-dhcp-client-ip считаются локальными

при этом, адрес выданный через ip-pool или радиусом через атрибут Framed-IP-Address считается внешним

так-же нужно указать в конфиге через опции local-net сети которые являются локальными, к которым, соотвественно, не будет применяться нат

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если включено nat=1, то адрес выданный дхцп клиенту через внешний дхцп сервер, локальный поинтерфейный пул или радиусом через атрибут attr-dhcp-client-ip считаются локальными

при этом, адрес выданный через ip-pool или радиусом через атрибут Framed-IP-Address считается внешним

так-же нужно указать в конфиге через опции local-net сети которые являются локальными, к которым, соотвественно, не будет применяться нат

Изначально то что вешал 192.168.5.2 разобрался - экспериментировал с выдачей по радиусу framed-pool и забыл убрать.

убрал он теперь вешает адрес из первого пула.

 

 

Конфиг

[ipoe]
verbose=10
lua-file=/etc/accel-ppp.lua
username=lua:username
password=username1
lease-time=600
max-lease-time=3600
unit-cache=10
shared=1
ifcfg=0
mode=L2
start=dhcpv4
proxy-arp=0
nat=1
local-net=192.168.5.0/24
interface=eth3,mode=L2,relay=192.168.0.111,giaddr=192.168.3.1

ответ радиуса

[2014-03-25 18:35:34]:  info: eth3: recv [RADIUS(1) Access-Accept id=1 <Acct-Interim-Interval 60> <Service-Type Framed-User> <Framed-Protocol PPP> <PPPD-Down
stream-Speed-Limit 1200> <PPPD-Upstream-Speed-Limit 1200> <Vendor-Specific > <Vendor-Specific >]

DHCP ответ клиенту
send [DHCPv4 Ack xid=dad46773 yiaddr=192.168.5.253 chaddr=00:0c:42:89:64:01 <Message-Type Ack> <Server-ID 192.168.5.1> <
Lease-Time 660> <Router 192.168.5.1> <Subnet 255.255.255.0> <Relay-Agent {Agent-Circuit-ID eth3} {Agent-Remote-ID accel-pppd}> <Relay-Agent {Agent-Circuit-ID
eth3} {Agent-Remote-ID accel-pppd}>]

 

 

ip a show dev ipoe0
ipoe0: <POINTOPOINT,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc tbf state UNKNOWN qlen 100
   link/ether a0:36:9f:2c:f0:4b peer ff:ff:ff:ff:ff:ff
   inet 192.168.5.1 peer 192.168.0.2/32 scope global ipoe0

 

 

 

ippool подключён в модулях

и есть конфиг он из него и выдает на нат.

Если его отключить тогда не вешает,но тогда pool нельзя будет использовать нигде.

[ip-pool]
gw-ip-address=192.168.0.1
attr=Framed-Pool
192.168.0.2-255
192.168.1.1-255,name=pool1
192.168.2.1-255,name=pool2
192.168.3.1-255,name=pool3
192.168.4.0/24

 

 

 

всё разобрался, надо оставить только именованные пулы.

Изменено пользователем brodayga

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Xeb по поводу того что в личку скидывал не смотрели? есть возможность включить в код или изменения нарушают функционал ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В man pppd есть упоминание auth-up сценария

/etc/ppp/auth-up

Программа или сценарий, который выполняется после того, как удалённая система подтвердила свою подлинность. Он выполняется со следующими параметрами:

имя_интерфейса имя_партнёра имя_пользователя tty_устройство скорость

 

/etc/ppp/ip-up

Программа или сценарий, который будет запущен когда канал станет доступным для отправки и приёма IP-пакетов (по завершении IPCP). Он исполняется с параметрами

имя_интерфейса tty_устройство скорость местный_IP_адрес удалённый_IP_адрес ipparam

 

Если я добавлю в конфиг accel в секцию к ip-up отсыл еще и к auth-up, то он его поймет или нет?

 

Или чтобы вытащить имя пользователя лучше собрать версию с поддержкой accel-cmd и выдергивать через ip-up с помощью accel-cmd show sessions | grep pppX (речь идет о версии без поддержки radius, т.к. с ним все понятно как делать)?

 

Т.е. мне просто надо в логи в БД через ip-up положить логин, под которым вошел клиент.

-------------------

UPD: уже прикрутил кусок кода про accel-cmd и собрал с ним, но все же про auth-up было бы интересно узнать.

Изменено пользователем replicant

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вообщето имя пользователя передаётся в скрипты через переменную окружения PEERNAME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вообщето имя пользователя передаётся в скрипты через переменную окружения PEERNAME

Мне технически было бы проще выдернуть ее так как это предполагается в auth-up

#!/usr/bin/perl

# скрипт auth-up

$username = $ARGV[1];

 

А как узнать уже в установленной сессии по номеру pppX какой логин был использован кроме как через accel-cmd?

Т.е. как мне найти соответствие ppp и логина другим способом? Тут я чего-то затупил...

Изменено пользователем replicant

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас