Es besteht eine TCP-Verbindung zwischen einem Gerät hinter NAT (WLAN-Router) und einem Server in der Google Cloud, beide unter Ubuntu 16.04. Wenn ich ein WLAN-Netzwerk ändere, behält dieses Gerät diese Verbindung im Status „HERGESTELLT“, obwohl der Server sie trennt.
Vor dem Wechsel:
Server
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
Klient
root@client:~# netstat -natp | grep 8080 tcp 0 0 192.168.X.X:49514 35.XXX.XXX.XXX:8080 ESTABLISHED 9089/crossbar-worker
Nach der veränderung:
Server
root@server:~# netstat -natp | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1810/crossbar-worker
Klient
root@client:~# netstat -natp | grep 8080 tcp 0 0 192.168.X.X:49514 35.XXX.XXX.XXX:8080 ESTABLISHED 9089/crossbar-worker
Warum trennt mein Gerät diese TCP-Verbindung nicht?
Zusatzinfo: TCP Keepalive
Server
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
Klient
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