`
fishermen
  • 浏览: 379957 次
社区版块
存档分类
最新评论

sysctl对Linux内核/网络的设置说明

 
阅读更多
通过/etc/sysctl.conf控制和配置Linux内核及网络设置。

#忽略icmp ping广播包,应开启,避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1

# 开启恶意icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1

# 开启SYN洪水攻击保护,表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1

# 开启并记录欺骗,源路由和重定向包
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

# 处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# reverse-pathfiltering 反向路径过滤,系统收到一个ip包后,会反查该ip包的ip是否与它们到达的网络接口匹配,若不匹配则丢弃。是防ip包欺骗策略。
# The rp_filter can reject incoming packets if their sourceaddress doesn’t match the network interface that they’re arrivingon, which helps to prevent IP spoofing. Turning this on, however,has its consequences: If your host has several IP addresses ondifferent interfaces, or if your single interface has multiple IPaddresses on it, you’ll find that your kernel may end up rejectingvalid traffic. It’s also important to note that even if you do notenable the rp_filter, protection against broadcast spoofing isalways on. Also, the protection it provides is only against spoofedinternal addresses; external addresses can still be spoofed.. Bydefault, it is disabled.
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

#关闭重定向。如果主机所在的网络有多个路由器,你将其中一个设为缺省网关,但该网关在收到你的ip包时,发现该ip包必须经过另外一个路由器,于是该网关就給你的主机发一个“重定向”的icmp包,告诉主机把包转发到另外一个路由器。1表示主机接受这样的重定向包,0表示忽略;linux默认是1,可以设位0以消除隐患。
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

#禁止数据包转发,不做路由器功能。所谓转发即当主机拥有多网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。
#对比网关:内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做任何回应。由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这是网关发送的请求,并不知道内网主机的存在,也没必要知道,目的主机处理完请求,把回应信息发还给网关。网关收到后,将目的主机发还的数据包的目的ip地址修改为发出请求的内网主机的ip地址,并将其发给内网主机。这就是网关的第二个工作--数据包的路由转发。内网的主机只要查看数据包的目的ip与发送请求的源主机ip地址相同,就会回应,这就完成了一次请求。
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# 开启execshield,execshield 主要用于随机化堆栈地址,避免被exploit 程序修改恶意地址,而导致执行攻击程序。
kernel.exec-shield = 1
kernel.randomize_va_space = 1

# IPv6设置
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1

# 增加系统文件描述符限制
fs.file-max = 65535

# 允许更多的PIDs (减少滚动翻转问题); may break some programs 32768
kernel.pid_max = 65536

# 增加系统IP端口限制
net.ipv4.ip_local_port_range = 2000 65000

# 增加TCP最大缓冲区大小
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608

# 增加Linux自动调整TCP缓冲区限制
# 最小,默认和最大可使用的字节数
# 最大值不低于4MB,如果你使用非常高的BDP路径可以设置得更高

# Tcp窗口等
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1

 
参考:
http://bbs.chinaunix.net/thread-2208198-1-1.html
http://soft.chinabyte.com/os/3/11851003.shtml
http://wenku.baidu.com/link?url=VCgeTBbyHrRdCw0AM8IC51qn17cjut4JI8wDAIReQgkVC4vOP7KA-8ULkV0IcQd-Y23o4WfBt8aDB1tBQo3nVQJKlqBaBHz1VgNbm6cKB27
...
分享到:
评论

相关推荐

    linux 内核参数调优

    sysctl-interface 是一个命令行工具,用于设置和获取 Linux 内核参数。通过调整 Linux 内核参数,可以提高系统的性能、安全性和稳定性。 二、/proc/sys/kernel/ /proc/sys/kernel/ 是 Linux 内核参数的目录之一,...

    追踪linux TCP/IP 代码运行_光盘文件2

    4. **Linux内核源码追踪**: - `socket`函数:在用户空间创建套接字,是应用程序与TCP/IP协议栈交互的起点。 - `bind`:将套接字与本地地址关联,准备监听或连接。 - `listen`:将服务器套接字设置为监听模式,...

    linux内核编译各个选项的含义[参照].pdf

    Sysctl syscall support(不需要重启就能修改内核的某些参数和变量)是 Linux 内核编译过程中的一个选项。该选项控制着内核的 Sysctl 功能,用于不需要重启就能修改内核的某些参数和变量。 Load all symbols for ...

    《边干边学LINUX内核指导》实验材料补充说明

    《边干边学-Linux内核指导》是一本旨在帮助读者深入理解Linux内核操作的实践性书籍。书中涵盖了一系列的实验,旨在让学习者通过实际操作来掌握Linux内核的相关知识。以下是对实验内容的详细说明: 1. **重新编译...

    linux内核配置详解

    接下来,我们将对 Linux 内核配置中的各个选项进行详细的解释和分析。 Code Maturity Level Options 在 Linux 内核配置中,Code Maturity Level Options 是一个非常重要的选项。这个选项主要用于选择是否启用开发...

    Linux内核解读入门

    5. 网络协议栈:Linux内核实现了TCP/IP协议栈,支持网络通信和数据传输。 三、内核编译与配置 Linux内核的编译与配置是一个自定义化的过程,用户可以根据自己的需求选择内核支持的功能。通过运行`make menuconfig`...

    如何设置Sysctl.conf用以提高Linux的性能(最完整的).docx

    `Sysctl`是一种强大的工具,用于调整Linux内核的各种参数,包括网络、内存管理和其他关键系统配置。通过对`/etc/sysctl.conf`文件进行适当的配置,可以显著提升Linux系统的性能和安全性。 #### Sysctl的工作原理 `...

    Linux内核编译配置选项简介

    Linux内核编译配置选项是Linux操作系统中非常重要的一个部分,它决定了Linux内核在编译时将包含哪些功能。对于想要深入理解和定制Linux内核的用户来说,掌握这些配置选项是必不可少的。本文将详细介绍Linux 2.6.19.x...

    Linux内核配置选项.pdf

    通过这些选项,用户可以对Linux内核进行深层次的定制和优化,从而达到最佳的系统性能和硬件支持。了解这些配置选项的含义及其对系统性能和稳定性可能带来的影响,对于任何希望深入掌握Linux系统配置的用户来说都是至...

    Linux内核参数优化调整

    接下来,我们关注TCP网络设置。在`/etc/sysctl.conf`文件中,可以通过修改以下参数来优化TCP网络性能: 1. `net.ipv4.tcp_syncookies = 1`:开启SYN Cookies,用于防止SYN攻击,当SYN等待队列溢出时,系统会发送一...

    Linux内核优化是指通过调整内核的参数和设置,提高Linux系统的性能和效率

    Linux内核优化主要是指通过对Linux内核的参数进行调整和设置,从而提升系统的性能与效率的过程。这种优化可以通过动态或手动的方式来实现。 1. **动态优化**:系统会根据实时监测到的数据自动调整各项设置,比如CPU...

    sysctl:LinuxBSD内核调整和网络安全强化优化,通过优化的sysctl调整提高了服务器系统的性能

    在Linux系统中,`sysctl`命令可以用来查看当前的内核设置,并立即应用新的设置。在BSD系统中,`sysctl`操作通常需要重启系统才能生效,但在某些情况下,也可以使用`kern.sysctls`加载新设置。 **网络安全强化**: 1...

    sysctl-cookbook-源码.rar

    `sysctl`是Linux内核提供的一种机制,允许用户空间程序动态调整内核参数,从而对系统行为进行微调。在了解`sysctl`之前,我们先要明白Linux内核和用户空间的关系。 Linux内核是操作系统的核心,负责管理硬件资源、...

    解决 linux 下 buffcache 占用过高的问题.docx

    在Linux内核中,buff/cache是一种内存使用策略,用于提升系统的整体性能。Buffer(缓冲区)主要存储的是磁盘I/O操作的数据,目的是减少磁盘和内存之间的数据交换次数,提高读写速度。Cache(缓存)则是用于存储经常...

    通过linux sysctl调优

    这些参数控制着Linux内核的许多方面,包括内存管理、进程调度、网络配置等。通过合理的调整,可以在不重启系统的情况下改善系统的性能和稳定性。 ### 二、Sysctl参数分类 根据描述中的提示,我们将重点关注以下几...

    linux命令sysctl使用.docx

    sysctl 命令是 Linux 系统中一个非常重要的命令,它允许管理员动态地修改内核参数,从而提高系统性能。今天我们将深入探讨 sysctl 命令的使用方法和选项。 什么是 sysctl 命令? ------------------- sysctl 命令...

    Linux 下用户空间与内核空间数据交换的方式

    Linux 系统下内核与应用进行数据交换的各种方式包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs 和 relayfs 等。 一、内核启动参数 Linux 提供了一种通过 bootloader...

Global site tag (gtag.js) - Google Analytics