ССЫЛКИ
Описание iptables на русском, кратко http://easylinux.ru/node/190
Инструкции по iptables для DD-WRT http://www.dd-wrt.com/wiki/index.php/Iptables_command
СОДЕРЖАНИЕ
0. Общие команды
1. Удаление всех записей из таблицы nat:
2. Включение SNAT:
3. Проброс портов DNAT.
4. Блокирование потра для сети
5. Блокирование диапазона портов для определенного ip-адреса
6. Установка определенного кол-ва подключений в минуту для ssh. Защита от Брутфорса по 22 порту ssh.
7. Блокирование определенного mac-адреса
0. Общие команды
Просмотр всех правил:
iptables -nvL
1. Удаление всех записей из таблицы nat:
iptables -F -t nat
2. Включение SNAT:
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 195.234.200.50
iptables -D POSTROUTING № // удаление правила
3. Проброс портов DNAT.
а) проброс 80-ого порта, для того что-бы заходить через веб-браузер(порт 80) на устройство, которое находиться за nat'ом:
iptables -t nat -I PREROUTING -p tcp -d 195.234.200.50 --dport 1001 -j DNAT --to-destination 192.168.1.2:80
После этого в браузере набираем реальный ip-адрес и указваем порт (к примеру 1001):
http://195.234.200.50:4001
Таким образом мы зайдем на устройство 192.168.1.2 на порт 80.
б) проброс 22-ого потра для того что бы заходить на устройство через ssh(порт 22) протокол:
iptables -t nat -I PREROUTING -p tcp -d 195.234.203.82 --dport 1002 -j DNAT --to-destination 192.168.1.2:22
Для того что бы зайти указываем реальный ip-адрес и порт:
ssh -v -p 1002 root@195.234.200.50
Этой командой мы подключимся в устройству 192.168.1.2 к порту 22(ssh)
4. Блокирование потра для сети (192.168.1.0/24)
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --sport 64483 -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 64483 -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -p udp --sport 64483 -j DROPiptables -I FORWARD -d 192.168.1.0/24 -p tcp --sport 64483 -j DROP
5. Блокирование диапазона портов для определенного ip-адреса в FORWARD (для торрентов)
iptables -I FORWARD -s 195.234.202.98 -p tcp --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p tcp --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p tcp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p tcp --sport 1000:65535 -j DROP
iptables -I FORWARD -s 195.234.202.98 -p udp --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p udp --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p udp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p udp --sport 1000:65535 -j DROP
iptables -I FORWARD -s 195.234.202.98 -p tcp --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p tcp --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p tcp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p tcp --sport 1000:65535 -j DROP
iptables -I FORWARD -s 195.234.202.98 -p udp --dport 1000:65535 -j DROP
#iptables -I FORWARD -s 195.234.202.98 -p udp --sport 1000:65535 -j DROP
#iptables -I FORWARD -d 195.234.202.98 -p udp --dport 1000:65535 -j DROP
iptables -I FORWARD -d 195.234.202.98 -p udp --sport 1000:65535 -j DROP
6. Установка определенного кол-ва подключений в минуту для ssh. Защита от Брутфорса по 22 порту ssh.
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
7. Блокирование определенного mac-адреса
В Linux:
iptables -I FORWARD -m mac --mac-source 00:17:31:d4:16:32 -j REJECT --reject-with tcp-reset
На устройставх под DD-WRT:
http://www.dd-wrt.com/wiki/index.php/Iptables#Restrict_access_by_MAC_address
Сначало проверяем полгружен ли модуль для работы iptables с mac-адресами:
lsmod | grep ipt_mac
Ели нет, то подгружаем:
insmod ipt_mac
Добавляем команду
iptables -I FORWARD -m mac --mac-source 00:17:31:d4:16:32 -j DROP
либо
iptables -I FORWARD -m mac --mac-source 00:17:31:d4:16:32 -j REJECT --reject-with tcp-reset