суть вопроса - нужно раскидать 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
так же имеется плейлист типа 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
пытаясь открыть плейлист, на интерфейсах vr0, re0 и rl0 tcpdump показывает следующее:
tcpdump -vvv -ni vr0 igmp
tcpdump: listening on vr0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:09:41.309740 IP (tos 0x0, ttl 1, id 22743, offset 0, flags [none], proto IGMP (2), length 40, options (RA))
192.168.17.2 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 226.100.10.111 to_ex { }]
14:09:41.531896 IP (tos 0x0, ttl 1, id 22744, offset 0, flags [none], proto IGMP (2), length 40, options (RA))
192.168.17.2 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 226.100.10.111 to_ex { }]
на re0 и rl0 пусто
как заставить freebsd прозрачно направлять все запросы тв на lan2, а все остальное так же отправлять на lan1?
так же как варианта рассматривал udpxy, но пока тоже что-то не получилось, но лучше первый вариант дабы повысить свои знания.
если не сложно, подскажите в какую сторону идти, а то за два дня проб и ошибок уже голова пухнет?
заранее благодарю за помощь.