Linux 在更改 Wi-Fi 網路後不會關閉 TCP 連接

Linux 在更改 Wi-Fi 網路後不會關閉 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
    

相關內容