В конце сценария брандмауэра у меня есть следующие правила и политика:
$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
до конца скрипта, чтобы эффективно удалить все, что ранее не было найдено.