Reputation: 491
I need to create a file to filter traffic.
It should work like this:
This is my solution:
iptables -P INPUT DROP
iptables -F INPUT
iptables -A INPUT -i eth0 -p ICMP -s 192.168.5.200 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.5.0 -j DROP
iptables -A OUTPUT -o eth0 -p ICMP -d 192.168.5.200 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.5.0 -j DROP
iptables -A OUTPUT ACCEPT
iptables -A INPUT ACCEPT
I'm new to iptables, so I appreciate any help I can get.
Upvotes: 0
Views: 200
Reputation: 3158
Try rules like this:
iptables -P INPUT ACCEPT
iptables -A INPUT -s 192.168.5.200 -j ACCEPT
iptables -A INPUT -s 192.168.5.0/24 -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.5.0/24 -j DROP
iptables -P OUTPUT ACCEPT
iptables -A OUTPUT -d 192.168.5.200 -j ACCEPT
iptables -A OUTPUT -d 192.168.5.0/24 -p icmp -j ACCEPT
iptables -A OUTPUT -d 192.168.5.0/24 -j DROP
Upvotes: 1
Reputation: 11
You need to allow the incoming SSH
. Add this to your script:
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
You can also take a look here on this link: Linux Iptables - Block All Incoming Traffic But Allow SSH
Upvotes: 1