Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» маршрутизация трафика по портам/протоколам (2 канала)

Автор: vu1tur
Дата сообщения: 15.10.2004 17:36
c000ker

Цитата:
В wipfw эта функция будет реализована еще не скоро, ориентировочно к новому году

ясненько
Еще бы дамминет к новому году...
Автор: HighTower
Дата сообщения: 16.10.2004 12:40
народ, а как решить эту задачу для фри?
если одни канал - выделенка, а другой или модем или выделенка?
Автор: ooptimum
Дата сообщения: 16.10.2004 20:13
Блин, этот вопрос поднимается в том или ином виде минимум каждый месяц. Если бы кто-нибудь спросил меня какой единственный вопрос я бы выбрал для FAQ, я бы выбрал этот -- выход в инет через несколько шлюзов. Дайджест бы кто-нибудь сделал? Cheery?
Автор: HighTower
Дата сообщения: 19.10.2004 10:40
поддерживаю ooptimum!

только у меня задача не очень тривиальная... вообще то у меня подсеть реальных адресов, соответенно для неё есть дефолтвый маршрут, второый канал как спомогательный от другово прова, ясно дело он мою подсеть маршрутить не будет, значит мне думается самый простой способ - что то проде прокси, который бы уходил на второго прова...
Автор: CoFFineR
Дата сообщения: 20.10.2004 12:20
HighTower

Цитата:
поддерживаю ooptimum!

А чего его поддерживать, и так ясно, что этот вопрос поднимался не однократно, но путного ответа на него дать так никто и не смог...
Я вот , например, вяснил, что такую схему соединения можно реализовать с помощью Winroute 6, но проблема в том, что он не подходит... поэтому поиски продолжаются...
бэн ай нид хэлп..©
Автор: HighTower
Дата сообщения: 20.10.2004 12:54
ну нет ответа, согласен...
но у меня даже с проксёй не выходит каменный горшочек... у того же сквида есть опция, вроде как чтобы он заворачивал трафик через интерфейс указанного IP, однако почему то не пашет... долго думает, а потом по тайматуту отваливается...
может конечно ерунда в таблице маршрутов, хотя пинги и трейс до маршрутизатора второго канала идут, причём через нужный фейс...
Автор: CoFFineR
Дата сообщения: 20.10.2004 14:11
У меня сейчас вообще всё круто, когда работает 1 канал, всё ок, включаешь 2ой всё отваливается со всех сторон... раньше просто инет перескакивал на 2ой канал... а сейчас по нулям..
Автор: l4m3r
Дата сообщения: 20.10.2004 22:15
на хоботе что ль написано, что тут метрикой надо как-то манипулировать, но там тоже ничё определённого нету
а вот разводка юзверей по каналам на никсах делается с помощью ip2route(так вроде =))
Автор: HighTower
Дата сообщения: 21.10.2004 10:57

Цитата:
никсах делается с помощью ip2route

у фри в портах ничего такого не найдено...
меня интересует именно фря и когда обе подсети на реальных ип...
Автор: l4m3r
Дата сообщения: 24.10.2004 19:11
звиняюсь, ошибся с названием - Iproute2
насчёт фри не знаю, но там что-то подобное должно быть на 100%
Автор: Felix
Дата сообщения: 25.10.2004 10:45
Вобщем озаботил меня, всеми уважаемый CoFFineR, да Лёшик

Перерыл кучу доков, вобщем трививально под винду сделать такую маршрутизацию (Policy-Based Routing ) не получится и судя по всему ни кто не хочет в это болото лезть... С твоими адресами - решают задачу на фре, но ты не хочешь её ставить

HighTower
На счёт фри (для реальных адресов не знаю подойдёт или нет, если передалать, т.к. в примере немаршрутизируемая сеть), ссылки знаменитые, так что уж не обессудьте. Может кому-нибудь сгодится:

http://ipfw.ism.kiev.ua/pbr.html
http://www.ssi.bg/~ja/nano.txt
http://freesco.wallst.ru/
http://answers.google.com/answers/threadview?id=274082
http://www.dreamcatcher.ru/docs/2chann.html
http://linux-ip.net/html/adv-multi-internet.html
http://www.lartc.org/

до кучи:
http://www.spinics.net/lists/lartc/msg13938.html
http://mail-index.netbsd.org/tech-net/2003/12/11/0001.html
http://www.opennet.ru/base/net/free_time.txt.html
Автор: HighTower
Дата сообщения: 25.10.2004 12:11
Felix

