#内核转发数据包1开启0 关闭 

net.ipv4.ip_forward = 0 

#开启反向路径过滤 

#在缺省状态下,路由器根据包的目的地址进行转发,所以路由器缺省是对来自任何地方的包进行转发的。假如路由器的2.2.2.2接口(也即广 域网接口)接收到一个包,该包的源地址为1.1.1.100(也即为 Intranet地址),虽然这是不可能或者说是不合理的,但是由于路由器的特性,路由器还 是会将这个不合法的包转发到Intranet。从而让***有了可乘之机,为其进行ip欺骗***打开了方便之门。 

#幸好,我们可以通过Linux的内核系统参数“反向路径过滤”来防止这种情况,该参数位于/proc/sys/net/ipv4/conf/下的各个子目录中的rp_filter文件 。参数值为整数,可能的值有: 

#2 - 进行全面的反向路径过滤,推荐在边缘路由器上使用。但是要注意,在复杂的网络环境中,如果使用了静态路由或rip、ospf路由协议时,不推荐使 用该值。 

#1 - 是该参数的缺省值,它只对直接连接的网络进行反向路径过滤。 

#0 - 不进行反向路径过滤。 

net.ipv4.conf.default.rp_filter = 1 

#是否接受含有源路由信息的ip包。参数值为布尔值,1表示接受,0表示不接受。在充当网关的linux主机上缺省值为1,在一般 的linux主机上缺省值为0。从安全性角度出发,建议你关闭该功能。 

net.ipv4.conf.default.accept_source_route = 0 

#魔术组合键 参考:http://baike.baidu.com/view/2378964.htm 

kernel.sysrq = 0 

#控制core文件的文件名中是否添加pid作为扩展  core是unix系统的内核。当你的程序出现内存越界的时候,操作系统会中止你的进程,并将当前内存状态倒出到core文件中 

kernel.core_uses_pid = 1 

#表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN***,默认为0,表示关闭; 

net.ipv4.tcp_syncookies = 1 

#需要内核加载桥接模板,3个选项阻止桥接流量获得通过主机iptables规则,Netfilter是默认情况下启用了桥梁 

net.bridge.bridge-nf-call-ip6tables = 0 

net.bridge.bridge-nf-call-iptables = 0 

net.bridge.bridge-nf-call-arptables = 0 

#每个消息队列的最大字节限制 

kernel.msgmnb = 65536 

#单个消息的最大size。在某些操作系统例如BSD中,你不必设置这个。BSD自动设置它为MSGSSZ * MSGSEG。其他操作系统中,你也许需要改变这个参数的默认值,你可以设置它与MSGMNB相同 

kernel.msgmax = 65536 

#单个共享内存片断的最大size。 

kernel.shmmax = 68719476736 

#可分配的共享内存数量的系统级限制。在某些系统上,SHMALL可能表示成页数量,而不是字节数量。 

kernel.shmall = 4294967296 

#系统在同时所处理的最大 timewait sockets 数目。如果超过此数的话﹐time-wait socket 会被立即砍除并且显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS ***﹐不过﹐如果网络条件需要比默认值更多﹐则可以提高它(或许还要增加内存)。(事实上做NAT的时候最好可以适当地增加该值) 

net.ipv4.tcp_max_tw_buckets = 6000 

#使用 Selective ACK﹐它可以用来查找特定的遗失的数据报--- 因此有助于快速恢复状态。该文件表示是否启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段)。(对于广域网通信来说这个选项应该启用,但是这会增加对 CPU 的占用。) 

net.ipv4.tcp_sack = 1 

#该文件表示设置tcp/ip会话的滑动窗口大小是否可变。参数值为布尔值,为1时表示可变,为0时表示不可变。tcp/ip通常使用的窗口最大可达到 65535 字节,对于高速网络,该值可能太小,这时候如果启用了该功能,可以使tcp/ip滑动窗口大小增大数个数量级,从而提高数据传输的能力(RFC 1323)。(对普通地百M网络而言,关闭会降低开销,所以如果不是高速网络,可以考虑设置为0) 

net.ipv4.tcp_window_scaling = 1 

#接收缓存设置 

net.ipv4.tcp_rmem = 4096        87380   4194304 

#接收缓存设置 

net.ipv4.tcp_wmem = 4096        16384   4194304 

#默认的发送窗口大小(以字节为单位) 

net.core.wmem_default = 8388608 

#默认的接收窗口大小(以字节为单位) 

net.core.rmem_default = 8388608 

