GrabDuck

Uroš's IPTV tools

:

Modemi, ki jih dobite pri nekaterih ponudnikih interneta niso samo modemi, pač pa imajo kar precej dodatnih funkcij, v nekaterih primerih celo več kot nizkocenovni domači usmerjevalniki. Iz tega razloga je v večini primerov kupovanje dodatnega usmerjevalnika povsem odveč.

Če pa ste se iz določenih razlogov vendarle odločili, da želite uporabljati svoj usmerjevalnik, boste kmalu ugotovili, da naprave, ki so nanj priključene, lahko uporabljajo samo internet ali pa samo video signal. Na usmerjevalnik sicer lahko z dodatnim kablom povežete tudi VIDEO port (VLAN), vendar v večini primerov modem "ugotovi", da je prišlo do zanke in "zamrzne". Če pa že deluje, ste s tem obšli požarni zid ter spustili video signal v multicast obliki tudi na brezžični del omrežja. Iz več različnih razlogov je video signal v multicast obliki neprimeren za brezžični prenos, kar se kaže kot kockanje slike ali pa celo prekinjanje brezžične povezave.

Če ste naleteli na zgoraj opisane težave, potem je ena od rešitev namestitev OpenWrt.

Prednosti namestitve OpenWrt na usmerjevalnik:

  • Lokalno omrežje lahko bolje zaščitite, saj do vašega usmerjevalnika ne more dostopati nihče drug, kar pa ne velja za Siolove modeme.
  • Z "združitvijo" VLAN-ov lahko vsaka naprava, ki je na usmerjevalnik priklopljena na katerikoli port, istočasno uporablja internet, video in telefonijo. To je predvsem pomembno za računalnike, ki zato ne potrebujejo dveh mrežnih kartic. Z ustrezno nastavitivijo usmerjanja, lahko za vse računalnike usposobite tudi Siolove časovne funkcije (ogled nazaj). Siol Box lahko priklopite v katerikoli port na usmerjevalniku in bo deloval, pri tem pa pazite, da je na servisnih straneh označen posredni priklop. Podobno velja tudi za Sagem STB, za katerega lahko namestite popolnoma svoj grafični vmesnik.
  • Siol dovoljuje dve hkratni pppoe seji. Če obe vzpostavite na usmerjevalniku, lahko nastavite usmerjanje preko 2 prehodov. P2P programi lahko zato uporabljajo 2X večjo hitrost, kot jo imate naročeno, saj se hitrost limitira glede na pppoe sejo. (Fizična hitrost med modemom in centralo pa je zaradi IPTV maksimalna.) Usmerjanje preko dveh prehodov v tem vodiču ni opisano.

Poleg zgoraj opisanega, lahko na OpenWrt usmerjevalnik namestite celo vrsto dodatnih programov. Če imate nanj povezan tudi trdi disk, je zelo uporaben program miniDLNA, s katerim lahko delite multimedijske datoteke napravam kot je npr. SiolBox. Namestite lahko tudi http, ftp, samba strežnike. Video signal lahko s programom udpxy spremenite v unicast obliko in tako na računalniku uporabljate internet in gledate IPTV tudi preko brezžičnega omrežja (samo z 1 brezžično kartico). Konfigurirate lahko tudi QOS (Quality Of Service), ki pa zaradi preglednosti v tem vodiču ni opisan, je pa zelo pomembno da to uredite, če znotraj lokalnega omrežja uporabljate tudi ip telefonijo.

Pozor - vodič ni spisan tako, da bi mu le slepo sledili in kopirali ter lepili ukaze.

Opisana konfiguracija je spisana za : OpenWrt Backfire 10.03 na TP-Link ti-wr-1043nd usmerjevalniku.

Pri Tp-Link usmerjevalnikih z Atheros gonilniki je v povezavi z Backfire in Attitude Adjustment različicami znano, da imajo težave s stabilnostjo brezžičnega omrežja, zato namestite najnovejše. Pri novejših različicah se da preko grafičnega vmesnika Luci preprosto nastaviti skoraj vse funkcije opisane v tem vodiču.