Цитата:
для реальных адресов не знаю подойдёт или нет

вообщем ситуация я то такая - есть 2 реальные подсети от разных провов, т.к. сети небольшие про размеру, но фря служит просто фильтрующим мостом! т.е. на клиентских машинах в качестве роутера прописан ИП роутера прова для этой подсети, поэтому на клиенских машинах инет есть, но мне хотелось бы чтобы и на фре был!
там сейчас 3 сетевых:
1 - на первого прова
2 - в свич
3 - во второго пропа

соответвенно бридж из 1,2,3
карты 1 и 3 имеют ИП из подсетей соответвующих провов
вот надо чтобы каждый из этих адресов был доступен снаружи вне зависимости от маршрута по умолчанию...

из ссылок (если откинуть что под линух) остаются стать про исользования iptables, что хотелось бы избежать, потому как скрещитьва ipfw с ними не хотелось бы и одна статься по fwd в ipfw... однако добавил правило типа:
ipfw add fwd x.x.x.225 ip from x.x.x.226 to not a.a.a.c
соовтетенно x.x.x.225 роутер второго прова для подсети x.x.x.224/28
x.x.x.226 - ип привязанный ко второй сетевой на фре
вторая подсеть a.a.a.c/28
и дефолтовый марштур a.a.a.f

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

Добавлено
l4m3r

Цитата:
Iproute2 насчёт фри не знаю, но там что-то подобное должно быть на 100%


что то я не нашёл... может её и нет.... http://www.freebsd.org/ports/index.html
Автор: UNKNOWING
Дата сообщения: 25.10.2004 14:09
HighTower

Ты сам то хоть понял че сказал?
Шо в твоем понимании бридж??? Откуда снаружи, какой маршрут по умолчанию????

Ребят, ну не смешите, iproute2 и т.д. ОТ написаного плакать хочеться...

Вообще-то это творение Андрея Кузнецова linux only. используеться обычно в связке iptables+iproute2+POM (по желанию)
Автор: HighTower
Дата сообщения: 25.10.2004 14:43
UNKNOWING

Цитата:
Ты сам то хоть понял че сказал?

я то понял че я сказал

Цитата:
Шо в твоем понимании бридж???

тоже что и мост

Цитата:
Откуда снаружи

это вне подсетей x.x.x.224/28 и a.a.a.c/28 которые и так видят друг друга замечательно

Цитата:
какой маршрут по умолчанию????

от первой подсети, x.x.x.225
Автор: UNKNOWING
Дата сообщения: 25.10.2004 15:05
HighTower

Тьфу. Только понял что пользуешь белые ИП.

Имеешь ввиду, чтобы твоя вторая или первая подсеть была видна при падении кого-нибудь из провов?
Автор: HighTower
Дата сообщения: 25.10.2004 15:23
UNKNOWING

Цитата:
Имеешь ввиду, чтобы твоя вторая или первая подсеть была видна при падении кого-нибудь из провов?

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

надеюсь понятно сказал.
Автор: UNKNOWING
Дата сообщения: 25.10.2004 15:40
хм. кажеться уловил задачу.

Ты хочешь чтобы пинговался ИП твоей фри, через сеть второго прова??

Только вот - что значит видна только по одному ИП-нику. как ты тестируешь?
Автор: CoFFineR
Дата сообщения: 25.10.2004 15:43
Felix
Спасибо Тох, я нашел пару вариантов под виндой но они мне не подходят, сейчас буду пробовать поставить на эту же машину VMWare и на ней настроить ещё 1 сервак, соответственно на нём настроить другой канал...
Автор: HighTower
Дата сообщения: 25.10.2004 15:57
UNKNOWING

Цитата:
Только вот - что значит видна только по одному ИП-нику. как ты тестируешь?


так, попытаюсь описать подробно...

есть 2 прова, соответенно 2 РЕАЛЬНЫХ подсети:

1. х.х.х.224/28 (х.х.х.224 - х.х.х.239), шлюз для неё х.х.х.225
2. y.y.y.176/28 (y.y.y.176 - y.y.y.191), шлюз для неё y.y.y.177

соответенно есть фря с 3 сетевыми картими, на 2 из которых привызаны ип их каждой реальной подсети:

rl0 - x.x.x.226
rl1 - no ip
rl2 - y.y.y.178

