2012年9月10日 星期一

(增修) 改進「關閉 Fedora 17 的 IPv6 服務」的設定程序

依照前文 “關閉 Fedora 裏不常用的 IPv6 服務” 的步驟,的確可以關掉 IPv6 這個現在用不太到的網路服務。但是,偶而 Fedora 17 系統會發出一些警告訊息,應該是前文的設定步驟,不是 Fedora 17 的正常關閉方式。查一下資料,修改一下關閉 IPv6 的設定如下:
    設定分兩種:暫時性但立即生效、永久性有效。

一、切換成 root 身份

以下操作都需先切換成 root 身份

二、立即關閉 IPv6 服務,只限本次使用期間有效

將系統核心的設定 /proc/sys/net/ipv6/conf/all/disable_ipv6 設為 1,命令為,
[root@Celeron-D ~]# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
查詢設定前、後的變化,可以用 cat 查詢,命令如下:
[root@Celeron-D ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0
[root@Celeron-D ~]# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
[root@Celeron-D ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
其中,第一、三列命令為查詢用,而第二列命令則為設定用。

三、設定永久關閉 IPv6 服務

新增加的步驟:在系統設定檔 /etc/sysctl.conf 中,加入這列設定
net.ipv6.conf.all.disable_ipv6 = 1
或偷懶一下,用這個命令
[root@Celeron-D ~]# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
加入至 /etc/sysctl.conf,使系統在載入階段時,不將 IPv6 模組載入。
注意:命令中的『>>』是將 echo 的輸出附加在檔案後,若鍵成『>』會覆蓋、取代檔案。

另一種做法是配合其目錄架構,命令為
[root@Celeron-D ~]#  echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/disable_ipv6.conf
會在『 /etc/sysctl.d/ 』目錄中,建立名為『 disable_ipv6.conf 』的新檔案,而其內容在 Fedora 系統載入時,會被網路模組用於啟始設定。

取消的步驟:(1) 前文提到的,在 /boot/grub2/grub.conf 中加入 ipv6.disable=1 的參數,因為與新增加的步驟重覆,可以不用再加了。(2) 另外,將 ipv6 模組列入模組黑名單設定檔(即 /etc/modprobe.d/blacklist.conf),就不必再做了。之前的設定,是將 IPv6 強制失效,在 Fedora 17 裏,最好是依循其設計的關閉程序。

仍然要做的步驟:前文中,『四、關閉 IPv6 的「防火牆」』這個步驟仍然要做,不然在「防火牆」啟動時,會出現 ip6tables 啟動失敗的訊息。

已測試版本:

  • Fedora: 17

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)