I tried this but got this warning. I suspect that I don't have $WAN defined
===========================
root@rt01:~# iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 1723 -j ACCEPT
Warning: wierd character in interface `-p' (No aliases, :, ! or *).
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
root@rt01:~#
===========================
here is my current iptables List and Version
===========================
root@rt01:~# iptables --version
iptables v1.3.3
root@rt01:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp option=!2 flags:SYN/SYN
input_rule all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT gre -- anywhere anywhere
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy DROP)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
forwarding_rule all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy DROP)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
output_rule all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain forward_vlan1 (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere huey
ACCEPT udp -- anywhere huey
ACCEPT all -- anywhere huey
ACCEPT tcp -- anywhere huey
ACCEPT udp -- anywhere huey
Chain forwarding_rule (1 references)
target prot opt source destination
forward_vlan1 all -- anywhere anywhere
Chain input_rule (1 references)
target prot opt source destination
input_vlan1 all -- anywhere anywhere
Chain input_vlan1 (1 references)
target prot opt source destination
Chain output_rule (1 references)
target prot opt source destination
root@rt01:~#
==================================
I looks like I already have gre (-p 47 ) in my INPUT CHAIN.