首頁 > 軟體

sysctl以及利用sysctl禁用ipv6模組

2020-06-16 17:22:16

目前在大部分的實際生產環境中ipv6並沒有被大規模使用,所以在很多的伺服器上ipv6的模組的開啟往往會帶來很多安全隱患和麻煩,那麼我們就需要禁用掉ipv6的模組,以前只是利用ip6tables來關閉ipv6的進出策略(可參看 http://www.linuxidc.com/Linux/2017-02/140259.htm),但是在核心上常常還會有ipv6的影響,這個才平時分析紀錄檔的時候還是會發現,這個時候就可以利用sysctl命令來修改用於在核心執行時動態地修改核心的執行引數,不得不說sysctl是一個很強大的工具,它可以修改上百個系統變數,當然使用的系統版本不一樣支援修改的系統變數的個數也不一樣,而sysctl使用引數也很簡單:

variable:要讀取的系統變數的名稱
variable=value:設定核心引數對應的變數值,通常是0和1,其中1 來表示'yes',用 0 來表示'no',即布林型
-n:列印值時不列印關鍵字;
-e:忽略未知關鍵字錯誤;
-N:僅列印名稱;
-w:當改變sysctl設定時使用此項;
-p:從組態檔“/etc/sysctl.conf”載入核心引數設定;
-a:列印當前所有可用的核心引數變數和值;
-A:以表格方式列印當前所有可用的核心引數變數和值。

系統中關於ipv6的變數有200多個:

[root@linuxidc.com ~]# sysctl -a|grep -i 'ipv6'|wc -l
209

查詢ipv6的disable的變數,全部開啟就可以了

[root@linuxidc.com ~]# sysctl -a|grep -i 'ipv6'|grep 'disable'
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.pan0.disable_ipv6 = 1
#事實上只要修改net.ipv6.conf.all.disable_ipv6和net.ipv6.conf.default.disable_ipv6就可以了,其他都是相關聯的變數

可以通過編輯/etc/sysctl.conf然後再 sysctl -p使變數生效

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140258.htm


IT145.com E-mail:sddin#qq.com