BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 июн 2025, 18:00

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Radius сервер отвечает не с того ip
СообщениеДобавлено: 16 мар 2011, 18:04 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
Здравствуйте.
У нас такая ситуация.
На сервере, где запускается BGRadiusDialup есть два интерфейса :
физический eth0 192.168.0.1/24
и виртуальный eth0:1 192.168.0.10/24
Все радиус-запросы приходят на адрес 192.168.0.10, при этом радиус шлет ответы с интерфейса с адресом 192.168.0.1. Соответственно в этом случае NAS не понимает, что ему вообще пришло.

Вот пример tcpdump:

Код:
14:02:12.741871 IP (tos 0x0, ttl 64, id 1200, offset 0, flags [none], proto UDP (17), length 190) 192.168.0.50.34002 > 192.168.0.10.1812: RADIUS, length: 162
   Access Request (1), id: 0x96, Authenticator: e2d75a2bf4a640fc688735fd2f16e3f4
     Username Attribute (1), length: 7, Value: guest
       0x0000:  6775 6573 74
     NAS ID Attribute (32), length: 20, Value: nas1
       0x0000:  7070 706f 6531 2e6f 736b 6f6c 6e65 742e
       0x0010:  7275
     NAS IP Address Attribute (4), length: 6, Value: 192.168.0.50
       0x0000:  5ee6 228a [|radius]
14:02:12.834753 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 657) 192.168.0.1.1812 > 192.168.0.50.34002: RADIUS, length: 629
   Access Accept (2), id: 0x96, Authenticator: 464a9363d9784b91a8bff875a3aaaa47
     Accounting Interim Interval Attribute (85), length: 6, Value: 01:00 min
       0x0000:  0000 003c
     Service Type Attribute (6), length: 6, Value: Framed
       0x0000:  0000 0002
     Framed Protocol Attribute (7), length: 6, Value: PPP
       0x0000:  0000 0001
     Framed IP Address Attribute (8), length: 6, Value: x.x.x.x
       0x0000:  bc7c 7202
     Vendor Specific Attribute (26), length: 58, Value: Vendor: Unknown (12341) [|radius]
       0x0000:  0000 3035 0734 6f75 [|radius]


Рыл документацию на тему указать ip на котором будет запускаться листенер BGRadiusDialup, но ничего не нашел (только номер порта можно указать).

Убрать виртуальный интерфейс не предлагать - это необходимо для нашей архитектуры системы.
Версия радиуса: version 5.1 build 240 from 29.11.2010 10:40:13


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 16 мар 2011, 22:26 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
а iptables нельзя подменять адрес отправителя?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 11:38 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
skn писал(а):
а iptables нельзя подменять адрес отправителя?

Можно, но хотелось бы чтобы работало без дополнительных костылей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 14:39 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
Можете сделать такое: чтобы можно было добавить в конфиг параметр, который бы определял, на каком интерфейсе листениться (и соотвественно с него же отвечать) радуису.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 15:45 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
а если не интерфейсах поменять ip местами


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 16:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
или же (как у нас) физический без IP и два виртуальных

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 16:11 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
skn писал(а):
а если не интерфейсах поменять ip местами

Так в нашем случае нельзя

Phricker писал(а):
или же (как у нас) физический без IP и два виртуальных

А вот это надо проверить, спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 17 мар 2011, 16:48 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
Phricker писал(а):
или же (как у нас) физический без IP и два виртуальных

Так тоже нельзя.
Проблема в том, что реальный ip используется демоном pulse (при помощи него реализуется отказоутойчивая система). И этот демон требует именно реальный ip, иначе отказывается стартовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 18 мар 2011, 13:58 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
Стоит нам ждать решения этой проблемы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 18 мар 2011, 21:00 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
версия какая?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 18 мар 2011, 21:07 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
gramer писал(а):
Стоит нам ждать решения этой проблемы?

проблемы? с этим??
gramer писал(а):
На сервере, где запускается BGRadiusDialup есть два интерфейса :
физический eth0 192.168.0.1/24
и виртуальный eth0:1 192.168.0.10/24

тут только
Код:
modprobe pryamie_ruki

поможет ...

по сути - сэр, как Вы себе представляете _нормальную_ "без дополнительных костылей"(с) работу сетевой подсистемы _любой_ ОС когда у Вас в рамках одной ОС есть 2 (два!) интерфейса принадлежащих 1 (одной!) подсети?

