Nou hierbij de beschrijving en inhoud van de scripts om IPTV Routed werkend te krijgen op een ASUS RT66NU (Of later) zolang je Router Merling kan draaien moet dit wel werken.
Belangrijk om op je Asus Router niet de IPTV Settings in te stellen.
Onder de IPTV Tab:
Use DHCP Routes op RFC3442 & Microsoft zetten
IGMP Proxy (UIT)
IGMP Snooping (UIT)
** In de huidige Firmware wordt de IGMPPROXY.CONF door de GUI Opties geconfigureerd en zijn niet aanpasbaar.
Daarom moeten we dit later via de CLI (SSH) instellen.
Zorg dat je op de Asus JFFS aan hebt staan en deze geformateerd is.
Via GUI op TAB Administration en System
- Format JFFS partition at Next Boot (ALLEEN UITVOEREN ALS JE DIT NOG NIET EERDER HEBT GEDAAN) Als je al scripts hebt staan NIET deze optie uitvoeren.
- Enable JFFS custom scripts and configs op YES
Als je nog niet eerder JFFS hebt gebruikt dien je nu eerst je router te rebooten.
WAN-START script in de JFFS/scripts/ directory aanmaken
<WAN-START>
#!/bin/sh
# Setup VLAN4 on the CPU as well so we can talk to it
robocfg vlan 4 ports "0t 8t"
# Add VLAN4 as a physical interface
vconfig add eth0 4
ifconfig vlan4 up
# Request an IP-address and setup static routes
udhcpc -i vlan4 -O msstaticroutes -O staticroutes -V IPTV_RG -s /jffs/scripts/vlan4.script -p /var/run/vlan4.pid -b -O33 -O249
<WAN-START>
Wellicht dat je het pad van /jffs/scripts/vlan4.script moet aanpassen (ligt er aan of hij het PAD kan vinden)
Als het script goed loopt zie je op VLAN4 daadwerkelijk een IP Adres verschijnen en routes opgenomen worden.
Check1: Doe IFCONFIG en op VLAN4 moet je een Inet Addr vermeld zien staan.
Check2: Doe Route en zie een (2tal) routes in je route tabel naar Vlan4
Vlan4.script ook opnemen in /jffs/scripts/ opnemen
<Vlan4.script>
#!/bin/sh
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
set_classless_routes() {
local max=128
local type
while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do
[ ${1##*/} -eq 32 ] && type=host || type=net
echo "udhcpc: adding route for $type $1 via $2"
route add -$type "$1" gw "$2" dev "$interface"
max=$(($max-1))
shift 2
done
}
case "$1" in
deconfig)
ifconfig $interface 0.0.0.0
;;
leasefail|nak)
echo "Failed to obtain lease..."
;;
renew|bound)
ifconfig $interface $ip $BROADCAST $NETMASK
[ -n "$staticroutes" ] && set_classless_routes $staticroutes
[ -n "$msstaticroutes" ] && set_classless_routes $msstaticroutes
;;
esac
exit 0
<Vlan4.script>
De volgende settings zijn een beetje afhankelijk van de "Adressen" die je vanuit KPN terug krijgt.
Het gaat om de adressen die je in je Route Tabel terug krijgt waar je NAT rules voor op moet nemen.
Ook neem ik Firewall Rules op voor UDP / IGMP als deze mogelijk standaard door je firewall in de asus worden tegen gehouden
in de JFFS/scripts/ directory neem je een nat-start file op
<nat-start>
#Accept Multicast
iptables -I INPUT -p udp -d 224.0.0.0/4 -j ACCEPT
iptables -I INPUT -p igmp -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -p udp -d 224.0.0.0/4 -j ACCEPT
#Masquerade
iptables -t nat -I POSTROUTING -d 213.75.112.0/255.255.248.0 -o vlan4 -j MASQUERADE
iptables -t nat -I POSTROUTING -d 10.162.0.0/255.255.192.0 -o vlan4 -j MASQUERADE
#Turn of RP_filter on Vlan4
echo 0 > /proc/sys/net/ipv4/conf/vlan4/rp_filter
<nat-start>
Onderstaande ben ik nog in script aan het zetten (nu nog even van Command Line uitgevoerd) en moet ik nog verder testen
Vanaf Command Line werkt het allemaal prima overigens.
Belangrijk dat IGMP in de GUI uitstaat omdat we deze handmatig met eigen config willen starten!
<services-start>
/usr/sbin/igmpproxy /jffs/configs/igmpproxy.conf
<services-start>
De Config Files voor IGMP en DNSMASQ staan in de /jffs/configs/ directory
<igmpproxy.conf>
quickleave
phyint vlan4 upstream ratelimit 0 threshold 1
altnet 0.0.0.0/0
phyint br0 downstream ratelimit 0 threshold 1
<igmpproxy.conf>
<dnsmasq.conf.add>
dhcp-option=vendor:,1,IPTV_RG
dhcp-option=28,<Hier je Broadcast adres van je Eigen IP (Interne) Range
<dnsmasq.conf.add>
Ik heb staps gewijst gecontroleerd of alles werkte, bijvoorbeld goed in je log files kijken of hij de dnsmasq.conf.add goed inlaad.
Het kwam nog wel eens voor dat hij na het booten van de router deze nog niet inlas.
Dan moet je de service even herstarten en pakt hij hem wel.
In principe is dit alle info die je nodig hebt om routed werkend te krijgen op een Asus.
Met dank aan mensen op het Small Network Builders Forum heb ik daar stukje bij beetje alle info en configs
kunnen maken om het werkend te krijgen. Ook de input van overige tweakers heeft geholpen in het eind resultaat.
1 issue wat ik had maar "Overheen" gekeken had was dat mijn Wifi onbruikbaar werd in het begin....
bleek dat op wonderbaarlijke wijze de Wiresless / Professional tab op mijn 2.4 en 5 Ghz band de IGMP Snooping uitstond.
Deze handmatig aangezet en sindsien Wifi ook probleemloos naast Routed IPTV.
Stappen:
- GUi Instellingen
- Zorg dat je Scripts Executable zijn en geen vreemde tekens bevatten wil nog wel eens gebeuren.
- Scripts Executable maken via chmod a+rx /jffs/scripts/*
- WAN-START werkend krijgen (kan je starten vanaf command line met SH ... Script Naam)
Na Wan Start moet je dus een VLAN 4 hebben (Checken via Robocfg Show)
en een IPadres op VLAN 4 (Checken via IFCONFIG)
en of je routes zijn toegevoegd door het vlan4.script (Check je via Route)
ook van belang is dat je dnsmasq.conf.add geladen is (Kan je checken in je Log File in de Gui)
Niet geladen kan je deze opnieuw starten door DNS service te herstarten
Daarna NAT Start en controleren of je Rules actief zijn
iptables -L
[
Voor 6% gewijzigd door
itxs op 07-02-2016 10:09
]