Predstavil bom vse nastavitve, ki so potrebne, da naprave priklopljene na usmerjevalnik lahko dostopajo do interneta in TV signala istočasno. Pri tem se bom držal načela, da bom v primerih kjer je možno za dosego istega cilja uporabiti tako 2. kot tudi 3. stopnjo po OSI modelu, uporabil slednjo. Za zaščito omrežja bo zato dovolj uporaba požarnega zidu iptables brez uporabe ebtables.

Če na brezžičnem omrežju uporabljamo samo http kliente, lahko za prenos signala v http obliki uporabimo udpxy posrednik.Ker je za združenje IPTV omrežja in Interneta uporabljeno multicast usmerjanje, lahko notranje omrežje popolnoma zaščitimo pred morebitnimi vdori iz IPTV omrežja.

Novejša linux jedra (>2.6.34) podpirajo IGMP Snooping, zato pri novejših OpenWrt različicah brezžičnega omrežja ni več potrebno ločevati. Paziti pa moramo, da brezžični klienti uporabljajo samo udpxy posrednik.

Konfiguracija omrežja

/etc/config/network :
config 'interface' 'loopback'
        option 'ifname' 'lo'
        option 'proto' 'static'
        option 'ipaddr' '127.0.0.1'
        option 'netmask' '255.0.0.0'

config 'interface' 'lan'
        option 'ifname' 'eth0.1'
        option 'type' 'bridge'
        option 'proto' 'static'
        option 'ipaddr' '192.168.2.1'
        option 'netmask' '255.255.255.0'

config 'interface' 'tv'
        option 'ifname' 'eth0.3'
        option 'proto' 'static'
        option 'ipaddr' '10.XX.XX.XX'
        option 'netmask' '255.255.255.0'
        option 'macaddr' 'XX:XX:XX:XX:XX:YY'                  

config 'interface' 'wireless'
        option 'ifname' 'wlan0'
        option 'proto' 'static'
        option 'ipaddr' '192.168.4.1'
        option 'netmask' '255.255.255.0'

config 'interface' 'wana'
        option 'auto' '1'
        option 'ifname' 'eth0.2'
        option 'proto' 'pppoe'
        option 'username' 'username'
        option 'password' 'xxxxx'
        option 'peerdns' '0'
        option 'keepalive' '12'
        option 'persist' '1'             
        option 'defaultroute' '1'
        option 'dns' '193.189.160.13 193.189.160.23'

config 'interface' 'modemn'
        option 'ifname' 'eth0.2'
        option 'proto' 'static'
        option 'ipaddr' '192.168.1.2'
        option 'netmask' '255.255.255.0'

config 'switch'
        option 'name' 'rtl8366rb'
        option 'reset' '1'
        option 'enable_vlan' '1'

# Če uporabljate "vlan trunking", dodajte še port 4
config 'switch_vlan'
        option 'device' 'rtl8366rb'
        option 'vlan' '1'
        option 'ports' '1 2 3 5t'

config 'switch_vlan'
        option 'device' 'rtl8366rb'
        option 'vlan' '2'
        option 'ports' '0 5t'

# Če uporabljate "vlan trunking" odstranite to nastavitev, trunking pa nastavite z init skriptom (glej vlan_reconf skript)
config 'switch_vlan'
        option 'device' 'rtl8366rb'
        option 'vlan' '3'
        option 'ports' '4 5t'

config 'interface' 'wan'
        option 'ifname' ' '
        option 'proto' 'none'

Stikalo (eth0) je razdeljeno na 3 VLANe, kar si lahko predstavljamo kot računalnik s 3 (navideznimi) mrežnimi karticami. Wana je PPPoE seja vzpostavljeni preko eth0.2, tej mrežni kartici je dodeljen tudi statični ip 192.168.1.2 z namenom, da lahko iz vseh računalnikov znotraj omrežja dostopamo do nastavitev modema IPTV ponudnika (192.168.1.1). Za TV VLAN je potrebno spremeniti MAC naslov, saj drugače lahko pride do zanke !