#最大的TCP数据接收缓冲 

net.core.rmem_max = 16777216 

#最大的TCP数据发送缓冲 

net.core.wmem_max = 16777216 

#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目,对重负载服务器而言,该值需要调高一点 

net.core.netdev_max_backlog = 262144 

# 用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制。 web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值。对繁忙的服务器,增加该值有助于网络性能 

net.core.somaxconn = 262144 

#系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量﹐那么不属于任何进程的连接会被立即reset,并同时显示警告信息。之所以要设定这个限制﹐纯粹为了抵御那些简单的 DoS ***﹐千万不要依赖这个或是人为的降低这个限制。如果内存大更应该增加这个值。(这个值Redhat AS版本中设置为32768,但是很多防火墙修改的时候,建议该值修改为2000) 

net.ipv4.tcp_max_orphans = 3276800 

#对于那些依然还未获得客户端确认的连接请求﹐需要保存在队列中最大数目。对于超过 128Mb 内存的系统﹐默认值是 1024 ﹐低于 128Mb 的则为 128。如果服务器经常出现过载﹐可以尝试增加这个数字。警告﹗假如您将此值设为大于 1024﹐最好修改include/net/tcp.h里面的TCP_SYNQ_HSIZE﹐以保持TCP_SYNQ_HSIZE*16(SYN Flood***利用TCP协议散布握手的缺陷,伪造虚假源IP地址发送大量TCP-SYN半打开连接到目标系统,最终导致目标系统Socket队列资源耗尽而无法接受新的连接。为了应付这种***,现代Unix系统中普遍采用多连接队列处理的方式来缓冲(而不是解决)这种***,是用一个基本队列处理正常的完全连接应用(Connect()和Accept() ),是用另一个队列单独存放半打开连接。这种双队列处理方式和其他一些系统内核措施(例如Syn-Cookies/Caches)联合应用时,能够比较有效的缓解小规模的SYN Flood***(事实证明) 

net.ipv4.tcp_max_syn_backlog = 262144 

#Timestamps 用在其它一些东西中﹐可以防范那些伪造的 sequence 号码。一条1G的宽带线路或许会重遇到带 out-of-line数值的旧sequence 号码(假如它是由于上次产生的)。Timestamp 会让它知道这是个 '旧封包'。(该文件表示是否启用以一种比超时重发更精确的方法(RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。) 

net.ipv4.tcp_timestamps = 0 

#对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。不应该大于255,默认值是5,对应于180秒左右时间。 

net.ipv4.tcp_synack_retries = 1 

#对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1决定的 

net.ipv4.tcp_syn_retries = 1 

#low:当TCP使用了低于该值的内存页面数时,TCP不会考虑释放内存。即低于此值没有内存压力。(理想情况下,这个值应与指定给 tcp_wmem 的第 2 个值相匹配 - 这第 2 个值表明,最大页面大小乘以最大并发请求数除以页大小 (131072 * 300 / 4096)。 ) 

#pressure:当TCP使用了超过该值的内存页面数量时,TCP试图稳定其内存使用,进入pressure模式,当内存消耗低于low值时则退出pressure状态。(理想情况下这个值应该是 TCP 可以使用的总缓冲区大小的最大值 (204800 * 300 / 4096)。 ) 

#high:允许所有tcp sockets用于排队缓冲数据报的页面量。(如果超过这个值,TCP 连接将被拒绝,这就是为什么不要令其过于保守 (512000 * 300 / 4096) 的原因了。 在这种情况下,提供的价值很大,它能处理很多连接,是所预期的 2.5 倍;或者使现有连接能够传输 2.5 倍的数据。 我的网络里为192000 300000 732000) 

#一般情况下这些值是在系统启动时根据系统内存数量计算得到的。 

net.ipv4.tcp_mem = 94500000 915000000 927000000 

#对于本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。 

net.ipv4.tcp_fin_timeout = 1 

#TCP发送keepalive探测消息的间隔时间(秒),用于确认TCP连接是否有效。防止两边建立连接但不发送数据的***。 

net.ipv4.tcp_keepalive_time = 30 

#表示用于向外连接的端口范围,默认比较小,这个范围同样会间接用于NAT表规模。 

net.ipv4.ip_local_port_range = 1024    65535 

#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 

net.ipv4.tcp_tw_recycle = 0 

#允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; 

net.ipv4.tcp_tw_reuse  = 0

转载于:https://blog.51cto.com/jwh5566/1359361

