设置 VirtualHost 仅通过 OpenVPN 连接

设置 VirtualHost 仅通过 OpenVPN 连接

我的设置如下:

eth0      Link encap:Ethernet
          inet addr:XXX.XXX.XXX.XXX
eth1      Link encap:Ethernet
          inet addr:10.10.20.20
lo        Link encap:Local Loopback
tun0      inet addr:10.8.0.1

我想将我的网络邮件设置为仅通过 VPN 连接时才可访问。目前,VirtualHost 指令是 *:443。我假设要将 * 替换为 eth1 地址。

但是我是否也必须设置 iptables 路由?如果是,该怎么做?

答案1

在 OpenVPN 服务器上,添加以下行:

push "route web.mail.ip.address"

在虚拟主机部分,您可以根据 IP 地址限制访问,如下所示:

<Directory "/your/virtual/host/directory">
    Order allow,deny
    Allow from vpn.server.ip.address
    ErrorDocument 403 http://google.com
</Directory>

答案2

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.180.160.0    0.0.0.0         255.255.224.0   U     0      0        0 eth1

网络邮件的 IP 地址与我的服务器相同,假设为 XXXX

VPN 服务器位于同一台机器上,并具有一个配置文件,其中包含以下内容:

server 10.8.0.0 255.255.255.0

当我添加:推送“路线XXXX”

我无法访问网络邮件地址。

奇怪的是,即使我已连接到 VPN,我的 IP 地址http://www.whatismyip.com显示了我服务器的 IP 地址,网络邮件日志显示我正尝试从我的 ISP 的 IP 地址进行连接。

相关内容