Nastavitev brezžične kartice (wlan0)

/etc/network/wireless :
config 'wifi-device' 'radio0'
        option 'type' 'mac80211'
        option 'macaddr' 'XX:XX:XX:XX:XX:XX'
        option 'hwmode' '11ng'
        option 'htmode' 'HT20'
        list 'ht_capab' 'SHORT-GI-40'
        list 'ht_capab' 'DSSS_CCK-40'
        option 'channel' '9'
        option 'txpower' '20'
        option 'disabled' '0'

config 'wifi-iface'
        option 'device' 'radio0'
        option 'network' 'wireless'
        option 'mode' 'ap'
        option 'ssid' 'MOJSSID'
        option 'encryption' 'psk2'
        option 'key' 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        option 'hidden' '1'

Nastavitev IGMP posrednika igmpproxy

/etc/igmpproxy.conf :
quickleave

##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
##------------------------------------------------------
phyint eth0.3 upstream  ratelimit 0  threshold 1
#        altnet 192.168.1.0/24
altnet 89.143.0.0/16
altnet 95.176.246.0/24

##------------------------------------------------------
## Configuration for lan (Downstream Interface)
##------------------------------------------------------
phyint br-lan downstream  ratelimit 0  threshold 1
#phyint wlan0 downstream  ratelimit 0  threshold 1

##------------------------------------------------------
## Configuration for eth2 (Disabled Interface)
##------------------------------------------------------
phyint eth0.2 disabled
phyint wlan0 disabled
phyint ppp0 disabled

Dodatne nastavitve

Naslednje nastavitve so potrebne le v primeru, če ste brezžični del postavili v drugo omrežje npr. 192.168.4.0/24 .

Kot je bilo omenjeno, je v tem vodiču brezžično omrežje postavljeno v drug ip rang z namenom, da multicast promet, namenjenem ožičenim napravam, ne poplavlja brezžičnega omrežja. Novejše Openwrt različice podpirajo IGMP snooping, zato to ni več potrebno. IGMP snooping funkcija omogoča, da se multicast promet kopira samo na porte usmerjevalnika od koder je prišla IGMP zahteva (preklop na določen TV kanal). Če pa IGMP zahteva pride iz brezžičnega dela omrežja, seveda funkcija IGMP snoopinga ne reši ničesar in pojavijo se enaki problemi kot so opisani v uvodu.

Ker imajo računalniki statične ip naslove jih lahko poimenujemo. To nam bo tudi omogočilo lažji dostop do datotek med računalniki v 192.168.2.0/24 in 192.168.4.0/24 omrežju.

/etc/hosts :
127.0.0.1 localhost.
192.168.2.2 jalovec
192.168.2.4 triglav
192.168.2.8 mangart
192.168.4.10 laptop

Ker bomo vsem računalnikom vpisali DNS naslov OpenWrt usmerjevalnika, moramo urediti še

/etc/resolv.conf :
search lan
nameserver 127.0.0.1
Računalnik z naslovom 192.168.2.4 bo tako dostopen na naslovu triglav.lan. Npr. ping triglav.lan ali pa v Windows raziskovalcu: \\triglav.lan\.

Požarni zid

Ker bomo za požarni zid napisali nov skript, najprej oneogočimo privzeti požarni zid sistema UCI:
/etc/init.d/firewall disable
Pri pisanju pravil si pomagajte s to shemo.
Ustvarimo novo datoteko, katera mora imeti doveljenje za zagon :
/etc/init.d/firewall.manual :
#!/bin/sh /etc/rc.common
START=39

# nastavitve
IPTABLES="/usr/sbin/iptables"

LO_IFACE="lo"
LO_IP="127.0.0.1"

