在家庭网络环境中,我托管了一个 Web 服务器,但我的 ISP 不断通过 DHCP(此处为 dhclient)给我提供不同的动态 IP 地址。
系统正在运行 systemd(而不是 rc.d initd)。
我如何确保 Apache 2.4 只监听该接口(更改 IP 地址)?
注意事项:
- 我不希望 Apache 2.4 在我的其他 3 个 NIC 接口上监听(我有一个测试网络、一个有线电视提供商网络和一个 WiFi 网络,每个网络都有自己的网络服务器)。
- 防火墙方法在这里不是最好的方法选项(此外,Apache2 必须提前以某种方式知道 IP 地址,并且应该有选择地监听指定的接口...为了可隔离性。)
答案1
您可以使用 让 Apache 只监听特定的 IP 和端口Listen 192.0.2.1:80
,甚至可以使用 将 VirtualHosts 绑定到单个接口<VirtualHost 192.0.2.1:80>
。这里唯一的问题是动态 IP,这需要动态配置。
一种可能的解决方案是将Listen
指令包含在单独的配置文件中,这样更容易替换。然后编写一个脚本来替换此配置文件中的 IP 并重新启动 Apache。例如,可以使用中的配置up
启动此脚本。iface
/etc/network/interfaces
但没有直接的方法。服务器应该有静态 IP 地址。