Linux单网卡多个IP地址时,主动向外发送数据时源IP选择问题

在使用KEEPALIVED做高可用过程中遇到问题:

作为主机的服务器拥有VIP(虚拟IP),另外一般还拥有自己的实际的IP地址.那当主机主动发起向往连接时,如何选择源IP地址呢.

前面已经有很多文章中有详细的讲解,如下的链接:

https://blog.csdn.net/bjxg/article/details/8230538

链接中已经讲的很细了.经过测试有效记录在此.

另外补充一点:

当使用修改路由的方法时的局限性:(本机IP:192.168.100.100 虚拟IP:192.168.100.15)

当使用udp时,如果udp的socket在修改路由前,已经创建,且绑定了IP(真实IP),则不会生效.

使用iperf测试udp,iperf的源socket是绑定的.

(1)当先把iperf跑起来,

(2)修改路由,

(3)从抓包看源IP地址并不会改变.

15:13:48.427028 IP 192.168.100.100.36203 > 192.168.100.1.5555: UDP, length 1470
15:13:48.427043 IP 192.168.100.100.36203 > 192.168.100.1.5555: UDP, length 1470

 

如果按照下面的顺序:

(1)修改路由

(2)利用iperf往外发送udp包.

(3)抓包看,源IP已经修改为192.168.100.15
15:23:15.850820 IP 192.168.100.15.35445 > 192.168.100.1.5555: UDP, length 1470
15:23:15.850837 IP 192.168.100.15.35445 > 192.168.100.1.5555: UDP, length 1470
15:23:15.862180 IP 192.168.100.15.35445 > 192.168.100.1.5555: UDP, length 1470

TCP为有链接的,更不用说.


 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值