LAN_IFACE="br-lan"
LAN_IP="192.168.2.1"
LAN_RANGE="192.168.2.0/24"

WIRELESS_IFACE="wlan0"
WIRELESS_IP="192.168.4.1"
WIRELESS_RANGE="192.168.4.0/24"

MODEMN_IFACE="eth0.2"
MODEMN_IP="192.168.1.2"
MODEMN_STATUS="192.168.1.1"

TV_IFACE="eth0.3"

PPPOE_IFACE0="ppp0"

fw_start(){

# dodatne nastavitve

# vklopimo forwarding
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# onemogocimo ICMP preusmeritve
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
# dinamicen ip
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# Onemogocimo rp filter, da udpxy lahko sprejme multicast pakete
#echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

# 1. FILTER

# Nastavitev pravil
# glavna pravila
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# verige
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed

$IPTABLES -N tcp_packets_tv
$IPTABLES -N tcp_packets_internet
$IPTABLES -N tcp_packets_modemn
$IPTABLES -N udp_packets_tv
$IPTABLES -N udp_packets_internet
$IPTABLES -N icmp_packets
$IPTABLES -N igmp_packets

# nepravilni tcp paketi
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

# dovoljeni paketi
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

###########
# tcp pravila
###########

$IPTABLES -A tcp_packets_modemn -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
# Tukaj lahko dodate pravila se za tcp_packets_internet

###########
# udp pravila
###########
# če uporabljate udpxy posrednik, odkomentirajte naslednjo vrstico:
#$IPTABLES -A udp_packets_tv -p UDP -s 0/0 -d 224.0.0.0/4 -j ACCEPT
$IPTABLES -A udp_packets_tv -p UDP -d 255.255.255.255 --destination-port 67:68 -j DROP

############
# icmp pravila
############
#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

############
# igmp pravila
############
$IPTABLES -A igmp_packets -p IGMP -j ACCEPT

# INPUT VERIGA

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

#localhost in lan/wireless
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $WIRELESS_IFACE -s $WIRELESS_RANGE -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67:69 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $WIRELESS_IFACE --dport 67:69 -j ACCEPT

#tv
$IPTABLES -A INPUT -p TCP -i $TV_IFACE -j tcp_packets_tv
$IPTABLES -A INPUT -p UDP -i $TV_IFACE -j udp_packets_tv
$IPTABLES -A INPUT -p ICMP -i $TV_IFACE -j icmp_packets
$IPTABLES -A INPUT -p IGMP -i $TV_IFACE -j igmp_packets
$IPTABLES -A INPUT -p UDP -i $TV_IFACE --dport 67:69 -j ACCEPT

#modem network
$IPTABLES -A INPUT -p TCP -i $MODEMN_IFACE -j tcp_packets_modemn

#internet (pppoe) wana
$IPTABLES -A INPUT -p ALL -i $PPPOE_IFACE0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $PPPOE_IFACE0 -j tcp_packets_internet
$IPTABLES -A INPUT -p UDP -i $PPPOE_IFACE0 -j udp_packets_internet
$IPTABLES -A INPUT -p ICMP -i $PPPOE_IFACE0 -j icmp_packets

# FORWARD VERIGA

$IPTABLES -A FORWARD -p TCP -j bad_tcp_packets

# samo ce so iz LANa
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $WIRELESS_IFACE -j ACCEPT


# multicast usmerjanje !!!
$IPTABLES -A FORWARD -i $TV_IFACE -p UDP -s 0/0 -d 224.0.0.0/4 -j ACCEPT

# tukaj vpišite še dovoljenja za pakete iz pppoe za katere je bil izvršen DNAT (port forwarding)

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# OUTPUT VERIGA

$IPTABLES -A OUTPUT -p TCP -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $WIRELESS_IP -j ACCEPT

$IPTABLES -A OUTPUT -p igmp -o $TV_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $TV_IFACE -j DROP

$IPTABLES -A OUTPUT -p ALL -o $MODEMN_IFACE -d $MODEMN_STATUS -j ACCEPT

$IPTABLES -A OUTPUT -p ALL -o $PPPOE_IFACE0 -j ACCEPT


# 2. NAT

# PREROUTING VERIGA

# tukaj vpišite "port forwarding"

# POSTROUTING VERIGA

# Poskrbimo, da dobimo pakete iz http strežnika (192.168.1.1:80) Iskratelovega modema.
$IPTABLES -t nat -A POSTROUTING -o $MODEMN_IFACE -s $LAN_RANGE -j SNAT --to-source $MODEMN_IP
#masquerading
$IPTABLES -t nat -A POSTROUTING -o $PPPOE_IFACE0 -j MASQUERADE


# 3. MANGLE

# PREROUTING VERIGA
#

# POSTROUTING VERIGA
# Poskrbimo za večje pakete...
$IPTABLES -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o $PPPOE_IFACE0 -j TCPMSS --clamp-mss-to-pmtu

# OUTPUT VERIGA
# 

}

