Proxmox:访问 Web 服务器的访客

Proxmox:访问 Web 服务器的访客

我向您解释我的配置:

  • 安装了 Debian 8 和 Proxmox 的服务器。它有一个本地地址(eth0:10.0.0.100)并通过代理访问互联网;
  • 一个使用 Centos 7 的客户端,地址为 192.168.0.100。我给了它所有的代理配置,它可以毫无问题地访问互联网。

Proxmox 主机和 Centos 客户机之间的本地网络是通过主机上的 vmbr0 接口(192.168.0.254)。

我的目标是从 10.0.0.0 网络访问任何虚拟机。例如,通过 SSH 访问 10.0.0.100 机器没有问题。有了良好的 NAT 规则,通过 SSH 访问 192.168.0.100 也没有问题。

但我的问题如下:当我想访问安装在 CentOS 客户机上的 Web 服务器 (Foreman) 时,无法从 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 网络机器,都无法访问该页面。

我已经尝试通过 iptables 定义许多 NAT 规则,通过 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 nat -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>

预先感谢您的帮助 !

答案1

我通过 proxmox 的 IRC 频道解决了这个问题:我必须在 eth0 接口而不是 vmbr0 上监听预路由 iptables 规则,因为它们没有连接。

相关内容