linux并发连接50万的配置方法

2019-10-13 21:48:19王旭

 ip_local_port_range: (两个INTEGER)
定于TCP和UDP使用的本地端口范围,第一个数是开始,第二个数是最后端口号,默认值依赖于系统中可用的内存数:
> 128Mb 32768-61000
 < 128Mb 1024-4999 or even less.
该值决定了活动连接的数量,也就是系统可以并发的连接数(做nat的时候,我将它设置为了1024 65530 工作正常)

ip_nonlocal_bind : BOOLEAN
默认值是0
如果您想让应用程式能够捆绑到一个不属於该系统的位址?就需要设定这?。(当机器使
 用非固定/动态的网络连接的时候,或者离线调试程序的时候,当线路断掉之后?该服务仍可?动而且捆绑到特定的位址之上。)

ip_dynaddr : BOOLEAN
默认值是0
假如甚至为非0值,那么将支持动态地址.如果是设置为>1的值,将在动态地址改写的时候发一条内核消息。(如要用动态界面位址做 dail-on-demand ?那就设定它。一旦请求界面起来之
 后?所有看不到回应的本地 TCP socket 都会重新捆绑(rebound)?以获得正确的位址。
 假如遇到该网络界面的连线不工作?但重新再试一次却又可以的情形?设定这个可解决这
 个问题。)

icmp_echo_ignore_all : BOOLEAN
 icmp_echo_ignore_broadcasts : BOOLEAN
默认值是0
如果任何一个设置为true(>0)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。(现在网络上很多病毒/木马自动发起感染攻击是先用icmp的echo方式判断对方是否存活,因此开启该值,会降低一 些被骚扰的可能性。但由于禁止了 icmp,就无法ping到该机器了,因此网络管理员也没有办法判断机器是否存活了,所以可以考虑用netfilter/iptables来完成该工作会 更有所选择针对性.icmp_echo_ignore_all 是禁止所有的icmp包,而icmp_echo_ignore_broadcasts是禁止了所有的广播包)

icmp_ratelimit : INTEGER
默认值是100 Jiffie
限制发向特定目标的匹配icmp_ratemask的ICMP数据报的最大速率。0表示没有任何限制,否则表示jiffies数据单位中允许发送的个数。 (如果在icmp_ratemask进行相应的设置Echo Request的标志位掩码设置为1,那么就可以很容易地做到ping回应的速度限制了)

icmp_ratemask : INTEGER
在这里匹配的ICMP被icmp_ratelimit参数限制速率.
匹配的标志位: IHGFEDCBA9876543210
 默认的掩码值: 0000001100000011000 (6168)
关于标志位的设置,可参考 源程序目录/include/linux/icmp.h


 0 Echo Reply
 3 Destination Unreachable *
 4 Source Quench *
 5 Redirect
 8 Echo Request
 B Time Exceeded *
 C Parameter Problem *
 D Timestamp Request