1. 程式人生 > >一天一個命令之---sysctl

一天一個命令之---sysctl

sysctl,這個命令是用來動態修改系統引數的。

sysctl  命令

sysctl命令被用於在核心執行時動態地修改核心的執行引數,可用的核心引數在目錄/proc/sys中。

它包含一些TCP/ip堆疊和虛擬記憶體系統的高階選項,這可以讓有經驗的管理員提高引人注目的系統性能。用sysctl可以讀取設定超過五百個系統變數。

選項 :

-n:列印值時不列印關鍵字;

-e:忽略未知關鍵字錯誤;

-N:僅列印名稱;

-w:當改變sysctl設定時使用此項;

-p:從配置檔案“/etc/sysctl.conf”載入核心引數設定;

-a:列印當前所有可用的核心引數變數和值;

-A:以表格方式列印當前所有可用的核心引數變數和值。

這裡我給大家介紹一下開啟路由轉發的三種方法:

1、

[[email protected] sbin]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[[email protected] sbin]# sysctl -a|grep ip_for
net.ipv4.ip_forward = 1

2、

echo 1 > /proc/sys/net/ipv4/ip_forward

3、編輯配置檔案

[[email protected]
~]# vim /etc/sysctl.conf net.ipv4.ip_forward=1

你認為結束了嗎?沒有!不信你查一下:

[[email protected] ~]# sysctl -a | grep ip_for
net.ipv4.ip_forward = 0

然後我們sysctl -p一下:

[[email protected] ~]# sysctl -p
net.ipv4.ip_forward = 1
[[email protected] ~]# sysctl -a | grep ip_for
net.ipv4.ip_forward = 1

這時候才生效!

前兩種方法都是臨時改變net.ipv4.ip_forward的值,當前生效,第三種是重啟後才能生效。因此,如果我們既想讓他當前生效,重啟後仍然生效,就需要這三種方法結合起來使用!