sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys
中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。
语法
sysctl(选项)(参数)
-n:打印值时不打印关键字; -e:忽略未知关键字错误; -N:仅打印名称; -w:当改变sysctl设置时使用此项; -p:从配置文件“/etc/sysctl.conf”加载内核参数设置; -a:打印当前所有可用的内核参数变量和值; -A:以表格方式打印当前所有可用的内核参数变量和值。
查看所有可读变量:
sysctl -a
生效配置文件
sysctl -p
实例
如果希望屏蔽别人 ping 你的主机,则加入以下代码:
# Disable ping requests net.ipv4.icmp_echo_ignore_all = 1
编辑完成后,请执行以下命令使变动立即生效:
/sbin/sysctl -p /sbin/sysctl -w net.ipv4.route.flush=1
启用IP路由转发功能
1) #echo 1 > /proc/sys/net/ipv4/ip_forward
2) #sysctl -w net.ipv4.ip_forward=1
永久保留配置,可以修改/etc/sysctl.conf文件
net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1
sysctl -p