歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> sysctl以及利用sysctl禁用ipv6模塊

sysctl以及利用sysctl禁用ipv6模塊

日期:2017/2/28 13:43:55   编辑:Linux教程

目前在大部分的實際生產環境中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多個:

[[email protected] ~]# sysctl -a|grep -i 'ipv6'|wc -l
209

查找ipv6的disable的變量,全部開啟就可以了

[[email protected] ~]# 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使變量生效

Copyright © Linux教程網 All Rights Reserved