Daniela
Daniela

Reputation: 491

Creating a firewall using iptables

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

Answers (2)

Joel C
Joel C

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

Joao Ferreira
Joao Ferreira

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

Related Questions