Input

  1. Basic

    iptables -I INPUT 1 -m state --state INVALID -j DROP

    iptables -I INPUT 2 -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

    iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

    iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

    iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Enable Loopback"

  2. SSH (-m tcp --dport 22)

    iptables -A INPUT -p tcp -s 10.0.0.0/8 -m tcp --dport 22 -j ACCEPT -m comment --comment "LAN Calss A"

    iptables -A INPUT -p tcp -s 172.16.0.0/12 -m tcp --dport 22 -j ACCEPT -m comment --comment "LAN Calss B"

    iptables -A INPUT -p tcp -s 192.168.0.0/16 -m tcp --dport 22 -j ACCEPT -m comment --comment "LAN Calss C"

    Разрешить SSH c IP x.x.x.x ( -s lesnoy.mlp.pp.ua)

    iptables -A INPUT -p tcp -s x.x.x.x -m tcp --dport 22 -j ACCEPT -m comment --comment "My Office"

    iptables -A INPUT -p tcp -s lesnoy.mlp.pp.ua -m tcp --dport 22 -j ACCEPT -m comment --comment "Lesnoy"

  3. Разрешаем ICMP

    iptables -A INPUT -p icmp -j ACCEPT

    iptables -A INPUT -p icmp -s x.x.x.x -j ACCEPT -m comment --comment "My Office"

  4. Все закрыть

    iptables -P INPUT DROP

  5. Web

    Октрыть порт 80/tcp (-m tcp --dport 80)

    iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -m comment --comment "For HTTP"

  6. Разрешить порт udp 1194 (-m udp --dport 1194)

    iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT -m comment --comment "For OpenVPN"

  7. Открыть несколько портов (-m multiport)

    iptables -A INPUT -p tcp -s 192.168.0.0/16 -m tcp -m multiport --ports 22,8006 -j ACCEPT

    iptables -A INPUT -p tcp -s lesnoy.mlp.pp.ua -m tcp -m multiport --ports 22,8006 -j ACCEPT -m comment --comment "lesnoy"

  8. Разрешить все c конкретного интерфейса

    iptables -A INPUT -i -eth0 -j ACCEPT -m comment --comment "LAN"

  9. Разрешить все c конкретного IP

    iptables -A INPUT -s 192.168.1.1 -j ACCEPT

    iptables -A INPUT -s lesnoy.mlp.pp.ua -j ACCEPT -m comment --comment "Lesnoy"

  10. Логировать

    iptables -A INPUT -p tcp -m tcp --dport 3306 -j LOG --log-prefix "IP_mysql_Sli"

    Все обращения к порту 3306/tcp заносить в лог /var/log/messages или в /var/log/syslog

    cat /var/log/syslog | grep IP_mysql_Sli