соответенно, если на фре маршрут по умолчанию от первой подсети, т.е. х.х.х.225, тогда снаружи (вообще не из подсети х.х.х.224/28 и не из под y.y.y.176/28) виден адрес этой первой подсети x.x.x.226! на фре висят dns, почта, сайт и всё такое... как проверяю? прошу любого чела из третьего пропа зайти браузером по адресу, а не доменному имени + сделать пинг...
и при этом адрес второй подсети y.y.y.178 - недоступен...

если сделать наоборот, т.е. маршрут по умолчанию от второй подсети y.y.y.177 - то ситуация прямопротивоположная - y.y.y.178 видел, а x.x.x.226 - нет


мне трубуется чтобы в независимости от того, какой маршрут по умолчанию, моя фря снаружи была видна как по x.x.x.226, так и по y.y.y.178!!!
потому что в dns прописаны оба адреса, так чтобы когда один пров лежит, почта приходила по второму маршруту, а она не ходит...


надеюсь теперь всё прозрачно и понятно...

если что, ядро содержит опции:
options BRIDGE
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPDIVERT
options DUMMYNET
options IPSTEALTH #support for stealth forwarding
options TCPDEBUG
Автор: UNKNOWING
Дата сообщения: 25.10.2004 16:29
HighTower

Тьфу. Я понял. Про дефаулт гейтвеи тоже понял. фух. А я то думаю - нафига энто все.

Решение - просто, элементарно, как носки Ватсона.

С БСД, я очень слабо знаком, потому могу ашипиться. Делаешь так:

defaultrouter="NO" # Set to default gateway (or NO).
static_routes="rl0 rl2"
route_rl0="-net х.х.х.226 х.х.х.225"
route_rl2="-net y.y.y.176 y.y.y.177"

порисываешь в зоне своего НС-а, две mx-записи, с разным приоритетом, и если один из мх-еров не досутпен, то ЛЮБОЙ почтовик будет стучаться на следующий по приоритету ИП-ник. фсе вроде бы
Автор: HighTower
Дата сообщения: 25.10.2004 16:32
UNKNOWING

Цитата:
Делаешь так:

а это можно как нидь сделать без ребута машины?

Добавлено
и соответенно в rc.conf надо прописать

router_enable="YES"
gateway_enable="YES" ?
Автор: UNKNOWING
Дата сообщения: 25.10.2004 16:43
HighTower

конечно. Я правда не знаком с freebsd, и не знаю как она перечитывает rc.conf, может init q как в линукс. фиг его знает.

для того чтобы перезапустить интерфейсы ifconfig rl0 down, ifconfig rl0 up

про роуты. по идее да. грю ж - я не знаком с фри. попробуй man rc.conf

вот еще пример для роутов
static_routes="net1 net2"
route_net1="network 192.168.0.0/24 192.168.0.1"
route_net2="network 192.168.1.0/24 192.168.1.1"
Автор: HighTower
Дата сообщения: 25.10.2004 17:35
UNKNOWING
нефига...

rc.conf:

ifconfig_rl0="inet х.х.х.226 netmask 255.255.255.240"
ifconfig_rl2="inet y.y.y.178 netmask 255.255.255.240"


defaultrouter="NO"
static_routes="quant tbcp"
route_quant="-net x.x.x.224 -netmask 255.255.255.240 x.x.x.225"
route_tbcp="-net y.y.y.176 -netmask 255.255.255.240 y.y.y.177"

router_flags="-q"
router="routed"
gateway_enable="YES"
router_enable="YES"
bridge_enable="YES"



соответвенно после перегруза

nestat -rn
Destination Gateway Flags Refs Use Netif Expire
127.0.0.1 127.0.0.1 UH 0 110 lo0
Destination Gateway Flags Refs Use Netif Expire
y.y.y.177 00:0c:f1:c6:87:ed UHLW 0 0 rl2 1153
y.y.y.178 00:e0:7d:e4:90:be UHLW 0 4 lo0
x.x.x.224/28 link#1 UC 0 0 rl0
x.x.x.225 00:0c:42:03:0d:3b UHLW 1 0 rl0 1168
x.x.x.226 00:30:4f:09:23:09 UHLW 0 377 lo0


и нихрена не пашет вообще... ни один адрес

добавляю route add default x.x.x.225
соответенно начинает пахать первая подсеть...


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

ipfw add fwd y.y.y.177 log all from y.y.y.176/28 to any xmit rl2

не помогает, всё равно хочет пихать их в rl0 в маршрут по умолчанию
Автор: UNKNOWING
Дата сообщения: 25.10.2004 17:50
Смотри что по идее происходит.

когда приходит пакет со второго интерфейса - они не принадлежат описаным у тебя сетям, потому стек ТСР и пользуеться правилом default gateway. тоесть происходит следующее