linux 内核参数解释整理相关推荐

  1. Linux内核参数解释

    第1章 内核参数说明 1.1 内核参数列表 kernel.acct acct功能用于系统记录进程信息,正常结束的进程都会在该文件尾添加对应的信息.异常结束是指重启或其它致命的系统问题,不能够记录永不停 ...

  2. linux内核参数注释与优化

    目录 1.linux内核参数注释 2.两种修改内核参数方法 3.内核优化参数生产配置 参数解释由网络上收集整理,常用优化参数对比了网上多个实际应用进行表格化整理,使查看更直观. 学习linux也有不少 ...

  3. linux 内核参数调整说明

    linux 内核参数调整说明 所有的TCP/IP调优参数都位于/proc/sys/net/目录.例如, 下面是最重要的一些调优参数, 后面是它们的含义: 1. /proc/sys/net/core/r ...

  4. 转载:Linux内核参数的优化(1.3.4)《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19615.html 由于默认的Linux内核参数考虑的是最通用的场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改 ...

  5. sysctl 默认值_设置Linux内核参数 /etc/sysctl.conf

    设置Linux内核参数 /etc/sysctl.conf 配置 Linux 内核参数修改后不用重启动更新: /sbin/sysctl -p 打开/etc/sysctl.conf 复制如下内容 kern ...

  6. linux内核参数汇总

    目录: 目录 linux内核参数配置 内核参数列表 内存参数列表 网络参数列表 linux内核参数配置 Linux在系统运行时修改内核参数(/proc/sys与/etc/sysctl.conf),而不 ...

  7. Linux源代码逐条解释,Linux内核源代码解释让你真正了解linux.ppt

    Linux内核源代码解释让你真正了解linux.ppt 解读Linux内核源代码让您真正明白Linux操作系统 序 一些基本概念 操作系统的基本概念 I386系统的基本概念 Linux简介 源码阅读和 ...

  8. 修改Linux内核参数提高服务器并发能力

    1.参数设置 查看相关的参数 sysctl -a|grep tcp_keepalive net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive ...

  9. linux内核参数优化

    这是电商类的 linux内核参数优化,在网站响应上已经很不错了,time超时连接几乎为0了. sysctl.conf配置参数如下: net.ipv4.ip_forward = 0 net.ipv4.c ...

  10. linux内核参数优化 for 高并发服务器

    2019独角兽企业重金招聘Python工程师标准>>> linux内核参数优化net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_fil ...

最新文章

  1. C/C++位域结构深入解析
  2. php web开发应用教程,PHP-Web 应用程序开发:使用模板_PHP
  3. 初一模拟赛(5.4)
  4. mysql vb_vb连接mysql
  5. mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客
  6. linux java ssl_linux系统下安装ssl证书(tomcat)
  7. 2.移植uboot-添加2440单板,并实现NOR、NAND启动
  8. [转]:xmake工程描述编写之选择性编译
  9. 二重循环~~for循环
  10. 使用Delphi开发linux应用
  11. (最新版2020)Java环境变量配置
  12. 结构梁配筋最牛插件_YouTube 字幕翻译 —— Chrome 插件
  13. java 大数四则运算_Java中的大数运算
  14. 11种基于ARM的嵌入式操作系统
  15. 免费在线CAD转PDF怎么批量转换
  16. 新锐房地产销售管理系统(部分流程)技术解析(八) 销售管理_预定管理
  17. 通过U盘安装系统时,提示无法在驱动器分区上安装windows的解决办法
  18. python中resample函数实现重采样和降采样
  19. UNP编程:31---名字与地址转换之(服务解析函数:getservbyname()、getservbyport()、struct  servent)
  20. 管理学定律五:二八定律与木桶理论

热门文章

  1. 从零基础入门Tensorflow2.0 ----七、35. 文本生成之---1.数据处理
  2. ArcGIS 设置暂时固定存储地址
  3. jq js json 转字符串_JSON字符串转换成JSON对象的JS代码
  4. 面试官:Java 反射是什么?我回答不上来!
  5. 变迁是这个时代最好的机遇
  6. 一个精仿今日头条项目
  7. (已拿offer)2017腾讯暑期实习生从笔试到面试总结(附带华为、阿里面试经历)...
  8. aix系统怎么开启ftp服务器,liunx和aix 系统开启ftp服务
  9. 转移服务器显示乱码,两台服务器之间数据传输乱码问题
  10. php远程调试 没有光标,老法师谈技术 - PHP远程单步调试