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

Два NAS в сети - как настроить маршрутизацию?

Имеем такую схему (упрощенно):

      Интернет
          |
NAS-----Router
          |
          юзер

NAS - mpd+radius (FreeBSD), Router - Linux (там же NAT).

"юзер" после авторизации получает статический "туннельный" IP, например, 172.17.20.21. 172-я подсеть поделена на 4 (172.16.0.0/16, 172.17.0.0/16, 172.18.0.0/16, 172.19.0.0/16), IP назначается согласно тарифного плана, т.е. при смене тарифа, он может быть 172.16.20.21, 172.17.20.21, 172.18.20.21, или 172.19.20.21

На роутере настроена статическая маршрутизация:

172.18.0.0      XXX.XXX.XXX.XXX     255.255.0.0     UG    0      0        0 vlan10
172.19.0.0      XXX.XXX.XXX.XXX     255.255.0.0     UG    0      0        0 vlan10
172.16.0.0      XXX.XXX.XXX.XXX     255.255.0.0     UG    0      0        0 vlan10
172.17.0.0      XXX.XXX.XXX.XXX     255.255.0.0     UG    0      0        0 vlan10

где XXX.XXX.XXX.XXX - это IP NAS.

Возникла необходимость в установке второго NAS (один уже не справляется). Соотв. схема сети изменяется до такого вида:

         Интернет
            |
NAS1-----Router-----NAS2
            |
          юзер

Оба NAS находятся в одной подсети /29

Юзеров по NAS-ам предполагается "распределять" рандомно с помощью простой конструкции в DNS

rrset-order {
    class IN type A name "vpn.mydomain.ru" order random;
    order cyclic;
      };

где соотв. vpn.mydomain.ru имеет две записи с различными IP в "IN A".

Вопрос - как в этом случае настроить маршрутизацию ?

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

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


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

включить динамическую маршрутизацию на роутере и насах.

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


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

включить динамическую маршрутизацию на роутере и насах.
Гм.. Слишком кратко, суть понятна, а вот способы реализации - увы... :(

Предположительно мне нужен RIP (или OSPF ???) с реализацией на quagga. Если не ошибаюсь (особенно насчет OSPF - вроде как "из пушки по воробъям" получается), то где-бы полицезреть рабочий пример реализации?

 

P.S. С динамической маршрутизацией сталкиваюсь в первый раз, отсюда собственно и вопрос. Впервой оно все тяжеловато. :)

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


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

[root@vpn1 ~]# cat /etc/quagga/ripd.conf
!
! Zebra configuration saved from vty
!   2008/11/17 19:28:01
!
hostname vpn1.lds.local
password ************
enable password *************
!
interface eth0
no ip rip authentication mode md5
!
router rip
version 2
redistribute connected
redistribute static
network 10.0.5.0/24
neighbor 10.0.5.254
!
line vty
!
log file /var/log/quagga/ripd.log

 

10.0.5.254 - DGS3627G со включенным RIP на этом интерфейсе. Ну в случае там PC роутера - небольшая разница.

Я использую RIP для построения маршрутизации между впнами и OSPF для локальной сети. Ну и BGP наружу ;)

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


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

Поднимай OSPF.

У меня динамическая маршрутизация между L3-свитчом в ядре, двумя NAS-ами и бордером.

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


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

Поднимай OSPF.

У меня динамическая маршрутизация между L3-свитчом в ядре, двумя NAS-ами и бордером.

и что таки поднялся на кваге под фрей? и хорошо работает?

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


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

Использую для этих целей bgp (4 NASa к одному роутеру). Проблем нет, работает быстро. Черт знает что использует провайдер-конкурент - после подключения к инету еще 40-60 секунд надо ждать, пока маршрут поднимится.

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


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

и что таки поднялся на кваге под фрей? и хорошо работает?
На линупсе поднялся и работает отлично. Таки что будет на этой вашей фре - не знаю, но подозреваю, что будет работать.
Использую для этих целей bgp (4 NASa к одному роутеру). Проблем нет, работает быстро. Черт знает что использует провайдер-конкурент - после подключения к инету еще 40-60 секунд надо ждать, пока маршрут поднимится.
BGP - он сооооовсем для других целей.

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


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

Использую для этих целей bgp (4 NASa к одному роутеру). Проблем нет, работает быстро. Черт знает что использует провайдер-конкурент - после подключения к инету еще 40-60 секунд надо ждать, пока маршрут поднимится.
так же сделано.

но есть ощущение что роутер слегка офигевает от большого кол-ва /32.

 

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


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

Сам подумывал над подобной схемой. Пока не реализовал, но идеи такие:

 

Вынести НАТ на НАСы, а только реальники по динамическим маршрутам. Тогда не будут таблицы забиваться совсем. И адресацию с радиуса можно всем одинаковую давать, т.к. до НАТа будет точка - точка.

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


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

Черт знает что использует провайдер-конкурент - после подключения к инету еще 40-60 секунд надо ждать, пока маршрут поднимится.
У вас iBGP?

у него походу eBGP.... (косвенно, по 40-60 сек).

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


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

у нас iBGP, быстро работает.

 

но если бы получилось полноццено и неглючно поднять ospf, сделал бы его.

bgp все-таки менее удобный вариант.

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


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

у нас iBGP, быстро работает.
eBGP можно ускорить: advertisement-interval

 

но если бы получилось полноццено и неглючно поднять ospf, сделал бы его.

bgp все-таки менее удобный вариант.

ваще, на мой взгляд, правильное решение: свои сети IGP (на выбор, хоть rip), клиентские i/eBGP.

 

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


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

