|
|
sysctl: cannot stat /proc/sys/net/ipv4/tcp_tw_recycle : No such file or directory+ V: \0 g/ l7 M' ~: m* W
0 T# A' G* S# b4 q3 ^- ~! ?" I1 F' G1 \% t- N
最近发现一个奇怪的问题,一台服务器上部署的网站,用外网访问是正常的,但是使用公司内网访问就访问不上,不仅网站访问不上,连服务器有时候都连接不上。/ Y+ y" L' r% c b4 k4 r! p
原因是在内核优化时启用了net.ipv4.tcp_tw_recycle参数
% T& i9 e/ w& F" F2 o, v" l) U2 g+ P这个参数是默认关闭的,之所以打开是由于这个参数开启后,可以使TCP连接中TIME-WAIT sockets的快速回收,但是在NAT网络下,导致大量的TCP连接建立错误、
! Y1 `. M3 f; g* I4 C所以在公司内部有时候能访问,有时候访问不上
3 |. k/ ^- U- f2 O1.先确定参数
1 Y& x" i' N8 r2 A! H依次执行如下命令,查看当前内核配置,确认该参数值为“1”。7 p6 D. n9 M: R; c9 H9 i
& L T" Y; u/ N
cat /proc/sys/net/ipv4/tcp_tw_recycle: i1 Y G8 U) S/ W5 ] n- p; b) L
cat /proc/sys/net/ipv4/tcp_timestamps
! V: C; t! r! K# ^
7 K) ?- J3 J' H9 l4 L; \" F2.在/etc/sysctl.conf配置文件添加如下内容。
8 H; C6 r6 H) Y+ w
& B% d% y ^+ `% G6 tnet.ipv4.tcp_tw_recycle=0. D/ F2 o. B$ b6 m4 R
net.ipv4.tcp_timestamps=0
2 d3 F& | l7 U% U! R, c- U, `* g- F9 p7 j* T* H3 Y9 K
3.执行如下命令,使配置生效。. r5 p! f# O: ~7 p$ t% f
( k3 z) r) K1 y2 N, }sysctl -p
, G3 G2 P6 H, b& i5 J" @$ Y
6 c5 p" k( Y. I+ X! |# X修改完成后,在公司中访问就正常了
K" y1 W& l, S1 B记录下,对于网上提供的调优参数还是要多注意
( J, f; D8 O/ \% k0 ]4 U6 O6 m5 x% v7 U- V' ~ e1 y5 d8 N
( k4 H7 \0 F' t6 J* O& d |
|