FreeBSD 8.0 + IPTV + igmpproxy
Добавлено: 2009-10-20 1:10:37
Собственно сабж...
Бред, но уже неделю не могу заставить работать IPTV через домашний роутер.
Перерыл кучу сайтов, манов и все без результатно.
Что имею:
Ядро:
Фаервол на время тестирования:
Последняя НЕ БЕТА версия igmpproxy, скачанная с http://sourceforge.net/projects/igmpproxy/
re2 - локалка провайдера, с которой идет вещание, а точнее с нескольки адресов из диапазона 192.168.252.0/24
re0 и re1 - внутреняя локалка, куда вещаем.
И все... пните к нужном направлении...
Бред, но уже неделю не могу заставить работать IPTV через домашний роутер.
Перерыл кучу сайтов, манов и все без результатно.
Что имею:
Код: Выделить всё
uname -a
FreeBSD server.schorsa 8.0-RC1 FreeBSD 8.0-RC1 #2: Thu Oct 8 01:53:18 UTC 2009 root@хххххххх:/usr/src/sys/i386/compile/SERVER i386
Код: Выделить всё
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_ONE2MANY
options NETGRAPH_RFC1490
options NETGRAPH_TTY
options NETGRAPH_UI
options IPFIREWALL
options IPFIREWALL_NAT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
options MROUTING
options DEVICE_POLLING
options HZ=2000
options RADIX_MPATH
options LIBALIAS
options ROUTETABLES=2
Код: Выделить всё
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=38db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:26:18:a2:a0:60
inet 10.10.2.1 netmask 0xfffffff8 broadcast 10.10.2.7
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=38db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:1e:58:fe:eb:6f
inet 10.10.1.1 netmask 0xfffffff0 broadcast 10.10.1.15
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
re2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=38db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:1e:58:fe:ee:c1
inet 10.0.87.8 netmask 0xffffff00 broadcast 10.0.87.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2048<VLAN_MTU,POLLING,WOL_MAGIC>
ether 00:08:c7:da:b7:71
inet 172.16.1.100 netmask 0xffffff00 broadcast 172.16.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=0<> metric 0 mtu 33200
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
inet XXX.XXX.XXX.XXX --> 192.168.255.1 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1492
inet XXX.XXX.XXX.XXX --> xyz.xyz.xyz.xyz netmask 0xffffffff
Код: Выделить всё
root@server [/usr/local/etc]# cat igmpproxy.conf
quickleave
phyint re2 upstream ratelimit 0 threshold 1
altnet 192.168.252.0/24
phyint re0 downstream ratelimit 0 threshold 1
phyint re1 downstream ratelimit 0 threshold 1
phyint fxp0 disabled
phyint ng0 disabled
phyint ng1 disabled
phyint lo0 disabled
Код: Выделить всё
ipfw -f flush
ipfw add allow all from any to any
re2 - локалка провайдера, с которой идет вещание, а точнее с нескольки адресов из диапазона 192.168.252.0/24
re0 и re1 - внутреняя локалка, куда вещаем.
Код: Выделить всё
root@server [/usr/local/etc]# igmpproxy -dvv /usr/local/etc/igmpproxy.conf
Searching for config file at '/usr/local/etc/igmpproxy.conf'
Config: Quick leave mode enabled.
Config: Got a phyint token.
Config: IF: Config for interface re2.
Config: IF: Got upstream token.
Config: IF: Got ratelimit token '0'.
Config: IF: Got threshold token '1'.
Config: IF: Got altnet token 192.168.252.0/24.
Config: IF: Altnet: Parsed altnet to 192.168.252/24.
IF name : re2
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 1
Allowednet ptr : 2820c030
Config: Got a phyint token.
Config: IF: Config for interface re0.
Config: IF: Got downstream token.
Config: IF: Got ratelimit token '0'.
Config: IF: Got threshold token '1'.
IF name : re0
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 2
Allowednet ptr : 0
Config: Got a phyint token.
Config: IF: Config for interface re1.
Config: IF: Got downstream token.
Config: IF: Got ratelimit token '0'.
Config: IF: Got threshold token '1'.
IF name : re1
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 2
Allowednet ptr : 0
Config: Got a phyint token.
Config: IF: Config for interface fxp0.
Config: IF: Got disabled token.
IF name : fxp0
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 0
Allowednet ptr : 0
Config: Got a phyint token.
Config: IF: Config for interface ng0.
Config: IF: Got disabled token.
IF name : ng0
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 0
Allowednet ptr : 0
Config: Got a phyint token.
Config: IF: Config for interface ng1.
Config: IF: Got disabled token.
IF name : ng1
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 0
Allowednet ptr : 0
Config: Got a phyint token.
Config: IF: Config for interface lo0.
Config: IF: Got disabled token.
IF name : lo0
Next ptr : 0
Ratelimit : 0
Threshold : 1
State : 0
Allowednet ptr : 0
buildIfVc: Interface re0 Addr: 10.10.2.1, Flags: 0xffff8843, Network: 10.10.2.0/29
buildIfVc: Interface re1 Addr: 10.10.1.1, Flags: 0xffff8843, Network: 10.10.1.0/28
buildIfVc: Interface re2 Addr: 10.0.87.8, Flags: 0xffff8843, Network: 10.0.87/24
buildIfVc: Interface fxp0 Addr: 172.16.1.100, Flags: 0xffff8843, Network: 172.16.1/24
buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8
buildIfVc: Interface ng0 Addr: 91.202.245.2, Flags: 0xffff88d1, Network: 91.202.245.2/32
buildIfVc: Interface ng1 Addr: 85.238.124.227, Flags: 0xffff88d1, Network: 85.238.124.227/32
Found config for re0
Found config for re1
Found config for re2
Found config for fxp0
Found config for ng0
Found config for ng1
adding VIF, Ix 0 Fl 0x0 IP 0x01020a0a re0, Threshold: 1, Ratelimit: 0
Network for [re0] : 10.10.2.0/29
adding VIF, Ix 1 Fl 0x0 IP 0x01010a0a re1, Threshold: 1, Ratelimit: 0
Network for [re1] : 10.10.1.0/28
adding VIF, Ix 2 Fl 0x0 IP 0x0857000a re2, Threshold: 1, Ratelimit: 0
Network for [re2] : 10.0.87/24
Network for [re2] : 192.168.252/24
adding VIF, Ix 3 Fl 0x0 IP 0x640110ac fxp0, Threshold: 1, Ratelimit: 0
Network for [fxp0] : 172.16.1/24
adding VIF, Ix 4 Fl 0x0 IP 0x02f5ca5b ng0, Threshold: 1, Ratelimit: 0
Network for [ng0] : 91.202.245.2/32
adding VIF, Ix 5 Fl 0x0 IP 0xe37cee55 ng1, Threshold: 1, Ratelimit: 0
Network for [ng1] : 85.238.124.227/32
Got 232448 byte buffer size in 8 iterations
Joining all-routers group 224.0.0.2 on vif 10.10.2.1
joinMcGroup: 224.0.0.2 on re0
Joining all-routers group 224.0.0.2 on vif 10.10.1.1
joinMcGroup: 224.0.0.2 on re1
SENT Membership query from 10.10.2.1 to 224.0.0.1
Sent membership query from 10.10.2.1 to 224.0.0.1. Delay: 10
SENT Membership query from 10.10.1.1 to 224.0.0.1
Sent membership query from 10.10.1.1 to 224.0.0.1. Delay: 10
Created timeout 1 (#0) - delay 10 secs
(Id:1, Time:10)
Created timeout 2 (#1) - delay 21 secs
(Id:1, Time:10)
(Id:2, Time:21)
About to call timeout 1 (#0)
Aging routes in table.
Current routing table (Age active routes):
-----------------------------------------------------
No routes in table...
-----------------------------------------------------