P.S. ув. разработчки, вообще идея с some.bgbilling.component.listen.ip.addr очень хорошая, подумайте о том чтобы реализовать ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 19 мар 2011, 21:22 
Не в сети

Зарегистрирован: 08 окт 2009, 16:06
Сообщения: 186
Карма: 20
зачем на биллинге два интерфейса?

если это так критично, то может стоит разделить их маской, чтоб они были в разных сетях. на билинге и насе. думаю при таком решении проблема исчезнет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 20 мар 2011, 18:28 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
snark писал(а):
тут только
Код:
modprobe pryamie_ruki

поможет ...

Такую настройку требует система failover, название которой я указал выше. Прямота рук тут совсем не причем.
snark писал(а):
по сути - сэр, как Вы себе представляете _нормальную_ "без дополнительных костылей"(с) работу сетевой подсистемы _любой_ ОС когда у Вас в рамках одной ОС есть 2 (два!) интерфейса принадлежащих 1 (одной!) подсети?

В тэге offtop вы сами ответили на этот вопрос. Как раз такой параметр мне и нужен, ну или хотябы заставить отвечать радиус с _того_же_ ip, на который пришли запросы.
stark писал(а):
версия какая?

Указана в первом посте:
gramer писал(а):
Версия радиуса: version 5.1 build 240 from 29.11.2010 10:40:13


braek-neck писал(а):
зачем на биллинге два интерфейса?

требуется для реализации отказоустойчивой системы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 21 мар 2011, 00:14 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
что то меня сомнения гложат, что вам поможет параметр биндига интерфейса (адрес на котором прога слушает и с которого отсылает не одно и тоже вроде...) так как иначе прога бы отправляла бы с того же интерфейса с которого приняла пакет....

P.S. посмотрите таблицу роутинга и попробуйте в ней поменять порядок следования интефейсов, я думаю именно она определяет с какого интерфейса прога будет слать ответ


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 22 мар 2011, 12:09 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
skn писал(а):
P.S. посмотрите таблицу роутинга и попробуйте в ней поменять порядок следования интефейсов, я думаю именно она определяет с какого интерфейса прога будет слать ответ

Не знаю, насколько это правильно, но удалось заставить радиус отвечать с нужного ip при помощи роутов. Вот такие команды пришлось выполнить:
Код:
route delete -net 192.168.0.0/24
route delete -net 192.168.0.0/24
route add -net 192.168.0.0/24 dev eth1 metric 20
route add -net 192.168.0.0/24 dev eth1:1 metric 0

Интересный момент в этом всем такой: после выполнения этих команд получаем два маршрута в таблице роутинга, отличающихся только метрикой, но не отличающихся интерфейсом.
Код:
netstat -rnvee
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1     0     0      0
192.168.0.0     0.0.0.0         255.255.255.0   U     20     0        0 eth1     0     0      0

Но, как ни странно, это работает :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 22 мар 2011, 14:14 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
gramer писал(а):
получаем два маршрута в таблице роутинга, отличающихся только метрикой, но не отличающихся интерфейсом.
Код:
netstat -rnvee
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1     0     0      0
192.168.0.0     0.0.0.0         255.255.255.0   U     20     0        0 eth1     0     0      0

Но, как ни странно, это работает :)

это _не_ странно, это _нормально_
в кратце: при наличии 2-х и более маршрутов с одинаковым адресом назначения пакеты всегда отправляются по маршруту с наименьшей метрикой

TIP: поставьте на Вашем бордере для дефолтного маршрута (сеть 0.0.0.0/0) метрику отличную от 0 и 1, например 100 и тогда перестанете играть с аплинком в пинг-понг пакетами ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Radius сервер отвечает не с того ip
СообщениеДобавлено: 22 мар 2011, 18:28 
Не в сети

Зарегистрирован: 08 июн 2010, 14:52
Сообщения: 13
Карма: 0
snark писал(а):
в кратце: при наличии 2-х и более маршрутов с одинаковым адресом назначения пакеты всегда отправляются по маршруту с наименьшей метрикой

Это я знаю. Собсно на основании этих знаний и были составлены правила роутинга, указанные выше.
Странно то, что имя интерфейса в результирующей таблице eth1, хотя я задавал для маршрута с метрикой 0 интерфейс eth1:1.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.050s | 50 Queries | GZIP : On ]