2012年4月7日 星期六

在 Fedora 內讓 TAP 虛擬網路卡連結到網際網路

Linux原生內部虛擬網卡(TAP):Isolated Network(封閉網段)
一文當中,操作範例所使用的作業系統為 Ubuntu Desktop 10.04 ,實
作 TAP 虛擬網路卡時,使用 TAP 虛擬網路卡的虛擬電腦,不管是內網
連線,或者是連結到網際網路,操作上都沒有太大的問題。

不過,最近在 Fedora 16 上面實作一次的時候,卻踢到了鐵板,相同的
步驟,在 Fedora 16上面,就是無法讓虛擬電腦順利連結到網際網路,
搞了老半天,才發現,原來是 Fedora 16 預設的防火牆(iptables)規則
,阻擋了封包的傳遞,才會讓使用 TAP 虛擬網路卡的虛擬電腦無法連結
到網際網路。

開啟 Fedora 16 的終端機,並輸入以下指令:

$ sudo vim /etc/sysconfig/iptables
(使用 sudo 的前提,是當前使用者有在管理員群組內,若沒有,請轉換
為 root 的身分)

開啟的檔案,就是 Fedora 儲存 iptables 設定值的地方,且此檔案在開機
之後就會套用在系統之上,而檔案開啟之後,下同中紅色框框的區域,就
是讓使用 TAP 虛擬網路卡的虛擬電腦無法連結到網際網路的罪魁禍首:


















所以只需要在此行最前端加上註解符號(#)後,存檔退出,再使用以下
的指令來重新啟動防火牆:

$ sudo service iptables restart

還有,切記,重新啟動防火牆之後,原本手動加入的防火牆規則(sudo
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j
MASQUERADE),還有再加入一次,因為防火牆重新啟動的當下,會
先清除舊有的規則,再加入檔案(/etc/sysconfig/iptables內的規則,
所以手動加入的防火牆規則,才需要再加入一次!


沒有留言:

張貼留言