Iptables. Example

Створюємо файл /etc/iptables.rules, в ньому пишемо:
*filter
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT

# SSH
-A INPUT -p tcp --dport 22 -s A.B.C.D/M -j ACCEPT

# FTP
-A INPUT -p tcp --dport 21 -s A.B.C.D/M -j ACCEPT

# TFTPD
-A INPUT -p udp --dport 69 -s A.B.C.D/M -j ACCEPT

# SNMPD
-A INPUT -p udp --dport 161 -s A.B.C.D/M -j ACCEPT

# HTTP, HTTPS
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# ICMP PING
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# CLOSE ALL PORTS
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT
Тут має бути пустий рядок

В /etc/rc.local, перед рядком exit, дописуємо:
iptables-restore /etc/iptables.rules


IPtables. Port forwarding

Натимо нат і одночасно прокидаємо порт для RDP.


iptables -t nat -A PREROUTING -d EXTERNAL_IP -p tcp -m tcp --dport EXTERNAL_PORT -j DNAT --to-destination LOCAL_IP:LOCAL_PORT
iptables -t nat -A POSTROUTING -d LOCAL_IP -p tcp -m tcp --dport LOCAL_PORT -j SNAT --to-source EXTERNAL_IP


Ubuntu. Пасивний FTP

Настроїш, буває, фаєрвол, а виявляється, що все працювало геть не так, як було задумано…


iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
modprobe nf_conntrack_ftp
modprobe ip_conntrack_ftp