Končno mi je uspelo urediti IPTV na računalniku na VDSL1. IPTV deluje normalno na računalniku in tudi na TVju. Do IPTV dostopam preko udpxy.
Imam pa še nekaj čudnih težav, facebook in instagram (mogoče še katera druga spletna stran) mi ne prikazujeta slik. Če izključim IPTV interface, potem mi facebook in instagram normalno prikazujeta slike .
Ko pa IPTV interface nazaj vklopim, pa mi ne dela internet, potem moram izklopiti še WAN interface in ga ponovno vklopiti, da dela internet.
Opazil sem, da mi internet sicer deluje dokler imam odprt brskalnik, če pa ga enkrat zaprem pa ponovno odprem, pa ne deluje več.
Glede na to, da sem prilagajal firewall skripto sumim, da je težava v tej skripti. Ker nimam ravno veliko znanja o požarnih pregradah (sploh iptables) in protokolih, bi potreboval pomoč, da ugotovim kaj je narobe.
Na WRT54GL imam naložen OpenWrt Backfire 10.03.1. Kreiral sem 3 VLANe in sicer za LAN, WAN in IPTV (slika 1 in slika 2). Iz modema imam speljano linijo za internet na port WAN, linijo za IPTV pa na port 4 na routerju (VDSL1 ima ločeno linijo ia IPTV in internet). Za firewall sem rahlo priredil skripto, ki sem jo dobil na strani http://uross-digital-tools.appspot.com/ ... penwrt_slo.
moja FW skripta:
Koda: Izberi vse
#!/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.1.1"
LAN_RANGE="192.168.1.0/24"
TV_IFACE="eth0.2"
PPPOE_IFACE0="eth0.1"
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 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
###########
# 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 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 UDP -i $LAN_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
#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
# 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 igmp -o $TV_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $TV_IFACE -j DROP
$IPTABLES -A OUTPUT -p ALL -o $PPPOE_IFACE0 -j ACCEPT
# 2. NAT
# PREROUTING VERIGA
# tukaj vpišite "port forwarding"
# POSTROUTING VERIGA
#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
}
slika 2 (https://ibb.co/6JK58R6)