Basic firewall using iptables
A firewall is a network service which is used to filter network traffic for unwanted traffic, block it, and allow the desired traffic to pass. The most powerful tool on Linux is iptables
, which has kernel integration in recent versions of the kernels.
How to do it...
iptables
is present, by default, on all modern Linux distributions. We will see how to configure iptables
for common scenarios.
Block traffic to a specific IP address:
#iptables -A OUTPUT -d 8.8.8.8 -j DROP
If you run
PING 8.8.8.8
in another terminal before running the iptables command, you will see this:PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=56 time=221 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=56 time=221 ms ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted
Here, the ping fails the third time because we used the
iptables
command to drop all traffic to8.8.8.8
.Block traffic to a specific port:
#iptables -A OUTPUT -p tcp -dport...