Here's another way to know exactly which firewall, yours or the ISP's, is blocking ports.
You can add the following firewall rules to the router (using SSH) and try Shields Up again.
Code:
iptables -t raw -I PREROUTING -i $(nvram get wan0_ifname) -p tcp --dport 89 -j ACCEPT
iptables -t raw -I PREROUTING -i $(nvram get wan0_ifname) -p tcp --dport 90 -j ACCEPT
If you subsequently dump the PREROUTING chain of the raw table …
Code:
iptables -t raw -vnL PREROUTING
… and do NOT see any packets (pkts field = 0) for those rules, you know for certain those ports are being blocked upstream of your router, otherwise your own router would be seeing them and show it (in my own case, they are NOT being blocked and report four (4) packets each).
You could even use the following script to review ALL of the tested ports (plus ping/icmp) this way.
Code:
#!/bin/sh
WAN_IF="$(ip route | awk '/^default/{print $NF}')"
i=1023
while [ $i -ge 0 ]; do
iptables -t raw -I PREROUTING -i $WAN_IF -p tcp --dport $((i--)) -j ACCEPT
done
iptables -t raw -I PREROUTING -i $WAN_IF -p icmp -j ACCEPT
Run Shields Up again and then search for any rules that show ZERO packets.
Code:
iptables -t raw -vnL PREROUTING | egrep '^\s*0'
In my case, I get the following …
Code:
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:135
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:136
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:137
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:138
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:179
0 0 ACCEPT tcp -- vlan2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
Seems about right to me.
You can flush those same rules w/ a reboot.
P.S. The above assumes you're testing Shields Up over the WAN, NOT the VPN.