将IP地址移到其他服务器,内部不再有networking

我有这个服务器设置:

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移到serverB,这样做很好。 不幸的是,serverA和serverB通过200. * IP范围不能再看到对方。 我想这可能是有关networking掩码,目前为所有IP地址设置为255.255.255。*。

有什么build议我可以做什么来解决这个问题?

ServerA eth0

 BROADCAST=200.200.200.255 IPADDR=200.200.200.100 NETMASK=255.255.255.0 

ServerB 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输出serverA

 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 

serverB上:

 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 

在serverA上路由-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上路由-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 

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


对不起,误解了B的主要IP地址

这个问题是因为你的networking掩码太窄了。 将networking掩码更改为255.255.0.0,并且无需路由器即可通话。

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

据我所知你有2个网关,现在你有一个不连续的networking。 这意味着当服务器A正在向200.200.200.102发送数据包时,该数据包被发送到网关200.200.200.1,网关认为200.200.200.102是在本地networking中,并且正在本地networking中寻找该200.200.200.0.0 24他不知道在其他网关上configuration了相同的IP范围。

当服务器B向200.200.200.101发送数据包时,服务器B也是一样的。路由表是把这个数据包发送到0.0.0.0,然后到达200.200.300.1这个完全来自其他网段的数据包。 为了解决这个问题,你应该在两台服务器的路由表中添加一些静态规则,但这不是最好的方法。 最好的办法是让两台服务器连接到同一个网关。 或者在两个网关上configuration不连续的networking,但是在这里你应该小心使用什么路由协议,因为有些路由协议不支持不连续的networking。

为了帮助你,我应该看到你的networking图,然后我可以告诉你哪些变化会更好地实施。

接下来,数据包将进入界面,之后界面将处理它。 你是不对的,发送数据包到接口服务器应该有一个目标IP。 生根表查找过程:如果networking匹配200.200.200.0/24服务器正在寻找该networking的路由,路由表说,发送数据包到0.0.0.0这是不是一个接口configurationIP地址由于服务器没有它的本地接口,IP,将检查路由表再次匹配。 0.0.0.0 200.200.300.1 0.0.0.0 UG 0 0 0 eth0

这是默认路由,200.200.300.1似乎是网关。 200.200.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0这意味着数据包将被发送到默认路由而不是接口

它解决了。 在服务器B上,我将IP范围200.200.200。*中的所有子网掩码更改为255.255.255.255,而不是255.255.255.0,这一切都可以工作。 感谢你的帮助。