有人告诉我要标记 VLAN 并向 Linux 服务器添加 IP 地址。它正在使用/etc/sysconfig/network-scripts/
。
我以前从来没有尝试过这个。
有多个具有不同 IP 子网的 VLAN,一些 VLAN 具有相同的已公布 IP 子网。
物理服务器在端口 2 和 3 有 2 个以太网,并且两个以太网包含相同的 VLAN。
我的方法是ifcfg-eth1.101
为 VLAN 101 添加我的第一个 IP 地址,其中包含以下内容:
DEVICE=eth1.101
BOOTPROTO=static
ONBOOT=yes
IPADDR=23.543.11.10
NETMASK=255.255.255.255
USERCTL=no
NETWORK=23.543.11.1
VLAN=yes
...然后ifup eth1.101
运行systemctl restart network.service
这是正确的吗?我是否遗漏了什么?
答案1
对于任何不使用的类 RedHat 发行版来说,这看起来是正确的NetworkManager
。
如果您有两个具有相同 VLAN 的 NIC,您可能需要先将端口绑定在一起(即绑定eth1
和eth2
成bond0
),然后将 VLAN 挂接到绑定上(即,而不是ifcfg-eth1.101
使用DEVICE=eth1.101
withifcfg-bond0.101
等DEVICE=bond0.101
)
使用绑定时,请务必选择绑定模式,除非您已与网络管理员确认可以使用BONDING_OPTS="mode=active-backup"
默认绑定模式(或任何其他绑定模式)。使用托管交换机时,可能会导致交换机和/或路由器中出现“MAC 地址抖动”警告,这可能会让网络管理员感到烦恼。如果交换机上启用了 MAC 地址劫持保护,则使用可能看起来像是劫持尝试并导致误报。balance-rr
balance-rr
balance-rr
如果您需要在 VLAN 上设置多个 IP 地址,则额外 IP 的语法ifcfg-bond0.101
为(对于绑定接口)“主接口”的文件名、ifcfg-bond0.101:0
第一个额外 IP 地址的文件名,依此类推。句号后的数字是 VLAN 编号,冒号后的数字是额外 IP 的索引号。
该文件的内容ifcfg-bond0.101:0
应与仅配置一个 IP 地址时类似:
DEVICE=eth0.101:0
BOOTPROTO=static
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.0
ONBOOT=yes
VLAN=yes
请注意,以这种方式在 VLAN 上配置 IP 别名保证仅在 RHEL/CentOS 5 及更高版本上受支持;它可能已在 4.x 发布周期中期添加,但我不确定。
对于旧版本的操作系统,您必须编写自定义脚本来手动初始化 IP 别名ifconfig
,因为initscripts
4.x 中的软件包最初没有处理这种组合的能力。