Linux作業系統下Virtual Box的網路設定

來源:互聯網
上載者:User

先安裝一些工具

apt-get install uml-utilities(tunctl要用到)

tunctl可以產生一個tap,我的理解是虛擬網卡

apt-get install bridge-utils (brctl要用到)

brctl就是設定一個橋接器了

主機是debian,IP是192.168.1.2

就一張網卡eth0

客戶機是XP

路由上開通了dhcp功能,地址是192.168.1.1

virtualBox上網方式有三種

nat

這種方式在客戶機上不用做設定,直接自動捕獲就行了,得到的地址也和外部地址不一樣.

我這裡是

IP:10.0.2.15

gw:10.0.2.2

可以訪問外網,但主客機不能互訪。

Host Interface

這個是最複雜的,leemars更出了四種方案,直接引用這四種方案了

--------------------------------------------------------------------------

方案一:

其實是利用iptables的nat功能來實現主客機通訊的引用自leemars,這個我沒試

Host :

#echo 1 > /proc/sys/net/ipv4/ip_forward #開啟轉寄功能

#iptables -t nat -A POSTROUTING -j MASQUERADE #利用iptables完成NAT功能

#chmod 0666 /dev/net/tun #設定存取權限

#tunctl -t tap0 -u leemars #建立一個tap裝置, 名字為tap0, 所有者為leemars

#ifconfig tap0 up #啟用tap0

#ifconfig tap0 10.10.10.1 netmask 255.255.255.0 #為tap0指定IP和網段, 為10.10.10.1/24.

Guest :

網卡設定如下:

IP : 10.10.10.10

Netmask : 255.255.255.0

Gateway : 10.10.10.1

Guest -> WAN :

由Linux的iptables完成NAT功能, 提供WAN的訪問服務.

Guest -> Host :

10.10.10.1是真實的Host. Guest對Host的任何訪問都可以通過訪問10.10.10.1來完成.

Host -> Guest :

10.10.10.10是真實的Guest. Host對Guest的任何訪問都可以通過訪問10.10.10.10來完成.

--------------------------------------------------------------------------

方案二 : Transparent Bridge (Layer 2)

我用這個方案的,其實是產生一個橋接器,然後將虛擬網卡和物理網卡用橋接器串連起來.

Host :

#chmod 0666 /dev/net/tun #設定存取權限

#tunctl -t tap0 -u leemars #建立一個tap裝置, 名字為tap0, 所有者為leemars

#ifconfig eth0 0.0.0.0 promisc #使eth0進入promiscuous模式

#ifconfig tap0 0.0.0.0 promisc #使tap0進入promiscuous模式

#brctl addbr br0 #增加一個橋接器

#brctl addif br0 eth0 #將eth0加入橋接器

#ifconfig eth0 up #啟用eth0

#dhclient br0 #為br0設定IP地址

#brctl addif br0 tap0 #將tap0加入橋接器

#ifconfig tap0 up #啟用tap0

Guest :

網卡設定為DHCP. 或者在設定為Host的Subnet中的一個IP地址, 如下例:

IP : 192.168.1.201

Netmask : 255.255.255.0

Gateway : 192.168.1.1

可以實現主客機直接互訪

--------------------------------------------------------------------------

方案三 : Transparent IP (Layer 3) proxy ARP bridge (by parprouted)

這個我沒試,因為需要parprouted這個軟體的

Host :

#echo 1 > /proc/sys/net/ipv4/ip_forward #開啟轉寄功能

#chmod 0666 /dev/net/tun #設定存取權限

#tunctl -t tap0 -u leemars #建立一個tap裝置, 名字為tap0, 所有者為leemars

#ip link set tap0 up #啟用tap0

#ip addr add 169.1.1.1/32 dev tap0 #為tap0任意指定一個私人地址

#parprouted [-d] ath0 tap0 #啟動parprouted監聽ath0和tap0. -d參數為Debug模式

Guest :

網卡設定如下:

IP : 192.168.1.201

Netmask : 255.255.255.0

Gateway : 192.168.1.1

Guest -> WAN :

由網關來提供WAN的訪問服務.

Guest -> Host :

直接存取Host的IP地址即可.

Host -> Guest :

直接存取Guest的IP地址即可.

--------------------------------------------------------------------------

方案四 : ARP Proxy(by Linux) + Route

通過路由來進行主客機通訊的

Host :

#echo 1 > /proc/sys/net/ipv4/ip_forward #開啟轉寄功能

#chmod 0666 /dev/net/tun #設定存取權限

#tunctl -t tap0 -u leemars #建立一個tap裝置, 名字為tap0, 所有者為leemars

#ip link set tap0 up #啟用tap0

#route add -host 192.168.1.201 dev tap0 #增加一個路由, 將192.168.1.201定向到tap0

#echo 1 > /proc/sys/net/ipv4/conf/ath0/proxy_arp #開啟ath0上的ARP Proxy

#echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp #開啟tap0上的ARP Proxy

Guest :

網卡設定如下:

IP : 192.168.1.201

Netmask : 255.255.255.0

Gateway : 192.168.1.1

直接可以互訪了

3.Internal network

這個不知道是什麼樣的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.