LINUX.ORG.RU
решено ФорумAdmin

Freebsd и два канала

 ,


0

1

Имеется: Freebsd 10+ipfw+ipfw nat+unbound+dhcp и 3 сетевых интерфейсов. сеть 1 - инет 192.168.1.7 (GW 192.168.1.1) сеть 2 - локалка 192.168.17.1 сеть 3 - без инета 10.190.0.0 (GW 10.190.0.1)

настроено просто, сеть 2 ходит в инет через сеть 1 через нат в сети 3 поднят некий сервис работающий по udp на одном и том же порту (допустим 1234, но возможно другой какой нибудь софт тоже будет использовать данный порт), правда с несколькими диапозонами ip (например 1.1.1.0 2.2.2.0 3.3.3.0, 20 айпишников, но они все известны)

встала задача чтоб сеть 2 как и раньше ходила в инет через сеть 1, но при обращении на айпи из любого диапозона или порта сети 3 она именно шла через сеть 3

задумался на эту тему и сразу столько мыслей, делать при помощи static_routes и ipfw fwd или сразу настроить zebra и ipfw fwd или еще как?

подскажите как лучше это реализовать?

заранее благодарю за помощь.



Последнее исправление: mcpdr (всего исправлений: 1)

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

суть вопроса - нужно раскидать iptv провайдера на другие устройства

имеется оптический терминал провайдера, как я понимаю настроен по vlan, на выходе имеем 2 lan

lan1 - с первого идет инет с подсетью 192.168.1.0/24 gw 192.168.1.1

lan2 - со второго iptv провайдера с подсетью 10.190.0.0/20 gw 10.190.0.1

local - третья сетевая смотрит в локалку с подсетью 192.168.17.0/24 так же имеется плейлист типа udp://@225.74.221.1:5000 за локальное устройство берем любой комп

если же устройство подключим к lan 1, то получим инет но тв не работает если же устройство подключим к lan 2, то инета нет но тв работает

решил это дело объединить, т.б. чтоб устройство получало и инет и тв, для этого воткнул две сетевые во freebsd, на одну приходит lan 1, на вторую lan 2, прописал айпи обоим и в качестве gw от lan1

rc.conf

defaultrouter="192.168.1.1" ifconfig_vr0="inet 192.168.17.1 netmask 255.255.255.0" ifconfig_re0="inet 192.168.1.7 netmask 255.255.255.0" ifconfig_rl0="inet 10.190.7.64 netmask 255.255.240.0" gateway_enable="YES" firewall_enable="YES" firewall_logging="YES" firewall_nat_enable="YES" firewall_script="/etc/firewall/firewall2"

фаервол на момент теста пока простой

i_int0="re0" #Global Network i_int1="vr0" #Local Network i_int2="rl0" #TV Network # Global Network inet195_1="192.168.1.0" mask195_1="255.255.255.0" gw195_1="192.168.1.1" # TV Network inet195_2="10.190.0.0" mask195_2="255.255.240.0" gw195_2="10.190.0.1" # Local Network inet192_1="192.168.17.0" mask192_1="255.255.255.0" fwcmd="/sbin/ipfw -q" # Flush out the list before we begin. ${fwcmd} -f flush ##Set of allow rules #LOCAL setup_loopback () { ${fwcmd} add 100 pass all from any to any via lo0 ${fwcmd} add 200 deny all from any to 127.0.0.0/8 ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any } setup_loopback #END LOCAL #On Kernel NAT ${fwcmd} nat 1 config log if ${i_int0} reset same_ports unreg_only deny_in ${fwcmd} nat 2 config log if ${i_int2} reset same_ports unreg_only deny_in #Global In to NAT ${fwcmd} add nat 1 ip from any to any via ${i_int0} ${fwcmd} add nat 2 ip from any to any via ${i_int2} ${fwcmd} add allow ip from any to any ${fwcmd} add allow ip from any to any out xmit ${i_int0} ${fwcmd} add allow ip from any to any out xmit ${i_int2} ${fwcmd} add allow all from any to any via ${i_int1}

как заставить freebsd прозрачно направлять все запросы тв на lan2, а все остальное так же отправлять на lan1?

так же как варианта рассматривал udpxy, но пока тоже что-то не получилось

если не сложно, подскажите в какую сторону идти, а то за два дня проб и ошибок уже голова пухнет?

mcpdr
() автор топика
Ответ на: комментарий от Serjikss

И правила на момент отладки пиши без переменных, разбирать твои нестандартные переменные не с ноги.

Serjikss
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.