我在 Ubuntu 服务器上看到了这个网络配置,想知道双倍 VLAN 配置背后的原因。正如往常一样,没有文档,从事该工作过的工程师也无法给我启发,所以有什么想法吗?
该服务器位于远程数据中心,因此我现在无法轻松检查网络拓扑。据我所知,该盒子是运行 MySQL 的数据库服务器,VLAN(s!?)将其链接到 Web 服务器以组成 LAMP 堆栈系统。基本 eth0 地址(面向公众,有防火墙)仅用于管理员 ssh 登录。
据称,有一个使用 pacemaker 和 corosync 的第二个(HA)数据库服务器,但是故障转移现在不起作用,因此我正在查看系统以生成一些文档,同时更熟练的工程师处理 HA 配置。
编辑:Web 服务器上的 eth0 上只有一个 VLAN 配置条目(10.166.1.7)
# Loopback interface
auto lo
iface lo inet loopback
# Primary network interface
auto eth0
iface eth0 inet static
address [SNIP]
netmask 255.255.255.248
gateway [SNIP]
dns-nameservers [SNIP]
auto eth0.1400
iface eth0.1400 inet static
address 10.166.1.5
netmask 255.255.255.0
vlan-raw-device eth0
auto eth0:1.1400
iface eth0:1.1400 inet static
address 10.166.1.9
netmask 255.255.255.0
vlan-raw-device eth0
答案1
想象一下,IP 地址在许多配置中被硬编码,然后您需要将服务迁移到另一台机器。最简单的方法是将 IP 地址移动到新服务器。这可能是发生的事情。
另一个想法是,出于隔离或管理目的,HA 复制可能使用一个 IP,而 Web 服务器可能使用另一个 IP。
尝试netstat
识别哪些服务器正在连接到哪个 IP。
答案2
这些是别名。
eth0 = 主接口。eth0.1400 很可能是 vlan 接口,但如果没有其他配置,您将遇到问题。eth:0.1400 是 eth0 上的别名
由于我在这里没有使用 VLAN,所以你必须进行一些挖掘:
ip link show
ip a s | grep 1400
应该会告诉您哪个接口在哪里以及哪个 IP 实际上是开启的。很可能 eth0.1400(没有“:”)无法正常工作,并且
ip a s dev eth0
显示 10.166.1.9 作为绑定到 eth0 的 IP。