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

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内核优化是指通过调整内核的参数和设置,提高Linux系统的性能和效率

    Linux内核优化是指通过调整内核的参数和设置,提高Linux系统的性能和效率。Linux内核优化的方法有动态优化和手动优化两种。动态优化是指系统根据实时的监控数据,自动调整CPU频率缩放和内存管理等设置1。手动优化是...

    追踪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内核解读入门

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

    LINUX内核的剪裁,非常好哦

    【LINUX内核剪裁与移植】是优化和定制操作系统的核心过程,对于开发高效、针对性的应用至关重要。在嵌入式系统或资源有限的环境中,精简内核尤为重要,因为一个庞大的内核可能导致运行速度减慢、内存占用过多,甚至...

    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使用.docx

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

    Linux内核参数优化调整

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

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

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

    Linux利用Sysctl命令调整内核参数

    sysctl 命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录 /proc/sys 中。它包含一些TCP/IP堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取...

    linux sysctl

    `sysctl`是Linux系统中的一个命令行工具,用于查看或更改内核参数。这些参数涉及到系统的多个方面,包括网络配置、内存管理、进程调度等。通过调整这些参数,可以优化系统的性能和稳定性。 #### 二、TIME_WAIT状态...

    Linux内核的升级与优化.pdf

    【Linux内核的升级与优化】是针对Linux操作系统的核心组件——内核进行更新和改进的过程。内核作为操作系统的核心,负责管理和协调硬件资源,确保软件与硬件之间的有效通信。随着技术的发展,新版本的内核通常会提供...

    使用 -sys 文件系统访问 Linux 内核.rar

    它使得系统管理员可以方便地监控和调整系统配置,如CPU信息、设备状态、网络设置等。 2. 挂载点:`sysfs`通常挂载在`/sys`目录下,这里包含了大量子目录,每个子目录代表一个设备、驱动或内核子系统。 3. 文件类型...

Global site tag (gtag.js) - Google Analytics