fw_stop ()   {
  $IPTABLES -F
  $IPTABLES -t nat -F
  $IPTABLES -t mangle -F
  $IPTABLES -X
  $IPTABLES -t nat -X
  $IPTABLES -t mangle -X
  $IPTABLES -P INPUT DROP
  $IPTABLES -P FORWARD DROP
  $IPTABLES -P OUTPUT DROP
}

fw_clear ()  {
  $IPTABLES -F
  $IPTABLES -t nat -F
  $IPTABLES -t mangle -F
  $IPTABLES -X
  $IPTABLES -t nat -X
  $IPTABLES -t mangle -X
  $IPTABLES -P INPUT ACCEPT
  $IPTABLES -P FORWARD ACCEPT
  $IPTABLES -P OUTPUT ACCEPT
}


start(){
      echo -n "Zaganjam pozarni zid..."
      fw_stop
      fw_start
      echo "Pozarni zid je zagnan..."
}
stop(){
      echo -n "Ustavljam pozarni zid (prehod paketov popolnoma onemogocen)..."
      fw_stop
      echo "Pozarni zid je ustavljen..."
}
restart(){
        fw_stop
        fw_start
}
Šele ko ste prepričani, da vse deluje tako kot mora, omogočite ta skript:
/etc/init.d/firewall.manual enable

Če uporabljate VLAN trunking (povezava modema in usmerjevalnika z enim kablom), je zaradi napake pri različicah 10.0.3X, potrebno dodati še skript za pravilno konfiguriranje VLAN-ov :
/etc/init.d/vlan_reconf :
#!/bin/sh /etc/rc.common
# Copyright (C) 2008 OpenWrt.org

START=98

start() {
     swconfig dev rtl8366rb vlan 3999 set ports '0t 5t'
     swconfig dev rtl8366rb vlan 2 set ports '0 5t'
}
Potrebno pa je omogočiti tudi podporo za 4k VLAN-e.
/etc/config/network :
config 'switch'
        option 'name' 'rtl8366rb'
        option 'reset' '1'
        option 'enable_vlan' '1'
        option 'enable_vlan4k' '1'

Če ste brezžične kliente postavili v drugo omrežje, je potrebno za deljenje tiskalnikov in datotek med brezžičnim (192.168.4.0/24) in žičnim delom omrežja(192.168.2.0/24) ustrezno konfigurirati požarni zid operacijskega sistema Windows. Le-ta namreč dovoljuje dostop do datotek in tiskalnikov le klientom znotraj istega omrežja.
Če hočemo, da laptop(192.168.4.10) na 1. sliki dostopa do datotek v skupni rabi računalnika triglav(192.168.2.4), moramo požarni zid računalnika triglav nastaviti takole (Windows 7) :

Primeri nastavitev prek grafičneka vmesnika Luci - različica 10.03.1 ( r29592 )




Dodatek

