Назад | Перейти на главную страницу

изменить правила iptables и политику по умолчанию, но сохранить переадресацию портов

В конце сценария брандмауэра у меня есть следующие правила и политика:

$IPT=/sbin/iptables
...
$IPT -P FORWARD ACCEPT
$IPT -F FORWARD


# Forward port 2206 to data6 
$IPT -A INPUT -i eth1 -s 192.168.1.0/24 -d 6X.XXX.XXX.YY7 -p tcp --destination-port 2206 -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp --dport 2206 -j DNAT --to-destination 192.168.1.2:22

# accept port 22 for the machine 192.168.1.2
$IPT -A FORWARD -j ACCEPT --protocol tcp --destination 192.168.1.2 --destination-port 22

С этими правилами я могу ssh напрямую на хост 192.168.1.2 с участием ssh 192.168.1.2 или с ssh -p 2206 6X.XXX.XXX.YY7.

Я хочу изменить политику пересылки по умолчанию с ACCEPT к DROP. Однако, когда я попробовал это, у меня не было доступа к хосту 192.168.1.2.

Стоит ли беспокоиться о политике принятия по умолчанию?
Как адаптировать правила для работы с политикой DROP?

Если вы измените политику по умолчанию на DROP, вам необходимо разрешить трафику возвращаться с 192.168.1.2:22 через брандмауэр.

$IPT -A FORWARD -j ACCEPT -m conntrack --ctstate ESTABLISHED
$IPT -A FORWARD -j ACCEPT -p tcp -d 192.168.1.2 --dport 22

Также может потребоваться разрешить обратный поиск DNS, добавив:

$IPT -A FORWARD -j ACCEPT -p udp -s 192.168.1.2 --dport 53

Вы можете оставить политику по умолчанию как есть и просто добавить $IPT -A FORWARD -j DROP до конца скрипта, чтобы эффективно удалить все, что ранее не было найдено.