Linux VIP(虚拟IP)配置后,无法ping通的问题处理



    事起于公司装了MQ服务器,想做成手工切换的双机模式,具体要求是虚拟IP,共享存储和MQ应用服务通过手工执行脚本方式启停,在虚拟IP、存储、MQ应用都正常的起来后,出现了同网段的IP可以ping 得通虚拟IP,但跨网段ping 的时候就是ping不通。
    在和网络的同事排查时发现从交换机上看到的虚拟IP的MAC地址更新的时间为每4小时一次,由于交换机上的配置可以修改为更小的时间间隔来解决,但是要做到切换后应用恢复虚拟IP通讯的实时性,我们还是需要从主机端发起MAC地址更新的数据包。
    在网络上查找了虚拟IP配置相关问题后发现,基本定位于arp缓存更新周期的问题。
    问题的原因找到了,解决的方法就是通过工具,主动发起arp地址更新,在LINUX上我们可以使用的命令有arping
    我的系统版本如下:redhat 5.4 ,以下命令供参考。
[root@MQHOST ~]# uname -a
Linux MQHOST 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[root@MQHOST ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
[root@MQHOST ~]# /sbin/arping 
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
  -f : quit on first reply
  -q : be quiet
  -b : keep broadcasting, don't go unicast
  -D : duplicate address detection mode
  -U : Unsolicited ARP mode, update your neighbours
  -A : ARP answer mode, update your neighbours
  -V : print version and exit
  -c count : how many packets to send
  -w timeout : how long to wait for a reply
  -I device : which ethernet device to use (eth0)
  -s source : source ip address
  destination : ask for what ip address
[root@MQHOST ~]# 

主动广播新IPMAC地址的命令:
    /sbin/arping  -c 5 -U -I eth0 192.168.4.100
-c 表示要发多少个广播包。
-U 非请求模式,更新同网段设备上的arp缓存。
-I 通过哪个接口发送数据包,这个会使用到这个网卡的mac的地址。

    说明:arp更新问题,这个问题在商业的HA软件中好像是不存在的,他们的实现方式好像是通过虚拟MAC地址与虚拟IP地址绑定的方式实现的(这个是从驻场工程师处了解到的,非官方的解释,权威性有待确认)。
    事起于公司装了MQ服务器,想做成手工切换的双机模式,具体要求是虚拟IP,共享存储和MQ应用服务通过手工执行脚本方式启停,在虚拟IP、存储、MQ应用都正常的起来后,出现了同网段的IP可以ping 得通虚拟IP,但跨网段ping 的时候就是ping不通。
    在和网络的同事排查时发现从交换机上看到的虚拟IP的MAC地址更新的时间为每4小时一次,由于交换机上的配置可以修改为更小的时间间隔来解决,但是要做到切换后应用恢复虚拟IP通讯的实时性,我们还是需要从主机端发起MAC地址更新的数据包。
    在网络上查找了虚拟IP配置相关问题后发现,基本定位于arp缓存更新周期的问题。
    问题的原因找到了,解决的方法就是通过工具,主动发起arp地址更新,在LINUX上我们可以使用的命令有arping
    我的系统版本如下:redhat 5.4 ,以下命令供参考。
[root@MQHOST ~]# uname -a
Linux MQHOST 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[root@MQHOST ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
[root@MQHOST ~]# /sbin/arping 
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
  -f : quit on first reply
  -q : be quiet
  -b : keep broadcasting, don't go unicast
  -D : duplicate address detection mode
  -U : Unsolicited ARP mode, update your neighbours
  -A : ARP answer mode, update your neighbours
  -V : print version and exit
  -c count : how many packets to send
  -w timeout : how long to wait for a reply
  -I device : which ethernet device to use (eth0)
  -s source : source ip address
  destination : ask for what ip address
[root@MQHOST ~]# 

主动广播新IPMAC地址的命令:
    /sbin/arping  -c 5 -U -I eth0 192.168.4.100
-c 表示要发多少个广播包。
-U 非请求模式,更新同网段设备上的arp缓存。
-I 通过哪个接口发送数据包,这个会使用到这个网卡的mac的地址。

    说明:arp更新问题,这个问题在商业的HA软件中好像是不存在的,他们的实现方式好像是通过虚拟MAC地址与虚拟IP地址绑定的方式实现的(这个是从驻场工程师处了解到的,非官方的解释,权威性有待确认)。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux虚拟机中成功ping另一个主机,需要确保以下几个步骤: 1. 确保虚拟机网络设置正确:在虚拟机软件中,确保虚拟机的网络适配器设置为桥接模式或者NAT模式。这将允许虚拟机与主机以及其他网络设备进行信。 2. 检查虚拟机的IP地址:使用命令`ifconfig`或`ip addr show`查看虚拟机的IP地址。确保虚拟机的IP地址与主机所在网络的IP地址段相同。 3. 检查网络连接:确保虚拟机和要ping的主机都能够正常连接到网络。可以尝试使用ping命令来测试虚拟机和主机的网络连接。 4. 防火墙设置:如果虚拟机上运行了防火墙软件(例如iptables),请确保允许ping请求过防火墙。可以使用以下命令检查防火墙规则: ``` iptables -L ``` 如果发现有与ping相关的规则被阻止,可以使用以下命令允许ping请求过: ``` iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT ``` 如果使用的是ufw防火墙,可以使用以下命令允许ping请求过: ``` ufw allow icmp ``` 5. 确保目标主机开启了ICMP回显请求(ping)功能:如果要ping的主机是另一台计算机,需要确保该计算机允许接收并响应ping请求。有些防火墙默认会阻止ping请求,需要在目标主机上进行相应的设置。 以上是一般情况下pingLinux虚拟机的步骤,根据具体的网络环境和配置可能会有所不同。如果仍然无法ping,请提供更多细节,以便进一步帮助解决问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值