Ну вроде как с RIP разобрался, не без помощи, конечно. ;) На роутере нужные маршруты /32 появились, но..

Вылезла другая проблема - не вижу ни одного pptp на NAS2, все продолжают ломиться на 1-й.. :( В DNS IP второго NAS-а добавил, уменьшил до 1 мин. TTL для этих записей, nslookup исправно выдает оба IP в разной комбинации, а все упрямо продолжают юзать первый NAS..

Что еще может быть не так? Или просто мало времени прошло (около 3-х часов после ребута DNS)?

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


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

насильно отвалите первый NAS.

пусть переконнектят.

 

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

 

 

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


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

а пользователи точно по dns имени ходят на сервер? у меня после добавления нового сервера клиенты на нем появляются через 2 минуты ;)

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


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

С отсутствием коннекта на NAS2 разобрался, как всегда виновата оказалась "прокладка между рулем и сиденьем". :) NAS2 не отдавал маршруты роутеру из-за закрытого в фаерволе udp.

Но радости от юзания второго НАС-а не прибавилось, вылез гемор похлеще - съехала крыша у radius-а, которы обитает на NAS1. Выразилось это в сумасшедших начислениях денег на помегабайтных тарифах и в конечном итоге radius загнал в полный ступор mysql и загнулся сам... Пришлось срочно ребутать NAS и временно "прикрыть лавочку"..

В чем проблема пока непонятно. Предполагаю, что тут снова не обошлось без фаерволов. Если я не ошибаюсь, radius общается с NAS-ами по тому же udp, возможно что тут и произошел сбой из-за дропов udp фаерволом на первом NAS-е. Не может ли быть такое из-за того, что в radius.conf у меня только localhost

acct    127.0.0.1:1812  password        4       4
auth    127.0.0.1:1813  password        4       4

IP второго NAS-а туда надо добавлять? Хотя не могу понять, как же в таком случае второй NAS смог авторизоваться??

Вообщем, пока разбираюсь..

Плюс ко всему, похоже, малость "недонастроил" и собственно RIP, т.к. после запуска сего увидел кучу роутов на NAS2, которым там совсем не место. Собственно маршруты там были верными - в кач. шлюза был IP NAS1, но вроде как этим роутам там (на NAS2) делать нечего. Или так оно и должно быть? Не может быть такая ситуация из-за отсутствия ACL в конфигах ripd (или zebra?) ?

 

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

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


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

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

Что интересно, в mysql данные о трафике записываются верные, а вот "обсчитывание" идет какими-то сумасшедшими суммами.

Вот данные из mysql

Принял (Мb.)    Передал (Мb.)       До снятия руб   Начислено руб 
2.550037         1.032669             -4.06         46456835.58

В лог (/var/log/radius/radacct/10.254.213.2/detail-20100327) по аливам данные о трафике приходят верные

Sat Mar 27 12:32:35 2010

NAS-Identifier = "vpn2.mydomain.ru"

NAS-IP-Address = 10.254.213.2

Acct-Session-Id = "9678285-L-1"

NAS-Port = 1

NAS-Port-Type = Virtual

Service-Type = Framed-User

Framed-Protocol = PPP

Calling-Station-Id = "192.168.112.4"

Called-Station-Id = ""

mpd-link = "L-1"

Tunnel-Type:0 = PPTP

Tunnel-Medium-Type:0 = IP

Tunnel-Server-Endpoint:0 = "10.254.213.2"

Tunnel-Client-Endpoint:0 = "192.168.112.4"

Tunnel-Server-Auth-Id:0 = "vpn2.mydomain.ru"

Framed-IP-Address = 172.16.0.7

Framed-IP-Netmask = 255.255.255.255

User-Name = "user"

Acct-Multi-Session-Id = "9678286-P-1"

mpd-bundle = "P-1"

mpd-iface = "ng0"

mpd-iface-index = 10

Acct-Link-Count = 1

Acct-Authentic = RADIUS

Acct-Status-Type = Alive

Acct-Session-Time = 4143

mpd-input-octets = "Ext:739222"

mpd-input-packets = "Ext:4382"

Acct-Input-Octets = 739222

Acct-Input-Packets = 4382

Acct-Input-Gigawords = 0

mpd-output-octets = "Ext:2094787"

mpd-output-packets = "Ext:4071"

Acct-Output-Octets = 2094787

Acct-Output-Packets = 4071

Acct-Output-Gigawords = 0

Client-IP-Address = 10.254.213.2

Acct-Unique-Session-Id = "b2be3b949b88bf02"

Timestamp = 1269682355

А вот в лог /var/log/radius/radius.log записывается то самое сумашествие..
Sat Mar 27 11:23:35 2010 : Auth: rlm_nibs (rlm_nibs_postauth): User `user' login OK [10.254.213.2:1] |192.168.112.4|

Sat Mar 27 12:30:35 2010 : Info: X-AMOUNT: 287762841484 bytes

Sat Mar 27 12:30:35 2010 : Info: X-NO-FLOOR-PRICE: 274432.031139 mb * $ 1.000000

Sat Mar 27 12:30:35 2010 : Info: X-AMOUNT: 287762870657 bytes

Sat Mar 27 12:30:35 2010 : Info: X-NO-FLOOR-PRICE: 274432.058961 mb * $ 1.000000

Если тот же юзер авторизуется на NAS, который находится на localhost (там же, где и radius), никаких проблем не возникает.

В чем может быть разница? Подозреваю, что где-то "недоконфигурил" в радиусе, или биллинге (FreeNIBS), а вот где???

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

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.