使用具有多个 IP 地址的网络接口

使用具有多个 IP 地址的网络接口

如果我的网络接口绑定了多个 IP 地址,我可以设置服务器使用哪个接口上的 IP 地址吗?它似乎设置为使用我添加到它的第一个 IP 地址。

信息:OpenVZ 上的 Ubuntu

答案1

各种软件都允许您指定使用哪个接口。但总体而言,所使用的接口由您的路由规则控制。

您可以使用以下命令查看路由规则:netstat -nr

两个接口是否位于同一子网中?您可以确保您的路由规则将所有流量导向您想要的接口。

答案2

正确的术语是多宿主设备。您的一个网络接口卡有多个 IP 地址,换句话说,您的网络接口卡是 1 个以太网 RJ45 插孔,并连接一根以太网电缆。但是,它有 4 个 IP 地址。是的,您可以这样做,第一个 IP 地址是主 IP 地址,其余 IP 地址称为别名。

/sbin/ifconfig -a

你应该看到类似这样的内容:

eth1      Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.31  Bcast:10.100.15.255  Mask:255.255.240.0
          ......
          ......
          ......
          RX bytes:84421113749 (78.6 GiB)  TX bytes:2094592237803 (1.9 TiB)

eth1:1    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.200  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:2    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.201  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:3    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.202  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1:4    Link encap:Ethernet  HWaddr 00:50:56:BC:30:FB  
          inet addr:10.100.8.203  Bcast:10.100.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1 是我的接口,其 IP 地址为 10.100.8.31,但是,这个昵称分配了 4 个别名 IP 地址,它们显示为 eth1:1、eth1:2...

它们有对应的 ifcfg-eth1:x 文件。例如

ifcfg-eth1
-----------
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.100.8.31
NETMASK=255.255.240.0
ONBOOT=yes
USERCTL=no


and ifcfg-eth1:1
-----------------
DEVICE=eth1:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.100.8.200
NETMASK=255.255.240.0
USERCTL=no

因此,当系统启动时,这些脚本就会被加载。

答案3

如果是 Linux,那么它可能默认使用“弱主机模型”,因此:在弱主机模型中,IP 主机(IPv4 或 IPv6)可以在未分配要发送数据包的源 IP 地址的接口上发送数据包。这称为弱主机发送行为。IP 主机还可以在未分配要接收数据包的目标 IP 地址的接口上接收数据包。这称为弱主机接收行为。

相关内容