Linux中系统参数修改命令sysctl的使用讲解

2025-05-27 0 45

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

命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] -a

常用参数的意义:
-w 临时改变某个指定参数的值,如
sysctl -w net.ipv4.ip_forward=1
-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
如果仅仅是想临时改变某个系统参数的值,可以用两种方法来实现,例如想启用IP路由转发功能:
1) #echo 1 > /proc/sys/net/ipv4/ip_forward
2) #sysctl -w net.ipv4.ip_forward=1
以上两种方法都可能立即开启路由功能,但如果系统重启,或执行了
# service network restart
命令,所设置的值即会丢失,如果想永久保留配置,可以修改/etc/sysctl.conf文件
将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1

常见用法

修改(配置)方法有三种
临时生效2种

复制代码

代码如下:


# echo 1 > /proc/sys/net/ipv4/ip_forward // 开启路由功能
# sysctl -w net.ipv4.ip_forward=1 // 用此选项来改变一个sysctl设置



如果系统重启,或执行service network restart命令,所设置的值即会丢失

/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。

永久生效1种

复制代码

代码如下:


# vi /etc/sysctl.conf



修改net.ipv4.ip_forward=0的值为1 // 打开数据包的转发功能

复制代码

代码如下:


# sysctl -p /etc/sysctl.conf // 重新载入/etc/sysctl.conf文件,如-p后未指定路径,则载入/etc/sysctl.conf



指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。

sysctl 变量的设置通常是字符串、数字或者布尔型。 (布尔型用 1 来表示'yes',用 0 来表示'no')。

复制代码

代码如下:


[root@Firewall sys]# sysctl -a //查看所有参数
[root@Firewall sys]# sysctl net.core.wmem_max //查看指定的参数
net.core.wmem_max = 131071
[root@Firewall sys]# sysctl net.core.wmem_max=256000 //修改指定的参数
net.core.wmem_max = 256000

实例

sysctl -a所看到的参数全部来自/proc/sys/目录下的文件内容,可以用grep加sort加ll的方法来查看与对应

复制代码

代码如下:


[root@Firewall sys]# pwd
/proc/sys
[root@Firewall sys]# ll



total 0

dr-xr-xr-x 0 root root 0 Apr 12 14:29 crypto

dr-xr-xr-x 0 root root 0 May 10 15:53 debug

dr-xr-xr-x 0 root root 0 Apr 12 14:28 dev

dr-xr-xr-x 0 root root 0 Apr 12 14:28 fs

dr-xr-xr-x 0 root root 0 Apr 12 14:28 kernel

dr-xr-xr-x 0 root root 0 Apr 12 14:28 net

dr-xr-xr-x 0 root root 0 May 10 15:53 sunrpc

dr-xr-xr-x 0 root root 0 May 10 15:53 vm

复制代码

代码如下:


[root@Firewall netfilter]# pwd
/proc/sys/net/netfilter
[root@Firewall netfilter]# sysctl -a|grep net.net|sort



net.netfilter.nf_conntrack_acct = 1

net.netfilter.nf_conntrack_buckets = 16384

net.netfilter.nf_conntrack_checksum = 1

net.netfilter.nf_conntrack_count = 1739

net.netfilter.nf_conntrack_expect_max = 256

net.netfilter.nf_conntrack_generic_timeout = 600

net.netfilter.nf_conntrack_icmp_timeout = 30

net.netfilter.nf_conntrack_log_invalid = 0

net.netfilter.nf_conntrack_max = 65536

net.netfilter.nf_conntrack_tcp_be_liberal = 0

net.netfilter.nf_conntrack_tcp_loose = 1

net.netfilter.nf_conntrack_tcp_max_retrans = 3

net.netfilter.nf_conntrack_tcp_timeout_close = 10

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_established = 432000

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30

net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300

net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60

net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300

net.netfilter.nf_conntrack_udp_timeout = 30

net.netfilter.nf_conntrack_udp_timeout_stream = 180

复制代码

代码如下:


[root@Firewall netfilter]# ll



total 0

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_acct

-r–r–r– 1 root root 0 May 10 15:53 nf_conntrack_buckets

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_checksum

-r–r–r– 1 root root 0 May 10 15:53 nf_conntrack_count

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_expect_max

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_generic_timeout

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_icmp_timeout

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_log_invalid

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_max

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_be_liberal

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_loose

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_max_retrans

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_close

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_close_wait

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_established

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_fin_wait

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_last_ack

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_max_retrans

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_syn_recv

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_syn_sent

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_time_wait

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_tcp_timeout_unacknowledged

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_udp_timeout

-rw-r–r– 1 root root 0 May 10 15:53 nf_conntrack_udp_timeout_stream

复制代码

代码如下:


[root@Firewall core]# sysctl -a|grep net.core|sort



net.core.dev_weight = 64

net.core.message_burst = 10

net.core.message_cost = 5

net.core.netdev_budget = 300

net.core.netdev_max_backlog = 1000

net.core.optmem_max = 10240

net.core.rmem_default = 111616

net.core.rmem_max = 131071

net.core.somaxconn = 8192

net.core.warnings = 1

net.core.wmem_default = 111616

net.core.wmem_max = 131071

net.core.xfrm_acq_expires = 30

net.core.xfrm_aevent_etime = 10

net.core.xfrm_aevent_rseqth = 2

net.core.xfrm_larval_drop = 1

复制代码

代码如下:


[root@Firewall core]# ll



total 0

-rw-r–r– 1 root root 0 May 10 15:53 dev_weight

-rw-r–r– 1 root root 0 May 10 15:53 message_burst

-rw-r–r– 1 root root 0 May 10 15:53 message_cost

-rw-r–r– 1 root root 0 May 10 15:53 netdev_budget

-rw-r–r– 1 root root 0 May 10 15:53 netdev_max_backlog

-rw-r–r– 1 root root 0 May 10 15:53 optmem_max

-rw-r–r– 1 root root 0 May 10 15:53 rmem_default

-rw-r–r– 1 root root 0 May 10 15:53 rmem_max

-rw-r–r– 1 root root 0 Apr 12 14:29 somaxconn

-rw-r–r– 1 root root 0 May 10 15:53 warnings

-rw-r–r– 1 root root 0 May 10 15:53 wmem_default

-rw-r–r– 1 root root 0 May 10 15:53 wmem_max

-rw-r–r– 1 root root 0 May 10 15:53 xfrm_acq_expires

-rw-r–r– 1 root root 0 May 10 15:53 xfrm_aevent_etime

-rw-r–r– 1 root root 0 May 10 15:53 xfrm_aevent_rseqth

-rw-r–r– 1 root root 0 May 10 15:53 xfrm_larval_drop

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Linux中系统参数修改命令sysctl的使用讲解 https://www.kuaiidc.com/66567.html

相关文章

发表评论
暂无评论