Объясняю свою конфигурацию:
Локальная сеть между хостом Proxmox и гостем Centos осуществляется через интерфейс vmbr0 на хосте (192.168.0.254).
Моя цель - получить доступ к любой виртуальной машине из сети 10.0.0.0. Например, нет проблем с доступом к машине 10.0.0.100 по SSH. С хорошим правилом NAT нет проблем с доступом к 192.168.0.100 по SSH.
Но моя проблема в следующем: когда я хочу получить доступ к веб-серверу (Foreman), установленному на гостевой системе CentOS, невозможно получить к нему доступ из сети 10.0.0.0. Страница администратора Foreman доступна для следующих пользователей: https://foreman.mycompany.org (например). Я настроил файл / etc / hosts, чтобы сопоставить 192.168.0.100 с доменным именем foreman.mycompany.org. На машине 10.0.0.100 с lynx: нет проблем, открывается страница администратора Foreman. Но с любого сетевого компьютера 10.0.0.0 нет возможности получить доступ к странице.
Я пробовал много правил NAT через iptables, обратный прокси через apache2: решение не сработало. : /
Есть идея, пожалуйста?
Конфигурация моего хоста:
~ # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.0.0/24 state NEW,RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
~ # iptables -t нат -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.0.0/24 anywhere
DNAT tcp -- anywhere anywhere tcp dpt:2222 to:192.168.0.100:22
DNAT tcp -- anywhere anywhere tcp dpt:https to:192.168.0.100:443
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.0.0/24 anywhere
Конфигурация моего обратного прокси:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Proxy https://foreman.mycompany.org/>
Order Deny,Allow
Allow from all
</Proxy>
ServerName foreman.mycompany.org
ProxyRequests Off
ProxyPass / https://foreman.mycompany.org/
ProxyPassReverse / https://foreman.mycompany.org/
</VirtualHost>
</IfModule>
Заранее спасибо за вашу помощь !
Я решил проблему благодаря IRC-каналу proxmox: я должен прослушивать правило предварительной маршрутизации iptables на интерфейсе eth0, а не vmbr0, потому что они не подключены.