Назначение фиксированного IP-адреса виртуальной машине в Alma Linux
У меня есть хост Alma Linux 9 с двумя IP-адресами.
Я хочу назначить один IP-адрес хосту (это уже сделано), а второй — виртуальной машине Ubuntu.
Как лучше всего это сделать? Я настроил виртуальную машину через Cockpit, и у нее есть внутренний IP-адрес.
Я попробовал добавить маскирадинг, чтобы пересылать трафик на нужные мне порты:
sudo firewall-cmd --permanent --new-policy VMForwardPolicy
sudo firewall-cmd --permanent --policy=VMForwardPolicy --add-ingress-zone=HOST
sudo firewall-cmd --permanent --policy=VMForwardPolicy --add-egress-zone=ANY
sudo firewall-cmd --permanent --policy=VMForwardPolicy --add-rich-rule='rule family="ipv4" destination address="<public-ip>" forward-port port="22" protocol="tcp" to-port="22" to-addr="192.168.122.134"'
sudo firewall-cmd --permanent --policy=VMForwardPolicy --add-rich-rule='rule family="ipv4" destination address="<public-ip>" forward-port port="443" protocol="tcp" to-port="443" to-addr="192.168.122.134"'
sudo firewall-cmd --permanent --policy=VMForwardPolicy --add-rich-rule='rule family="ipv4" destination address="<public-ip>" forward-port port="443" protocol="udp" to-port="443" to-addr="192.168.122.134"'
sudo firewall-cmd --reload
Это сработало, но дало мне только внутренний доступ с хоста к общедоступному IP-адресу, любой внешний трафик не работал.
Когда я изменил зону входа на «ЛЮБАЯ», я вообще больше не мог добраться до IP.
Я также предпочел бы пересылать любой трафик, а не только определенные порты.
Я не знаком с сетями, поэтому буду благодарен за любую помощь. Я не думаю, что firewall-cmd — лучший способ сделать это, но я продвинулся с ним дальше, чем с iptables или nftables.