Linux/Unix定时发送数据包保持连接生效

远程服务端:192.168.1.11
本地客户端:192.168.1.10
原理,在远程服务端上修改内核,使其定期向客户端发送数据包,以保持链接生效。这里给出AIX和LINUX的设置。

AIX上的设置
no -a|grep tcp_keep
以root用户执行

no -p -o tcp_keepidle=360   //保持TCP/IP连接的时间,单位为0.5秒
no -p -o tcp_keepintvl=360 //连接初始timeout值,单位为0.5秒
no -p -o tcp_keepcnt=8     //连接次数

linux上的设置
查看当前配置:sysctl -a|grep net.ipv4.tcp_keep
以root身份执行

vi /etc/sysctl.conf
net.ipv4.tcp_keepalive_intvl = 180    //连接间隔,单位为1秒单位为秒
net.ipv4.tcp_keepalive_probes = 8
net.ipv4.tcp_keepalive_time = 180
sysctl -p                  //修改立即生效

设置完成以后,需要重启监听

lsnrctl stop
lsnrctl start

在本地服务器创建一个连接,连接到远程服务器,比如

sqlplus system/[email protected]/ora10g

在远程服务端执行tcpdump抓包工具,观察定期发送情况

tcpdump -nnXXtttte -s 2048 host 192.168.1.10 and 192.168.1.11

tcpdump的另一种写法

tcpdump -nnXXtttte -s 2048 host 133.96.50.154 and (10.126.23.175 or 10.126.23.176) 

One thought on “Linux/Unix定时发送数据包保持连接生效

发表评论

您的电子邮箱地址不会被公开。