Na de laatste update van DD-WRT lijkt de port-forwarding niet helemaal goed te werken. Dit kun je echter eenvoudig oplossen.

Zoals je in een eerdere blog hebt kunt lezen heb ik DD-WRT op mijn Netgear 3700 Router staan. Nu heb ik deze laatst weer voorzien van een upgrade die je hier kunt vinden.

Ook deze keer werkte de Port-Forwarding initiëel niet correct met DD-WRT. Na wat zoeken werd in de diverse fora gemeld dat je het volgende commando in je Firewall moet zetten:

iptables -t nat -A POSTROUTING -j MASQUERADE

Hierna werkte port-forwarding wel, maar ik merkte toen echter dat mijn Blog geen nieuwe unieke bezoekers meer telde terwijl deze toch echt wel langskwamen. Na wat zoeken besefte ik dat bovenstaande commando niet helemaal correct is. Met dit commando zal het bij de destination van je port-forwarding altijd lijken of het verkeer van je lokale router afkomt met het ip-adres van de router dus. Je wilt echter dat het ip-adres van de sturende node van internet bekend is bij de destination van je port-forward.

Na wat zoeken naar documentatie op internet over iptables kwam ik op het volgende commando uit:

iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

Als je dit meer generiek wilt hebben dan moet je het volgende commando gebruiken:

LAN=`nvram get lan_ipaddr`/`nvram get lan_netmask`
iptables -t nat -I POSTROUTING -o br0 -s $LAN -d $LAN -j MASQUERADE

Ga hiervoor naar Administration tab-blad en vul het commando in. Voeg het toe aan je Firewall met de knop [Save Firewall] en voer het commando ook nog eens expliciet uit met de knop [Run Commands].

Hierna zag ik dat alle unieke bezoekers van mijn Blog weer netjes geteld werden.

Ik maak nu gebruik van build 18777 van DD-WRT daar hier VPN nog correct werkt. In de latere versies van DD-WRT is hier nog een probleem mee.