Kako spremeniti zgornjo konfiguracijo, da bo multimedijski predvajalnik (NetBox) ali računalnik predvajal tudi video vsebine iz privatnega omrežja IPTV ponudnika npr.ogled oddaj za nekaj ur nazaj ?

Video na zahtevo in posnetki oddaj niso dostopni preko javnega dela interneta, pač pa le iz IPTV omrežja, ki je dostopen samo naročnikom.

Pri povezavi kot na sliki 2 mora biti na servisnih straneh obkljukan "posredni priklop".

a) Kako pridobiti informacije o omenjenem omrežju je opisano že v navodilih za Sagem vmesnik, ki jih lahko najdete na teh straneh. Če ste potrpežljivi, lahko do podatkov o omrežju pridete tudi s pomočjo programa DHCPDiscoverer, ki bo morda v kakšni uri ujel DHCP Offer Broadcast paket ali dva.

Poleg parametrov omenjenih v navodilih za Sagem, si moramo zapisati še ip naslov privatnega DNS strežnika. NetBox se namreč ob poizkusu predvajanja posnete oddaje hoče povezati na naslednje naslove: epg.siol.tv, dms.siol.tv, stream.siol.tv ali cup-stream.siol.tv ali cup-split.siol.tv. Vse omenjene poddomene domene siol.tv, razen xxxstream.siol.tv oz. cup-split.siol.tv, so vpisane tudi v javni DNS strežnik, kar nam pove, da za razliko od epg podatkov, video pakete dobimo lahko le iz privatnega omrežja. Ko imamo ip naslov DNS strežnika, ga lahko dodamo k obema javnima v config/network skriptu (meni to iz nekega razloga ni delovalo, čeprav je tcpdump pokazal, da privatni DNS strežnik odgovori z ustreznim ip naslovom) ali pa ip in ime domene dodamo kar v /etc/hosts in upamo, da se ip ne bo prepogosto spreminjal:

 10.253.7.XXX stream.siol.tv
 10.253.7.XXX cup-stream.siol.tv
 10.253.7.XXX cup-split.siol.tv

Omenjeni ip naslov nam že nakazuje, v katerem ip rangu se nahajajo rtp/rtsp strežniki, zato lahko usmerjanje nastavimo tako, da bodo šel ves promet za 10.253.0.0/16 (maska je zgolj predpostavka) preko privzetega prehoda privatnega omrežja.

Najprej preverimo, da ip naslov in maska (navidezne) mrežne kartice ustrezata parametrom, ki jih dodeli Siolov strežnik. Če nimate Sagema, začasno nastavite MAC naslov mrežne kartice enakemu NetBoxu in z Wiresharkom prisluškujte DHCP paketom po postopku opisanem v navodilih za Sagem.

b) Popravimo filtriranje v OUTPUT verigi npr.:

 $IPTABLES -A OUTPUT -p tcp -o $TV_IFACE --dport 554 -d 10.253.0.0/16 -j ACCEPT

c) Ne pozabimo še na SNAT, saj bo drugače RTSP strežnik prejel pakete z izvornimi ip-ji 192.168.2.0/24 in ne bo "vedel" kam poslati odgovore.

 $IPTABLES -t nat -A POSTROUTING -o $TV_IFACE -j MASQUERADE

d) SNAT pa nam povzroči težavo, da usmerjevalnik ne bo vedel kam naj posreduje prejete video pakete iz VOD strežnika, ki ni nujno enak rtsp strežniku. Ta problem naj bi rešil moduli:

  • nf_nat,
  • nf_nat_rtsp ,
  • nf_conntrack_rtsp ,
