-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsysctl.conf
More file actions
92 lines (85 loc) · 4.96 KB
/
sysctl.conf
File metadata and controls
92 lines (85 loc) · 4.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
# Kernel sysctl configuration file
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
net.core.somaxconn=1280
#定义了系统中每一个端口最大的监听队列的长度,对于一个经常处理新连接的高负载web服务环境来说,默认的128太小了。
net.ipv4.icmp_echo_ignore_broadcasts=1
#避免放大攻击
net.ipv4.icmp_ignore_bogus_error_responses=1
#开启恶意icmp错误消息保护
net.ipv4.conf.all.accept_source_route=0
#处理无源路由的包
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_syncookies=1
#开启SYN洪水攻击保护
net.ipv4.tcp_max_tw_buckets=6000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000。设为较小数值此项参数可以控制TIME_WAIT套接字的最大数量,避免服务器被大量的TIME_WAIT套接字拖死。
net.ipv4.tcp_sack=1
#它可以用来查找特定的遗失的数据报— 因此有助于快速恢复状态
net.ipv4.tcp_fack = 1
#打开FACK拥塞避免和快速重传功能。(注意,当tcp_sack设置为0的时候,这个值即使设置为1也无效)
net.ipv4.tcp_dsack = 1
#允许TCP发送”两个完全相同”的SACK。
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_rmem=4096 87380 4194304
# 增加TCP最大缓冲区大小
net.ipv4.tcp_wmem=4096 16384 4194304
net.ipv4.conf.all.log_martians = 1
# 开启并记录欺骗,源路由和重定向包
net.ipv4.conf.default.log_martians = 1
# 开启execshild
#kernel.exec-shield = 1
kernel.randomize_va_space = 1
# Tcp窗口等
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog=262144
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目不要设的过大
#net.ipv4.tcp_max_syn_backlog=8192
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_orphans=3276800
#限制仅仅是为了防止简单的DoS攻击
#
#系统所能处理不属于任何进程的TCPsockets最大数量。假如超过这个数量,那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的DoS攻击﹐千万不要依赖这个或是人为的降低这个限制,更应该增加这个值(如果增加了内存之后)。每个孤儿套接字最多能够吃掉你64K不可交换的内存。
net.ipv4.tcp_orphan_retries=3
#本端试图关闭TCP连接之前重试多少次。缺省值是7,相当于50秒~16分钟(取决于RTO)。如果你的机器是一个重载的WEB服务器,你应该考虑减低这个值,因为这样的套接字会消耗很多重要的资源。
net.ipv4.tcp_timestamps=0
#时间戳,0关闭,1开启,在(请参考RFC1323)TCP的包头增加12个字节,关于该配置对TIME_WAIT的影响及可能引起的问题:http://huoding.com/2012/01/19/142,Timestamps用在其它一些东西中﹐可以防范那些伪造的sequence号码。
net.ipv4.tcp_synack_retries=1
#内核放弃建立连接之前发送SYNACK包的数量#tcp_synack_retries显示或设定Linux核心在回应SYN要求时会尝试多少次重新发送初始SYN,ACK封包后才决定放弃。
net.ipv4.tcp_syn_retries=1
#启用timewait快速回收
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
#开启重用。允许将TIME-WAITsockets重新用于新的TCP连接
net.ipv4.tcp_mem = 196608 262144 393216
#合适4G的机器
#net.ipv4.tcp_mem = 524288 699050 1048576
#(TCP连接最多约使用4GB内存)
net.ipv4.tcp_fin_timeout=5
net.ipv4.tcp_keepalive_time=30
#当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时
net.ipv4.tcp_keepalive_probes=5
#TCP发送keepalive探测以确定该连接已经断开的次数。(注意:保持连接仅在SO_KEEPALIVE套接字选项被打开是才发送.次数默认不需要修改,当然根据情形也可以适当地缩短此值.设置为5比较合适)
net.ipv4.tcp_keepalive_intvl=15
#探测消息发送的频率,乘以tcp_keepalive_probes就得到对于从开始探测以来没有响应的连接杀除的时间。
net.ipv4.ip_local_port_range=1024 65000
#允许系统打开的端口范围;缺省情况下很小:32768到61000,改为1024到65000。