Dear lazyweb...
Nov. 14th, 2006 12:13 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Требуется помошь зала :) Интересно только BSD-ным гикам и сетевикам :)

Туплю :) Итак, дано - 2 раутера(gw{1,2}) на основе PFSence, каждый со своим выходом в инет и default раутами, получаемыми по OSPF от провайдеров; два управляемых свича(sw{1,2}) NetGear и кучка(s{1,2}) серверов, каждый с двумя сетевыми интерфейсами(eth{0,1}) под управлением FreeBSD. Задача - собрать из всего этого барахла наиболее устойчивую и надежную схему подключения. Т.е. как минимум, эта сеть должна суметь пережить падение одного из роутеров, свичей и отказа одного сетевого интерфейса на любом из серверов. В любом порядке :)
Внимание, вопрос! Как это лучше всего сделать?
На текущий момент некоторое подобие сделано с помощью OSPF во внутренней сети, где каждый раутер анонсирует себя как default gateway, но с разными весами. По умолчанию трафик идет через gw1, в случае его падения - переключается на gw2. Каждый роутер сидит в своей приватной сети, со своим свичом и подключенными к данному свичу соответствующими интерфейсами серверов. Т.е. eth0 -> sw1 -> gw1, eth1-> sw2 -> gw2.
До кучи sw1 и sw2 соеденены между собой кросс-кабелем, так что каждая сеть видна в соседнем сегменте. Как ни смешно, все это даже работает. Но, есть ощущение, что чисто по ошибке :)))
Одна из проблем - это куча подобных сообщений на серверах:
Что, очевидно, является результатом кросс-линка. К сожалению, без него default gateway не хотят переключаться в случае падения. Да и вообще не устанавливаются :)
Конфиг zebra на роутере:
Второй роутер идентичен, кроме IP адреса и веса на bge0 и сети 10.10.1.0/24 на bge1.
И, соответственно на FreeBSD сервере в quagga:
Вот, как-то так... Мои познания в динамической маршрутизации ограничиваются тем, что я знаю, что она работает :) Так что не пинайте сильно :) Лучше скажите, что делать :)
P.S> Цыски купить не предлагать :)

Туплю :) Итак, дано - 2 раутера(gw{1,2}) на основе PFSence, каждый со своим выходом в инет и default раутами, получаемыми по OSPF от провайдеров; два управляемых свича(sw{1,2}) NetGear и кучка(s{1,2}) серверов, каждый с двумя сетевыми интерфейсами(eth{0,1}) под управлением FreeBSD. Задача - собрать из всего этого барахла наиболее устойчивую и надежную схему подключения. Т.е. как минимум, эта сеть должна суметь пережить падение одного из роутеров, свичей и отказа одного сетевого интерфейса на любом из серверов. В любом порядке :)
Внимание, вопрос! Как это лучше всего сделать?
На текущий момент некоторое подобие сделано с помощью OSPF во внутренней сети, где каждый раутер анонсирует себя как default gateway, но с разными весами. По умолчанию трафик идет через gw1, в случае его падения - переключается на gw2. Каждый роутер сидит в своей приватной сети, со своим свичом и подключенными к данному свичу соответствующими интерфейсами серверов. Т.е. eth0 -> sw1 -> gw1, eth1-> sw2 -> gw2.
До кучи sw1 и sw2 соеденены между собой кросс-кабелем, так что каждая сеть видна в соседнем сегменте. Как ни смешно, все это даже работает. Но, есть ощущение, что чисто по ошибке :)))
Одна из проблем - это куча подобных сообщений на серверах:
Nov 13 23:37:17 s0 ospfd[56956]: Packet from [10.10.1.100] received on wrong link eth0 Nov 13 23:37:17 s0 ospfd[56956]: Packet from [10.10.0.100] received on wrong link eth1
Что, очевидно, является результатом кросс-линка. К сожалению, без него default gateway не хотят переключаться в случае падения. Да и вообще не устанавливаются :)
Конфиг zebra на роутере:
interface bge0 ip address 172.16.81.254/30 interface bge1 ip address 10.10.0.1/24 !!!!!!!!!!!!ospfd.conf!!!!!!!!!!!!!!!!!! access-list deny-all deny 0.0.0.0/0 interface bge0 ip ospf authentication ip ospf authentication-key NoSex ip ospf cost 200 interface bge1 router ospf ospf router-id 172.16.81.254 network 10.10.0.0/24 area 10.10.0.0 network 10.10.1.0/24 area 10.10.0.0 network 172.16.81.254/30 area 0.0.0.0 area 0 authentication area 10.10.0.0 export-list deny-all area 10.10.0.0 import-list deny-all
Второй роутер идентичен, кроме IP адреса и веса на bge0 и сети 10.10.1.0/24 на bge1.
И, соответственно на FreeBSD сервере в quagga:
interface eth0 ip address 10.10.0.100/24 interface eth1 ip address 10.10.1.100/24 !!!!!!!!!!ospfd.conf!!!!!!!!!!!!!!!!! interface eth0 interface eth1 router ospf router-id 10.10.0.100 network 10.10.0.0/24 area 10.10.0.0 network 10.10.1.0/24 area 10.10.0.0
Вот, как-то так... Мои познания в динамической маршрутизации ограничиваются тем, что я знаю, что она работает :) Так что не пинайте сильно :) Лучше скажите, что делать :)
P.S> Цыски купить не предлагать :)