vendar vsaj pri različici 10.0.3.1 temu ni tako, zato moramo DNAT nastaviti ročno. Na srečo želi NetBox video pakete prejemati vedno na portu 8254. Pri vas je ta port lahko drugačen. Na računalniku lahko s programom vlc ali programa MulticastTV2.Net ta port izberemo poljubno.
  $IPTABLES -A PREROUTING -t nat -p udp -i $TV_IFACE --sport 10000 --dport 8254 -j DNAT --to 192.168.2.60
  $IPTABLES -A PREROUTING -t nat -p udp -i $TV_IFACE --sport 10000 --dport 10110:10120 -j DNAT --to 192.168.2.70
  $IPTABLES -A PREROUTING -t nat -p udp -i $TV_IFACE --sport 10000 --dport 10210:10220 -j DNAT --to 192.168.2.40
192.168.2.60 je naslov NetBoxa, ostala dva sta naslova dveh računalnikov.

e) Omogočimo posredovanje rtp paketov. Port 10000 je izvorni port VOD(video on demand) strežnika.

 $IPTABLES -A FORWARD -i $TV_IFACE -p UDP -s 10.253.0.0/16  --sport 10000 -j ACCEPT

f) Sedaj ostane samo še nastavitev usmerjanja.
*

   ip route add 10.253.0.0/16 via 10.XX.XX.1 dev $TV_IFACE
$TV_IFACE = mrežna kartica za TV npr.: eth0.3999 , 10.XX.XX.1 = privzeti prehod privatnega omrežja.

*Tukaj je predpostavljeno, da za usmerjanje uporabljate ip2 paket. Namesto main tabele, lahko uporabite novo tabelo(gw2) z nižjo prio številko.
ip route add 10.253.0.0/16 via 10.XX.XX.1 dev eth0.3999 table gw2
/usr/sbin/ip rule add prio 46 table gw2
Še prej moramo seveda v rt_tables dodati še gw2. Isto se da doseči tudi s klasičnim route ukazom.

Ogled oddaj za nazaj na NetBoxu bi sedaj moral delovati. Na računalniku pa v primeru uporabe vlc predvajalnika izberite ustrezen rtsp port klienta ter uporabite Generator rtsp linkov, ki ga lahko najdete tukaj.

Kako nastaviti dhcp server, da lahko Sagem IAD 8x, priklopljen za usmerjevalnik, naloži originalni Siolov vmesnik ?

Predpogoj za to nastavitev je pravilna konfiguracija usmerjanja za IPTV omrežje ( Siol: 10.X.X.0/22). Postopek je opisan v zgornjem okvirju pod točko f !

V /etc/dnsmasq.conf najprej dodamo id in ip razpon:

dhcp-range=sagem-int,192.168.2.50,192.168.2.60 

v /etc/config/dhcp pa naslednje vrstice:
 config vendorclass
        option vendorclass  'sagem'
        option networkid   'sagem-int'
        list dhcp_option '3,192.168.2.1' # Privzeti prehod ( Ip OpenWrt usmerjevalnika. )
        list dhcp_option '6,10.253.7.11' # Dns strežnik ( Za pravilno delovanje moramo vpisati dns strežnik IPTV omrežja )
        list dhcp_option '72,10.253.3.133' # Web strežnik - Siolov JavaScript vmesnik
        list dhcp_option '42,193.2.1.87' # Arnesov ntp server
Identifikator sagem-int lahko spremenite v poljuben id. Ne smete pa spremeniti vendorclass 'sagem' saj se Sagem strežniku identificira z opcijo "Vendor Class:'sagem'". V omenjeni konfiguraciji namreč strežnik dodeli opisane parametre le napravam, ki se identificirajo kot "sagem". Lahko se zgodi (različica backfire), da dhcp strežnik (dhcpmasq) Sagemu, kljub pravilni nastavitvi, ne bo dodelil pravilnega DNS strežnika ali pa jih bo dodelil prav vsem klientom v omrežju. Rešitev zato je vpis statičnih naslovov v /etc/hosts (10.253.3.129 matrix.siol.tv).

Če želite namestiti kakšen drug vmesnik, npr. Simplicity, potem samo spremenite ip web strežnika. Priporočljivo je spremeniti tudi ip dns strežnika !