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

Iptables / ufw - блокировка портов при использовании nat

Я использую NAT для перемещения запросов с внешних портов на внутренний IP-адрес и порт, размещенный на proxmox.

Что-то вроде этого:

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8000 -j DNAT --to 10.0.0.1:80

Однако даже когда я пытаюсь временно заблокировать порт 8000, запросы все равно проходят, и я могу получить доступ к веб-страницам.

Можно ли не заблокировать порты на хост-машине при использовании NAT? Должен ли я делать это на виртуальной машине? Это просто неправильная команда? ufw deny 8000

Вы используете переадресацию портов в цепочке PREROUTING, поэтому вам необходимо использовать блокировку портов в цепочке FORWARD в хост-системе или заблокировать порт в цепочках INPUT гостевой системы.

Но проще удалить правило портирования, чтобы сайт стал недоступен

Посмотрите на эту диаграмму, чтобы понять, как IPTables Chain Order работает:

http://www.ironflake.org/wp-content/uploads/2011/02/Linux_IptablesSchema.png