If i want to accept incoming traffic in my test environment can someone please give me the iptable rule that i need to add to it?

My current iptables -L -n output looks like this

Chain INPUT (policy ACCEPT) target prot opt source
destination ACCEPT all --
state RELATED,ESTABLISHED ACCEPT icmp -- ACCEPT all -- ACCEPT tcp -- state NEW tcp dpt:22 REJECT all --
reject-with icmp-host-prohibited ACCEPT tcp -- tcp dpt:8443 ACCEPT tcp -- tcp dpt:8080 ACCEPT tcp -- tcp dpt:9443 ACCEPT tcp -- tcp dpt:2124

Chain FORWARD (policy ACCEPT) target prot opt source
destination REJECT all --
reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT) target prot opt source


Best Answer

Run the following. It'll insert the rule at the top of your iptables and will allow all traffic unless subsequently handled by another rule.

iptables -I INPUT -j ACCEPT

You can also flush your entire iptables system with the following

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT

If you flush it you may want to do something similar

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

If you want to be a bit safer with your traffic, don't use the accept all incoming rule, or remove it with "iptables -d input -j accept -m comment --comment "accept all incoming"", and add more specific rules like.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

Note: they need to be above the 2 reject rules at the bottom, so use i to insert them at the top. Or if you're anal like me, use "iptables -nL --line-numbers" to get the line numbers, then use "iptables -I INPUT ..." to insert a rule at a specific line number.

Save your work

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is