openstack两个实例可以建立tcp连接,无法传输数据问题,解析。

现象:

 两个实例,分别部署了tcp的client和server端。ps aux|grep name 查看正常运行。netstat -antl查看网络连接状态为建立连接,established状态。Send_Q不为空,且越来越大。两端网卡抓包,结果如下。

client端网卡抓包:

openstack实例tcp连接,无法传输数据

server端网卡抓包:

openstack实例tcp连接,无法传输数据

原因分析:

       通过抓包结果,可以看到TCP的三次握手已经完成。传送数据在client端可以看到,server端未收到数据。Send_Q越来越大,也可以判断,数据在clinet端系统,未发出。

      抓包文件中,可以看到MSS为1460,其实openstack的默认mtu为1450,已经超出范围。所以不能发到openstack的网络。

      查找原因发现,ip a可以看到实例内网卡的mtu值为1500,和openstack的mtu值不相同。dhclient eth0可以重新分配网卡的mtu,变为1450。(我是因为,镜像中有ifcfg-eth0的配置文件,导致不能分到默认mtu值。)

解决方案:

       删除镜像中ifcfg-eth0配置文件,重启网络,或者dhclient eth0。

 

  

 

 

 

相关文章:

  • 2021-10-19
  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-30
  • 2021-07-23
猜你喜欢
  • 2021-06-09
  • 2022-02-11
  • 2021-06-24
  • 2021-10-31
  • 2021-08-07
  • 2022-12-23
  • 2021-05-22
相关资源
相似解决方案