Я использую 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