0%

Linux的sysctl命令

简介

sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。

命令格式

1
2
3
4
5
sysctl [-n] [-e] -w variable=value

sysctl [-n] [-e] -p <filename> (default /etc/sysctl.conf)

sysctl [-n] [-e] -a

命令参数

  • -w 临时改变某个指定参数的值,如 sysctl -w net.ipv4.ip_forward=1
  • -a 显示所有的系统参数
  • -p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

使用范例:

如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:

1
2
3
#echo 1 > /proc/sys/net/ipv4/ip_forward

#sysctl -w net.ipv4.ip_forward=1

以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了

1
# service network restart

命令,所设置的值即会丢失,如果想永久保留配置,可以修改/etc/sysctl.conf文件将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1

还有一种方法设置主机名

sysctl kernel.hostname

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道