将 IP 地址移至其他服务器,不再有内部网络

将 IP 地址移至其他服务器,不再有内部网络

我已经设置了这个服务器:

serverA
 ip 200.200.200.100
 ip 200.200.200.101
 ip 200.200.200.102
 ip 200.200.200.103

由于情况所迫,我不得不将 IP 200.200.200.102 和 200.200.200.103 移至服务器 B,这很管用。不幸的是,服务器 A 和服务器 B 无法再通过 200.* IP 范围互相看到对方。我认为这可能与网络掩码有关,目前所有 IP 的网络掩码都设置为 255.255.255.*。

关于如何修复此问题,有什么建议吗?

服务器A eth0

BROADCAST=200.200.200.255
IPADDR=200.200.200.100
NETMASK=255.255.255.0

服务器B eth0:2

BROADCAST=200.200.200.255
IPADDR=200.200.200.102
NETMASK=255.255.255.0

注意serverA和serverB都有200.200.200.*范围内的多个IP地址。

ip ad sh 输出服务器A

2: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
   valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0b:cd:fe:b9:98 brd ff:ff:ff:ff:ff:ff
inet 200.200.200.100/24 brd 200.200.200.255 scope global eth0
inet 200.200.200.101/24 brd 200.200.200.255 scope global secondary eth0:cp1
inet6 fe80::20b:cdff:fefe:b998/64 scope link
   valid_lft forever preferred_lft forever
1: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

服务器B:

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
inet 127.0.0.1/8 scope host lo 
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:14:38:4b:cb:64 brd ff:ff:ff:ff:ff:ff
inet 200.200.300.100/24 brd 200.200.300.255 scope global eth0
inet 200.200.200.102/24 brd 200.200.200.255 scope global eth0:cp1
inet 200.200.200.103/24 brd 200.200.200.255 scope global secondary eth0:cp2

服务器A上的route -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
200.200.200.105   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
200.200.200.106  0.0.0.0         255.255.255.255 UH    0      0        0 eth0
200.200.200.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         200.200.200.1     0.0.0.0         UG    0      0        0 eth0

服务器B上的route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
200.200.300.100   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
200.200.200.102   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
200.200.200.103  0.0.0.0         255.255.255.255 UH    0      0        0 eth0
200.200.200.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         200.200.300.1     0.0.0.0         UG    0      0        0 eth0

答案1

嗯,这是因为根据您发布的输出,服务器 A 和服务器 B 具有相同的主 IP 200.200.200.100。


抱歉,误读了B的主IP。

问题在于您的网络掩码太窄。将网络掩码更改为 255.255.0.0,这样他们就无需路由器即可进行通信。

答案2

您的意思是子网设置为 255.255.255.0?255.255.255.* 无效。试试看。另外,确保没有 IP 地址冲突。

答案3

据我所知,那里有 2 个网关,现在您有一个不连续的网络。这意味着当服务器 A 向 200.200.200.102 发送数据包时,该数据包被发送到网关 200.200.200.1,网关认为 200.200.200.102 在其本地网络中,并在本地网络 200.200.200.0/24 中寻找该 IP,它不知道其他网关上配置了相同的 IP 范围。

同样,当服务器 B 向 200.200.200.101 发送数据包时,路由表会指示将此数据包发送到 0.0.0.0,然后发送到 200.200.300.1,而这完全来自其他网段。为了解决这个问题,您应该在两台服务器上的路由表中添加一些静态规则,但这不是完美的方法。最好的方法是让两台服务器连接到同一个网关。或者在两个网关上配置不连续网络,但在这里您应该小心使用哪种路由协议,因为有些路由协议不支持不连续网络。

为了帮助您,我应该查看您的网络图,然后我才能告诉您最好实施哪些更改。

答案4

解决了。​​在服务器 B 上,我将 200.200.200.* 范围内的所有 IP 子网掩码从 255.255.255.255 改为 255.255.255.0,这样一切就都正常了。谢谢大家的帮助。

相关内容