更换 Wi-Fi 网络后 Linux 不会关闭 TCP 连接

更换 Wi-Fi 网络后 Linux 不会关闭 TCP 连接

NAT(Wi-Fi 路由器)后面的某些设备与位于 Google Cloud 中的服务器之间存在一些 TCP 连接,两者均在 Ubuntu 16.04 下运行。当我更改 Wi-Fi 网络时,此设备将此连接保持在“已建立”状态,尽管服务器将其断开。

变更前:

  • 服务器

    root@server:~# netstat -natp | grep 8080
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1810/crossbar-worker
    tcp        0      0 10.142.X.X:8080         73.XXX.XXX.XXX:49514    ESTABLISHED 1810/crossbar-worker
    
  • 客户

    root@client:~# netstat -natp | grep 8080
    tcp        0      0 192.168.X.X:49514     35.XXX.XXX.XXX:8080        ESTABLISHED 9089/crossbar-worker
    

更改后:

  • 服务器

    root@server:~# netstat -natp | grep 8080
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1810/crossbar-worker
    
  • 客户

    root@client:~# netstat -natp | grep 8080
    tcp        0      0 192.168.X.X:49514     35.XXX.XXX.XXX:8080       ESTABLISHED 9089/crossbar-worker
    

为什么我的设备不会断开该 TCP 连接?

附加信息:TCP 保持连接

  • 服务器

    root@server:~# grep -H '' /proc/sys/net/ipv4/tcp_keepalive*
    /proc/sys/net/ipv4/tcp_keepalive_intvl:75
    /proc/sys/net/ipv4/tcp_keepalive_probes:9
    /proc/sys/net/ipv4/tcp_keepalive_time:7200
    
  • 客户

    root@client:~# grep -H '' /proc/sys/net/ipv4/tcp_keepalive*
    /proc/sys/net/ipv4/tcp_keepalive_intvl:75
    /proc/sys/net/ipv4/tcp_keepalive_probes:9
    /proc/sys/net/ipv4/tcp_keepalive_time:7200
    

相关内容