Hello I have this routing script that I'm using which runs when all the network interfaces are up:
#!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin # # delete all existing rules. # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X # Always accept loopback traffic iptables -A INPUT -i lo -j ACCEPT # Allow established connections, and those not coming from the outside iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i ! wlan0 -j ACCEPT iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow outgoing connections from the LAN side. iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT # Masquerade. iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE # Don't forward from the outside to the inside. iptables -A FORWARD -i wlan0 -o wlan0 -j REJECT # Enable routing. echo 1 > /proc/sys/net/ipv4/ip_forward
wlan0 is my wifi connection to my android phones wifi tether, ip range is 192.168.43.0/24 eth0 is my LAN connection, ip range: 10.1.1.0/24
I've noticed when the script gets to this line:
iptables -A INPUT -m state --state NEW -i ! wlan0 -j ACCEPT
It comes up with the error:
Bad argument `wlan0' Try `iptables -h' or 'iptables --help' for more information.
Being a noob with iptables, I'm not too sure what is wrong.
Would anyone be able to enlighten me on this?