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

Перенаправление IP-порта iptables на виртуальную машину неактивно после перезагрузки (debian 10)

спасибо за интерес к моему вопросу, я уже некоторое время использую простой openmediavault NAS (работающий на debian 10) и настроил виртуальную машину внутри него через веб-интерфейс Cockpit. Я хочу перенаправить трафик с порта 81 на хосте на порт 80 на виртуальной машине. Я нашел это очень полезное руководство (https://aboullaite.me/kvm-qemo-forward-ports-with-iptables/), который работал отлично: пока я не перезагрузил машину. Несмотря на долгие поиски и изучение множества способов сохранения правил iptables, оказалось, что ни один из них не сработал так, как я хотел. Две команды, которые я использовал - согласно руководству - были:

iptables -t nat -I PREROUTING -p tcp --dport 81 -j DNAT --to 192.168.131.24:80
iptables -I FORWARD -o virbr1 -d 192.168.131.24 -j ACCEPT

с участием 192.168.131.24 являясь IP-адресом моей виртуальной машины в ее собственной сети. После перезагрузки вам необходимо либо снова запустить вторую команду, либо service netfilter-persistent reload похоже, тоже работает после сохранения с service netfilter-persistent save. Из чтения в Интернете кажется, что /etc/iptables/rules.v4 отвечает за сохранение этих правил, и его изучение показывает, что мне кажется моими правилами, поэтому я очень смущен тем, почему они не перезагружаются автоматически при запуске.

Строки найдены в /etc/iptables/rules.v4:

-A PREROUTING -p tcp -m tcp --dport 81 -j DNAT --to-destination 192.168.131.24:80
-A FORWARD -d 192.168.131.24/32 -o virbr1 -j ACCEPT

Большое спасибо всем, кто может дать некоторое представление об этом, потому что я новичок в iptables и его использовании. Я также должен упомянуть, что у меня установлен докер, и он автоматически генерирует множество правил на основе портов, которые я установил в контейнерах.