wiki

Help! I'm trapped in a wiki!

Site Tools


programs:iptables

Table of Contents

iptables

older kernel firewall, superseded by nftables

iptables has three commonly used tables: filter, nat and mangle. The filter table acts as regular firewall filtering

Chains

Chains in iptables are sets of rules. INPUT → packets coming in OUTPUT → packets going out FORWARD → packets routed through PREROUTING → alter packets before INPUT POSTROUTING → alter packets after OUTPUT

Usage

iptables -nL List numbered rules; add -v for verbose iptables-save dump iptables rules iptables -F flush rules iptables -X delete empty chains

iptables -P INPUT DROP Set policy to drop incoming packets for INPUT iptables -A INPUT -i lo -j ACCEPT Append rule to INPUT chain to accept packets on loopback iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT Append rule to INPUT chain to accept TCP dest port 22 packets on eth0 iptables -A INPUT -i eth0 -s 10.10.10.0/24 -p tcp -j ACCEPT Allow inbound TCP traffic from input eth0 with source network 10.10.10.0/24 iptables -A OUTPUT -o eth0 -d 10.10.10.0/24 -p tcp -j ACCEPT Allow outbound TCP traffic to output eth0 with dest network 10.10.10.0/24

iptables -A INPUT -p icmp --icmp-type any -j ACCEPT Allow inbound ICMP traffic

SNAT

Source NAT changes the source IP address in a packet before it leaves the system. It uses the POSTROUTING chain.

Example: packets coming from 172.16.52.0/24 exiting through eth2 will get source IP of 123.124.125.126 iptables -t nat -A POSTROUTING -o eth2 -s 172.16.52.0/24 -j SNAT --to-source 123.124.125.126

DNAT

DNAT changes the destination IP address in a packet after it enters the system. It uses the PREROUTING chain. It is typically used to redirect requests to an internal server (DMZ) on a private address range.

Example: redirect ssh connections from wan (eth1) to 192.168.1.1 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.1

programs/iptables.txt · Last modified: by 127.0.0.1