194.194.194.194 --> TCP SYN (NEW) --> y.y.y.178
src_ip не приналежит твоей сети, потому работает правило Def. GW
x.x.x.226 --> TCP SYN ACK --> 194.194.194.194

который соответственно не принимаеться. Задача стоит - разделить роуты для двух интерфейсов. Сча нагрею чаю - и напищу чего надо попробывать
Автор: HighTower
Дата сообщения: 25.10.2004 17:56
UNKNOWING

Цитата:
Сча нагрею чаю - и напищу чего надо попробывать

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

кстати, демоны routed (mrouted) не могут помоч часом?

кстати, у меня врублено
rc.conf:
tcp_drop_synfin="YES"

sysctl.conf:
net.inet.ip.forwarding=1
net.inet.ip.redirect=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.ip.stealth=1
net.inet.icmp.drop_redirect=1

где:
# sysctl -d net.inet.ip.forwarding
net.inet.ip.forwarding: Enable IP forwarding between interfaces
# sysctl -d net.inet.ip.redirect
net.inet.ip.redirect: Enable sending IP redirects
# sysctl -d net.inet.ip.sourceroute
net.inet.ip.sourceroute: Enable forwarding source routed IP packets
# sysctl -d net.inet.ip.accept_sourceroute
net.inet.ip.accept_sourceroute: Enable accepting source routed IP packets
# sysctl -d net.inet.ip.stealth
net.inet.ip.stealth:
# sysctl -d net.inet.icmp.drop_redirect
net.inet.icmp.drop_redirect:

может это как то влияет?
Автор: UNKNOWING
Дата сообщения: 25.10.2004 18:18
Может быть. Сча подумаю

Добавлено
Да поставь ,

net.inet.ip.sourceroute=1
net.inet.ip.accept_sourceroute=1

и верни взад дефаулт гейтвей, и т.д. все как было. по идее должно заработать.
Автор: HighTower
Дата сообщения: 26.10.2004 10:28
UNKNOWING

Цитата:
Да поставь , и верни взад



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

значит так

rc.conf:

defaultrouter="x.x.x.225"
ifconfig_rl0="inet x.x.x.226 netmask 255.255.255.240"
ifconfig_rl2="inet y.y.y.178 netmask 255.255.255.240"
static_routes="YES"
router_flags="-q"
router="routed"
gateway_enable="YES"
router_enable="YES"
bridge_enable="YES"
forward_sourceroute="YES"
accept_sourceroute="YES"
tcp_drop_redirect="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
icmp_bmcastecho="NO"
tcp_drop_synfin="YES"


sysctl.conf:

net.link.ether.bridge.enable=1
net.link.ether.bridge_ipfw=1
net.link.ether.bridge.ipfw=1
net.link.ether.bridge.config=rl0,rl1,rl2
net.inet.ip.fw.enable=1
net.inet.ip.fw.one_pass=0
net.inet.ip.forwarding=1
net.inet.ip.redirect=0
net.inet.ip.sourceroute=1
net.inet.ip.accept_sourceroute=1

net.inet.ip.stealth=1
net.inet.tcp.delayed_ack=0
net.inet.icmp.icmplim=150
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0

для эксперимента положим
ipfw add 1 allow all from any to any

упустил чтонибудь?
Автор: UNKNOWING
Дата сообщения: 26.10.2004 10:49
HighTower

меня волнует то, что для интерфейсов не прописаны роутеры. На linux box я бы назначал каждому интерфейсу по роутеру, и назанчал бы дефаултгейтвей.

Давай сделаем так.
1. Оставим дефаулт гейтвей.
2. пропишем статик роуты на каждый интерфейс.

Не фигня это все. позвонил другу товарищу фрибыд-сту. он говорит что стандартными средствами этого не сдлеать, и source routed packets - это совершенно не то.

Сча придумаю. пагади
Автор: HighTower
Дата сообщения: 26.10.2004 12:47

Цитата:
говорит что стандартными средствами этого не сдлеать

вот я тут нашёл статейку - http://www.signal42.com/freebsd/network-routing.html
вроде можно (19.2.3 Dual Homed Hosts) но или я дурак или что то другое...

и в разделе 19.2.4 Building a Router про BSD routing daemon и Commercial products...
Автор: UNKNOWING
Дата сообщения: 26.10.2004 12:53
HighTower

Нет - это не то.

Страницы: 1234

Предыдущая тема: wget: скачать файлы по маске


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.