我正在尝试设置一个 ubuntu 14.04 服务器来监听多个 IP 地址。已为服务器分配一个范围 (XXX146/29),并ip addr show
确认这是 eth0 的配置方式(屏蔽了私人信息):
$ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet X.X.X.146/29 brd X.X.X.151 scope global eth0
valid_lft forever preferred_lft forever
inet6 XXXX::XXX:XXXX:XXXX:XXXX/64 scope link
valid_lft forever preferred_lft forever
我可以 ping 和 ssh 到 XXX146 上的服务器,但 ping 到任何其他分配的 IP 地址时都会失败,并显示“主机无法访问”。这尤其成问题,因为服务器的域名被分配给了 XXX149。
为了进一步测试,我设置了 nginx 监听端口 80。curl X.X.X.146
从 nginx 获得响应但curl X.X.X.149
超时。我确信这是一个非常简单的设置,但我搞不懂。
答案1
您需要配置此主机系统上的其他 IP 地址。
您可以通过在文件中添加相关的配置行来完成,/etc/network/interfaces
如下所示。
auto eth0:0
iface eth0:0 inet static
address X.X.X.149
netmask 255.255.255.248
network X.X.X.144
broadcast X.X.X.151
您应该为所有想要使用的 IP 地址添加这些行,并eth0:0
为每个 IP 地址增加第二个数字。