mpd5 + роутинг

Статическая и динамическая, протоколы

mpd5 + роутинг

Сообщение lok1 » 08 окт 2009, 14:12

Доброе время суток коллеги! Имеется трабл. Получили сеть /23 белых адресов. С помощью mpd5 раздаю. Все нормальн стабильно работает, только раз:
неправльно завершенные сессии долго отваливаются (грешу на set link keep-alive 5 40). И самый главный трабл все пользователи в инете под ip раздающего сервера (NAT) без Ната в инет не ходит (( вообще не пускает тобишь. На сервере pppoe один интерфейс он соединен с cisco у которой адрес ифейса xx.xx.224.1. пробовал add route делать в таблице маршутизации дефаулт маршрут появляется но инета нет (( (пробовал без Ната) Подскажите пожалуйста направлений куда искать.

localhost# cat mpd.conf
Код: Выделить всё
startup:
 set ippool add mypool xx.xx.xx.32 xx.xx.225.224
 load default
default:
 load def_conf
def_conf:
 create bundle template B
 set bundle enable compression
 set bundle enable encryption
 set iface idle 0
 set iface disable proxy-arp
 set iface enable tcpmssfix
 set ipcp yes vjcomp
 set ipcp ranges xx.xx.xx.2 ippool mypool
 set ipcp dns xx.xx.xx.xx xxx.xx.xx.xx
 log +radius2 -console +ipcp -lpc -bund -link +auth -iface +phys -ccp -fsm
 load common
 load radius
common:
 create link template PPPoE pppoe
 set link enable no-orig-auth
 set link max-children 300
 set auth max-logins 0
 load pppoe
pppoe:
 set link action bundle B
 set link enable multilink
 set link yes acfcomp protocomp
 set link disable chap pap eap
 set link enable chap chap-msv1 chap-msv2 chap-md5
 set link keep-alive 5 40
 set pppoe service *
 open
#pppoe1:
#pppoe on bge1 with service name "service_name0"
 create link template ng0_0 PPPoE
 set pppoe iface re0
 set link enable incoming
#set pppoe service pppoe1

radius:
 set radius server localhost 1q2w3e 1812 1813
 set radius retries 3
 set radius timeout 3
 set radius me localhost
 set radius enable message-authentic
 set auth acct-update 300
 set auth timeout 21
 set auth disable internal
 set auth enable radius-auth
 set auth enable radius-acct

localhost# cd /etc
localhost# cat rc.firewall
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw -q"
lan="xx.xx.224.0/23"
router="92.50.224.1"
#NAT
/sbin/ipfw -f flush

/sbin/ipfw nat 1 config ip xx.xx.224.2

#pipe
#/sbin/ipfw -f pipe flush
#/sbin/ipfw -f queue flush

${ipfw} add 00100 pass all from any to any via lo0
${ipfw} add 00200 allow all from any to 127.0.0.0/8
${ipfw} add 00300 allow ip from 127.0.0.0/8 to any

#${ipfw} add 00500 allow all from any to any
#Dostup
${ipfw} add 01700 nat 1 all from any to any in via re0
${ipfw} add 01927 nat 1 all from xx.xx.224.0/23 to any out via re0
Аватара пользователя
lok1
новичок
 
Сообщения: 19
Зарегистрирован: 08 окт 2009, 14:00

Re: mpd5 + роутинг

Сообщение root » 09 окт 2009, 10:40

lok1 и тебе привет
как то ты не очень внятно объяснил, думаю, что я скорее всего не допонял, но попробую ответить

1. если у тя сетка из реальников и ты раздаешь реальники, то зачем тебе NAT вообще ? я не вижу в нем никакого смысла

2. что бы пакеты не попадали под NAT нужно поставить необходимые разрешающие правила ДО правил с NAT`ом

3. как я понимаю, белая подсетка роутится от прова сначала на циску, а потом ты уже вешаешь один из ипов на ифейс (влан) циски и туда же смотрит серв
у циски IP xx.xx.224.1 и у сервера xx.xx.224.2 с какой маской ?

4. если твоя задача, раздать юзерам реальники через PPPoE на сервере, то сервер должен иметь def gw на циску и тут 2 варианта:
а) между сервером и циской поднять серую сеточку из /30 (2 адреса), например, циска: 10.0.0.1/30, сервер 10.0.0.2/30
и с циски роутить эту подсеть на сервер, с которого уже и раздавать эти адреса по PPPoE:
Код: Выделить всё
route add xx.xx.224.0 255.255.254.0 10.0.0.2

б) разбить /23 на более мелкие подсети, для того что бы откусить опять же /30 для интерфейсов циска+сервер, ну и оставшиеся подсетки так же пророутить на сервер и выдавать клиентам

lok1 писал(а):неправльно завершенные сессии долго отваливаются

эта проблема есть у многих, для начала я бы покопался в причинах отваливания. м.б. у тя где на магистрали прибор загибается, потери в сети, кольцо и т.д. и т.п.
попробуй такие значения:
Код: Выделить всё
set link keep-alive 10 60
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: mpd5 + роутинг

Сообщение lok1 » 20 окт 2009, 14:38

Третий день не сплю сижу ковыряю, уже ничего в голову не лезет (((

1. если у тя сетка из реальников и ты раздаешь реальники, то зачем тебе NAT вообще ? я не вижу в нем никакого смысла

У абонентов без разницы какая сетка .. у меня в городе стоят 16 коммутаторов между собой связаны оптикой, далее оптика до 4-5 домой, до абона идет коаксиал. У него на конце модем коаксиальный (технология ЕоС). Абоны разделены Vlan. 1 оптически узел=1 vlan. Vlan управления 300. На оптических узлах от 101 до 210.

2. что бы пакеты не попадали под NAT нужно поставить необходимые разрешающие правила ДО правил с NAT`ом


Пробовал. Инет пропадает. Авторизация идет нормально а дальше пакеты не бегут.

3. как я понимаю, белая подсетка роутится от прова сначала на циску, а потом ты уже вешаешь один из ипов на ифейс (влан) циски и туда же смотрит серв
у циски IP xx.xx.224.1 и у сервера xx.xx.224.2 с какой маской ?

Пров дал /30 до него и /23 белых адресов. У циски и у сервера маска 255.255.255.0. Пока своей AS не имеем к сожалению.

4. если твоя задача, раздать юзерам реальники через PPPoE на сервере, то сервер должен иметь def gw на циску и тут 2 варианта:

в rc.conf стоит defaultrouter=xx.xx.224.1
а) между сервером и циской поднять серую сеточку из /30 (2 адреса), например, циска: 10.0.0.1/30, сервер 10.0.0.2/30
и с циски роутить эту подсеть на сервер, с которого уже и раздавать эти адреса по PPPoE:
Код: Выделить всё
route add xx.xx.224.0 255.255.254.0 10.0.0.2


Не попробовал это (( завтра попробую

б) разбить /23 на более мелкие подсети, для того что бы откусить опять же /30 для интерфейсов циска+сервер, ну и оставшиеся подсетки так же пророутить на сервер и выдавать клиентам

Так я и так выдавать начинаю c xx.xx.224.32
Аватара пользователя
lok1
новичок
 
Сообщения: 19
Зарегистрирован: 08 окт 2009, 14:00

Re: mpd5 + роутинг

Сообщение root » 20 окт 2009, 15:00

lok1 писал(а):у меня в городе стоят 16 коммутаторов...

ну а они то тут причем ? да хоть 116 :)
твоя задача подключить абона по PPPoE (каким образом и через какой тип кабеля и т.п. ты это сделаешь не важно, главное что бы он мог подключиться) и выдать ему IP-адрес, который пророутить в инет.

lok1 писал(а):Пробовал. Инет пропадает. Авторизация идет нормально а дальше пакеты не бегут.

tcpdump по туннелю смотрел ? а по сетевухе смотрящая на циску ? пакеты не бегут вверх или вниз ?
значит не правильно расставлены правила
покажи вывод
Код: Выделить всё
ipfw list

или выбери любого абона, и добавь в свой фаир первым правилом:
Код: Выделить всё
ipfw add 1 allow ip from IP_АБОНЕНТА to any
ipfw add 1 allow ip from any to IP_АБОНЕНТА

если это реальник, если сервер по дефолту смотрит на циску, а циска дефолтом на провайдера, то это не может не работать, просто не может
если не работает, то либо на сервере net.inet.ip.forwarding равен нулю, а не единице или есть проблемы с маршрутизацией этой подсети в глобальной сети Интернет.

lok1 писал(а):Пров дал /30 до него и /23 белых адресов.

это гуд !

lok1 писал(а):Пока своей AS не имеем к сожалению.

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

lok1 писал(а):У циски и у сервера маска 255.255.255.0

объясни зачем там такая большая маска ?
это не совсем правильно, т.к.:
lok1 писал(а):Так я и так выдавать начинаю c xx.xx.224.32

вот именно, что адреса xx.xx.224.32-254 попадают под маску /24 (255.255.255.0), а эта сеть "живет" у тя между циской и сервером (верхним интерфейсом), т.к. ты указал маску 255.255.255.0
я понимаю конечно, что в туннелях всегда одна маска 255.255.255.255, поэтому то оно и работает сейчас (если бы PPPoE не было, то не работало бы), но все же стоит переделать, т.к. такая маска тебе на верхнем интерфейсе совсем не к чему, там же только 2 хоста (сервер+циска)
если ты хочешь роутить именно через реальники, то сделай между сервером и циской маску 255.255.255.252 (/30) и через эту сеть, роути все остальные остатки от /23, которые и выдавай абонентам по PPPoE

вот, грубо, твоя схема в конфигах (урезанных ессно), при которых реальники без ната спокойно подадут в инет:
Циска
порты:
Код: Выделить всё
interface GigabitEthernet0/1
 description TO_PROVIDER
 switchport access vlan 1
 switchport mode access
 no cdp enable
 spanning-tree bpdufilter enable
!
interface GigabitEthernet0/2
 description TO_PPPoE_SERVER
 switchport access vlan 2
 switchport mode access
 no cdp enable
 spanning-tree bpdufilter enable

вланы:
Код: Выделить всё
interface Vlan1
 description cisco-provider
 ip address 111.111.222.2 255.255.255.252
!
interface Vlan2
 description cisco-server
 ip address xx.xx.224.1 255.255.255.252

роутинг:
Код: Выделить всё
ip classless
ip route 0.0.0.0 0.0.0.0 111.111.222.1
ip route xx.xx.224.4 255.255.255.252 xx.xx.224.2
ip route xx.xx.224.8 255.255.255.248 xx.xx.224.2
ip route xx.xx.224.16 255.255.255.240 xx.xx.224.2
ip route xx.xx.224.32 255.255.255.224 xx.xx.224.2
ip route xx.xx.224.64 255.255.255.192 xx.xx.224.2
ip route xx.xx.224.128 255.255.255.128 xx.xx.224.2
ip route xx.xx.225.0 255.255.255.0 xx.xx.224.2

т.е. подсетей зароученных на xx.xx.224.2 ты можешь смело выдавать IPшники абонентам

Сервер
/etc/rc.conf:
Код: Выделить всё
gateway_enable="YES"
defaultrouter="xx.xx.224.1"


ipfw:
Код: Выделить всё
ipfw add 100 allow ip from any to any

при таком раскладе, после получения IP-адреса, абонент с реальником будет видеть инет, а инет его.

теперь добавим добавим NAT.
для NAT`а возьмем IPшник из подсети xx.xx.224.4/30, пусть будет 5-ый, а серую сетку ну пусть будет 10.10.1.0/24
Код: Выделить всё
natd -s -m -a xx.xx.224.5

правила firewall в этом случае:
Код: Выделить всё
ipfw table 1 add  xx.xx.224.8/29
ipfw table 1 add xx.xx.224.16/28
ipfw table 1 add  xx.xx.224.32/27
ipfw table 1 add xx.xx.224.64/26
ipfw table 1 add xx.xx.224.128/25

ipfw add 300 allow ip from "table(1)" to any
ipfw add 305 allow ip from any to "table(1)"
ipfw add 400 divert 8668 ip from any to xx.xx.224.5
ipfw add 405 divert 8668 ip from 10.10.1.0/24 to any

ipfw add 500 allow ip from any to any

и получаем в итоге, что пакеты из реальных подсетей, перечисленных в таблице фаира номер 1, не попадут под NAT, а все остальное будет попадать в NAT и таким образом серая подсеть 10.10.1.0/24 получит Инет
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: mpd5 + роутинг

Сообщение lok1 » 23 окт 2009, 18:17

Спасибо root, вопрос решился так:
на циске
Код: Выделить всё
ip route xx.xx.224.0 255.255.254.0 xx.xx.224.2

на сервере pppoe
Код: Выделить всё
ipfw add 100 allow ip from any to any

Все работает как надо!
Но опять назрел вопрос. Используем LanBilling. Радиус авторизация и аккаунтинг. Скорость режется согласно тарифов. Но мне необходимо, чтобы скорость внутри сети моей /23 резалась хотя бы на 12-15 мб/с. Производители ЛанБиллинга сказали что надо на циске что то сделать, ума не приложу что. Подскажите направление, куда копать?
Аватара пользователя
lok1
новичок
 
Сообщения: 19
Зарегистрирован: 08 окт 2009, 14:00

Re: mpd5 + роутинг

Сообщение root » 24 окт 2009, 10:42

lok1 писал(а):Спасибо root

пжалста

lok1 писал(а):вопрос решился так:

этот способ конечно будет работать, но allow ip from any to any я тебе посоветовал попробовать, чтобы ты убедился, что оно работает
оставлять это так, разрешая все и вся, я бы не стал

lok1 писал(а):мне необходимо, чтобы скорость внутри сети моей /23 резалась хотя бы на 12-15 мб/с.

lok1 писал(а):Производители ЛанБиллинга сказали что надо на циске что то сделать

я не знаю зачем тебе напрягать циску, если хочешь что то резать, то это надо делать чем ближе к абоненту тем лучше
в твоем случае, все юзеры сходятся на сервер, соответственно там и надо резать скорость
достаточно добавить в ipfw:
Код: Выделить всё
ipfw pipe 1 config bw 15Mbit/s
ipfw queue 1 config pipe 1 queue 20KBytes
ipfw add 50 pipe 1 ip from xx.xx.224.0/23 to xx.xx.224.0/23

что бы достичь искомого
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: mpd5 + роутинг

Сообщение lok1 » 26 окт 2009, 06:47

ругается на add: not found
Аватара пользователя
lok1
новичок
 
Сообщения: 19
Зарегистрирован: 08 окт 2009, 14:00

Re: mpd5 + роутинг

Сообщение lehisnoe » 26 окт 2009, 09:33

root забыл добавить ipfw перед аргументами :)
Код: Выделить всё
ipfw add 50 pipe 1 ip from xx.xx.224.0/23 to xx.xx.224.0/23
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: mpd5 + роутинг

Сообщение root » 26 окт 2009, 12:28

lok1 писал(а):ругается на add: not found

lehisnoe писал(а):root забыл добавить ipfw перед аргументами

ага, не доглядел

lok1, мог бы и сам догадаться ;)
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: mpd5 + роутинг

Сообщение lok1 » 26 окт 2009, 15:57

сделал так уважаемые, меня отправили курить маны :) буду курить, спасибо :)
Аватара пользователя
lok1
новичок
 
Сообщения: 19
Зарегистрирован: 08 окт 2009, 14:00

След.

Вернуться в Маршрутизация / Routing

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

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

cron