Основные команды IP Tables
Показать статус
# iptables -L -n -v
Отобразить список правил с номерами строк
# iptables -n -L -v --line-numbers
Блокировка определенного IP адреса.
Чтобы заблокировать адрес взломщика 1.2.3.4:
# iptables -A INPUT -s 1.2.3.4 -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -j DROP
Отобразить INPUT или OUTPUT цепочки правил.
# iptables -L INPUT -n -v
# iptables -L OUTPUT -n -v --line-numbers
# iptables -L INPUT -n --line-numbers (показывает все действующие правила)
Сохранение/Восстановление правил
# iptables-save > /etc/iptables.rules
# iptables-restore < /etc/iptables.rules
Где /etc/iptables.rules - путь до файла, в котором сохраняются правила.
Остановить, запустить, перезапустить файрвол.
# service ufw stop
# service ufw start
Заблокировать все входящие запросы порта 80:
# iptables -A INPUT -p tcp --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Чтобы заблокировать запрос порта 80 с адреса 1.2.3.4:
# iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
Заблокировать запросы на исходящий IP адрес.
Чтобы заблокировать определенный домен, узнаем его адрес:
# host -t a facebook.com
Вывод: facebook.com has address 69.171.228.40
Найдем CIDR для 69.171.228.40:
# whois 69.171.228.40 | grep CIDR
Вывод: CIDR: 69.171.224.0/19
Заблокируем доступ на 69.171.224.0/19:
# iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP
Также можно использовать домен для блокировки:
# iptables -A OUTPUT -p tcp -d www.fаcebook.com -j DROP
# iptables -A OUTPUT -p tcp -d fаcebook.com -j DROP