vmware中l(wèi)inux怎么設(shè)置網(wǎng)絡(luò)
本站整理 發(fā)布時(shí)間:2009-03-10 12:18:33 作者:jb51.net
我要評(píng)論

如果你的XXX卡沒被內(nèi)核支持,又怕自己編譯的內(nèi)核會(huì)造成系統(tǒng)損壞就可以試試這個(gè)方法嘍 ^_^
vmware三種網(wǎng)絡(luò)連接上網(wǎng)設(shè)置:
1.bridge :
默認(rèn)使用vmnet0
將虛擬機(jī)的ip設(shè)置與主機(jī)同網(wǎng)段未使用ip,其余與主機(jī)相同:
例如主機(jī)ip是10.70.5
如果你的XXX卡沒被內(nèi)核支持,又怕自己編譯的內(nèi)核會(huì)造成系統(tǒng)損壞就可以試試這個(gè)方法嘍 ^_^
vmware三種網(wǎng)絡(luò)連接上網(wǎng)設(shè)置:
1.bridge :
默認(rèn)使用vmnet0
將虛擬機(jī)的ip設(shè)置與主機(jī)同網(wǎng)段未使用ip,其余與主機(jī)相同:
例如主機(jī)ip是10.70.54.31,設(shè)置虛擬機(jī)ip為10.70.54.22。netmask,broadcast,gateway,dns都與主機(jī)相同即可實(shí)現(xiàn)虛擬機(jī)<--->主機(jī) 虛擬機(jī)<---->互聯(lián)網(wǎng) 通信。
2.nat :
默認(rèn)使用vmnet8
將虛擬機(jī)設(shè)置成使用dhcp方式上網(wǎng),windows下選擇"自動(dòng)獲取ip",linux下開啟dhcp服務(wù)即可
也可以手動(dòng)設(shè)置:
ip設(shè)置與vmnet8同網(wǎng)段,gateway設(shè)置成vmnet8的gateway(/etc/vmware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。
netmask,broadcast設(shè)置與vmnet8相同,dns設(shè)置與主機(jī)相同。
例如 vmnet8 ip:172.16.249.1 gw :172.16.249.2
虛擬機(jī)設(shè)置: ip :172.16.249.100 gw: 172.16.249.2
3.host-only :
默認(rèn)使用vmnet1
將虛擬機(jī)ip設(shè)置與vmnet1同網(wǎng)段,gateway設(shè)置成vmnet1的ip,其余設(shè)置與vmnet1相同,dns設(shè)置與主機(jī)相同
例如 vmnet1 ip :172.16.245.1
虛擬機(jī)設(shè)置: ip :172.16.245.100 gateway :172.16.245.1
這樣就實(shí)現(xiàn)了虛擬機(jī)<--->主機(jī) 通信,但是 虛擬機(jī)<--->互聯(lián)網(wǎng) 仍無法通信
虛擬機(jī)與互聯(lián)網(wǎng)通信:
1.開啟主機(jī)路由功能
2.設(shè)定iptables,使主機(jī)成為一臺(tái)nat server
1. echo 1 >/proc/sys/net/ipv4/ip_forward 這樣就主機(jī)就具有了路由功能
2. iptables -t nat -A POSTROUTING -o eth0 -s 172.16.245.0/24 -j MASQUERADE
這條規(guī)則意思是將來自172.16.245.0/24封包的來源ip偽裝成eth0的ip,實(shí)現(xiàn)虛擬機(jī)與互聯(lián)網(wǎng)通信
如果網(wǎng)絡(luò)接口是ppp+或pppoe則需要修改成-o pppoe
當(dāng)然-s 172.16.245.0/24 也要根據(jù)實(shí)際情況修改
qemu兩種上網(wǎng)方式:
user mode network :
這種方式實(shí)現(xiàn)虛擬機(jī)上網(wǎng)很簡(jiǎn)單,類似vmware里的nat,qemu啟動(dòng)時(shí)加入-user-net參數(shù),虛擬機(jī)里使用dhcp方式,即可與互聯(lián)網(wǎng)通信,但是這種方式虛擬機(jī)與主機(jī)的通信不方便。
tap/tun network :
這種方式要比user mode復(fù)雜一些,但是設(shè)置好后 虛擬機(jī)<-->互聯(lián)網(wǎng) 虛擬機(jī)<-->主機(jī) 通信都很容易
這種方式設(shè)置上類似vmware的host-only,qemu使用tun/tap設(shè)備在主機(jī)上增加一塊虛擬網(wǎng)絡(luò)設(shè)備(tun0),然后就可以象真實(shí)網(wǎng)卡一樣配置它.
首先內(nèi)核中支持tap/tuns設(shè)備:
Device Drivers --->
Networking support --->
[M] Universal TUN/TAP device driver support
如果當(dāng)前內(nèi)核沒有支持,可以重新只編譯相應(yīng)模塊加入,方法很簡(jiǎn)單:
將當(dāng)前內(nèi)核配置文件cp到內(nèi)核源碼目錄下:
[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux
[root@LFS ~]#cd /usr/src/linux
配置內(nèi)核,將TUN/TAP選擇模塊(M),如上所示:
[root@LFS ~]#make menuconfig
重新只編譯模塊(M),不編譯核心(*)支持的東東:
[root@LFS ~]#make modules
編譯好后在/usr/src/linux/drivers/net下可以找到tun.ko:
[root@LFS net]#ls -l /usr/src/linux/drivers/net/tun.ko
-rw-r--r-- 1 root root 11116 Mar 23 20:29 /usr/src/linux/drivers/net/tun.ko
[root@LFS net]#
將它c(diǎn)p到當(dāng)前內(nèi)核的模塊目錄的相應(yīng)位置:
[root@LFS net]#cp /usr/src/linux/drivers/net/tun.ko /lib/modules/`uname -r`/kernel/drivers/net
重新建立模塊依賴關(guān)系:
[root@LFS net]#depmod
現(xiàn)在就可以加載它了 :
[root@LFS net]#modprobe tun
檢查一下:
[root@LFS net]#lsmod |grep tun
tun 8704 0
[root@LFS net]#
OK. 成功不重新編譯整個(gè)內(nèi)核加入特殊模塊支持
如果你的xx卡不被內(nèi)核支持,又可以編譯成模塊,自己怕重新編譯內(nèi)核后出問題就可以用這個(gè)辦法只編譯自己需要的模塊,然后手動(dòng)安裝到相應(yīng)位置,再加載它。
這樣編譯速度要也比編譯整個(gè)內(nèi)核快,不會(huì)對(duì)系統(tǒng)有任何損害,就可以使用上XX卡嘍。^_^
要注意三點(diǎn):
1.內(nèi)核源碼必須與當(dāng)前內(nèi)核版本完全一致,否則編譯出的模塊是不能用的。
2.注意只make modules(編譯模塊),沒有make modules_install(自動(dòng)安裝模塊到/lib/modules下)
3.加載新編譯的模塊前必須先運(yùn)行depmod,否則modprobe找不到它
其實(shí)使用當(dāng)前內(nèi)核配置文件(/boot/config-[kernel-version]),只加入自己需要的模塊,不做任何其他改,make modules_install應(yīng)該也不會(huì)有問題的。
不過最穩(wěn)妥的辦法還是手動(dòng)安裝它,控制權(quán)在自己手里更踏實(shí)嘛 :-)
OK,轉(zhuǎn)回qemu上網(wǎng)問題
如果使用udev管理設(shè)備(通常2.6.x內(nèi)核的發(fā)行版都已經(jīng)使用udev),當(dāng)modprobe tun后就會(huì)自動(dòng)建立/dev/net目錄,并創(chuàng)建出tun設(shè)備,做好相關(guān)鏈接:
[root@LFS net]#ls -l /dev/net/tun
lrwxrwxrwx 1 root root 6 Mar 25 15:35 /dev/net/tun -> ../tun
[root@LFS net]#
如果很不幸,你沒看到它,就需要自己手動(dòng)做這些工作了#p#分頁標(biāo)題#e#
[root@LFS ~]#mkdir /dev/net
[root@LFS ~]#mknod /dev/net/tun c 10 200
OK,相關(guān)設(shè)備已經(jīng)準(zhǔn)備好了,還需要一個(gè)tun/tap的初始化腳本 :
/etc/qemu-ifup :
#!/bin/sh
/sbin/ifconfig $1 172.20.0.1
再給予qemu-ifup x執(zhí)行權(quán)限放在/etc下就可以了。
這個(gè)腳本只能root用戶執(zhí)行,如果需要普通用戶使用qemu,就需要改成sudo /sbin/ifconfig .....再設(shè)置sudo相關(guān)權(quán)限。
啟動(dòng)qemu后,它會(huì)在主機(jī)上增加一塊虛擬網(wǎng)絡(luò)設(shè)備(tun0):
[root@LFS ~]#ifconfig tun0
tun0 Link encap:Ethernet HWaddr 0A3:8A:5D:97:CD
inet addr:172.20.0.1 Bcast:172.20.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@LFS ~]#
現(xiàn)在就可以啟動(dòng)qemu配置虛擬機(jī)網(wǎng)絡(luò)參數(shù)了,和vmware host-only一樣:
ip與tun0相同網(wǎng)段,gateway為tun0 ip 其余參數(shù)與tun0相同,dns與主機(jī)相同:
tun0 : ip :172.20.0.1 broadcast:172.20.255.255 netmask :255.255.0.0
qemu : ip :172.20.0.100 broadcast:172.20.255.255 netmask :255.255.0.0 gateway:172.20.0.1
與host-only一樣,這樣只實(shí)現(xiàn)了虛擬機(jī)<---->主機(jī)間通信,還需要設(shè)置router,nat才可以連上互聯(lián)網(wǎng)
[root@LFS ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE
[root@LFS ~]#
OK,虛擬機(jī)<--->主機(jī) 虛擬機(jī)<---->互聯(lián)網(wǎng)通信 都完成啦
vmware三種網(wǎng)絡(luò)連接上網(wǎng)設(shè)置:
1.bridge :
默認(rèn)使用vmnet0
將虛擬機(jī)的ip設(shè)置與主機(jī)同網(wǎng)段未使用ip,其余與主機(jī)相同:
例如主機(jī)ip是10.70.54.31,設(shè)置虛擬機(jī)ip為10.70.54.22。netmask,broadcast,gateway,dns都與主機(jī)相同即可實(shí)現(xiàn)虛擬機(jī)<--->主機(jī) 虛擬機(jī)<---->互聯(lián)網(wǎng) 通信。
2.nat :
默認(rèn)使用vmnet8
將虛擬機(jī)設(shè)置成使用dhcp方式上網(wǎng),windows下選擇"自動(dòng)獲取ip",linux下開啟dhcp服務(wù)即可
也可以手動(dòng)設(shè)置:
ip設(shè)置與vmnet8同網(wǎng)段,gateway設(shè)置成vmnet8的gateway(/etc/vmware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。
netmask,broadcast設(shè)置與vmnet8相同,dns設(shè)置與主機(jī)相同。
例如 vmnet8 ip:172.16.249.1 gw :172.16.249.2
虛擬機(jī)設(shè)置: ip :172.16.249.100 gw: 172.16.249.2
3.host-only :
默認(rèn)使用vmnet1
將虛擬機(jī)ip設(shè)置與vmnet1同網(wǎng)段,gateway設(shè)置成vmnet1的ip,其余設(shè)置與vmnet1相同,dns設(shè)置與主機(jī)相同
例如 vmnet1 ip :172.16.245.1
虛擬機(jī)設(shè)置: ip :172.16.245.100 gateway :172.16.245.1
這樣就實(shí)現(xiàn)了虛擬機(jī)<--->主機(jī) 通信,但是 虛擬機(jī)<--->互聯(lián)網(wǎng) 仍無法通信
虛擬機(jī)與互聯(lián)網(wǎng)通信:
1.開啟主機(jī)路由功能
2.設(shè)定iptables,使主機(jī)成為一臺(tái)nat server
1. echo 1 >/proc/sys/net/ipv4/ip_forward 這樣就主機(jī)就具有了路由功能
2. iptables -t nat -A POSTROUTING -o eth0 -s 172.16.245.0/24 -j MASQUERADE
這條規(guī)則意思是將來自172.16.245.0/24封包的來源ip偽裝成eth0的ip,實(shí)現(xiàn)虛擬機(jī)與互聯(lián)網(wǎng)通信
如果網(wǎng)絡(luò)接口是ppp+或pppoe則需要修改成-o pppoe
當(dāng)然-s 172.16.245.0/24 也要根據(jù)實(shí)際情況修改
qemu兩種上網(wǎng)方式:
user mode network :
這種方式實(shí)現(xiàn)虛擬機(jī)上網(wǎng)很簡(jiǎn)單,類似vmware里的nat,qemu啟動(dòng)時(shí)加入-user-net參數(shù),虛擬機(jī)里使用dhcp方式,即可與互聯(lián)網(wǎng)通信,但是這種方式虛擬機(jī)與主機(jī)的通信不方便。
tap/tun network :
這種方式要比user mode復(fù)雜一些,但是設(shè)置好后 虛擬機(jī)<-->互聯(lián)網(wǎng) 虛擬機(jī)<-->主機(jī) 通信都很容易
這種方式設(shè)置上類似vmware的host-only,qemu使用tun/tap設(shè)備在主機(jī)上增加一塊虛擬網(wǎng)絡(luò)設(shè)備(tun0),然后就可以象真實(shí)網(wǎng)卡一樣配置它.
首先內(nèi)核中支持tap/tuns設(shè)備:
Device Drivers --->
Networking support --->
[M] Universal TUN/TAP device driver support
如果當(dāng)前內(nèi)核沒有支持,可以重新只編譯相應(yīng)模塊加入,方法很簡(jiǎn)單:
將當(dāng)前內(nèi)核配置文件cp到內(nèi)核源碼目錄下:
[root@LFS ~]#cp /boot/config-[kernel-version] /usr/src/linux
[root@LFS ~]#cd /usr/src/linux
配置內(nèi)核,將TUN/TAP選擇模塊(M),如上所示:
[root@LFS ~]#make menuconfig
重新只編譯模塊(M),不編譯核心(*)支持的東東:
[root@LFS ~]#make modules
編譯好后在/usr/src/linux/drivers/net下可以找到tun.ko:
[root@LFS net]#ls -l /usr/src/linux/drivers/net/tun.ko
-rw-r--r-- 1 root root 11116 Mar 23 20:29 /usr/src/linux/drivers/net/tun.ko
[root@LFS net]#
將它c(diǎn)p到當(dāng)前內(nèi)核的模塊目錄的相應(yīng)位置:
[root@LFS net]#cp /usr/src/linux/drivers/net/tun.ko /lib/modules/`uname -r`/kernel/drivers/net
重新建立模塊依賴關(guān)系:
[root@LFS net]#depmod
現(xiàn)在就可以加載它了 :
[root@LFS net]#modprobe tun
檢查一下:
[root@LFS net]#lsmod |grep tun
tun 8704 0
[root@LFS net]#
OK. 成功不重新編譯整個(gè)內(nèi)核加入特殊模塊支持
如果你的xx卡不被內(nèi)核支持,又可以編譯成模塊,自己怕重新編譯內(nèi)核后出問題就可以用這個(gè)辦法只編譯自己需要的模塊,然后手動(dòng)安裝到相應(yīng)位置,再加載它。
這樣編譯速度要也比編譯整個(gè)內(nèi)核快,不會(huì)對(duì)系統(tǒng)有任何損害,就可以使用上XX卡嘍。^_^
要注意三點(diǎn):
1.內(nèi)核源碼必須與當(dāng)前內(nèi)核版本完全一致,否則編譯出的模塊是不能用的。
2.注意只make modules(編譯模塊),沒有make modules_install(自動(dòng)安裝模塊到/lib/modules下)
3.加載新編譯的模塊前必須先運(yùn)行depmod,否則modprobe找不到它
其實(shí)使用當(dāng)前內(nèi)核配置文件(/boot/config-[kernel-version]),只加入自己需要的模塊,不做任何其他改,make modules_install應(yīng)該也不會(huì)有問題的。
不過最穩(wěn)妥的辦法還是手動(dòng)安裝它,控制權(quán)在自己手里更踏實(shí)嘛 :-)
OK,轉(zhuǎn)回qemu上網(wǎng)問題
如果使用udev管理設(shè)備(通常2.6.x內(nèi)核的發(fā)行版都已經(jīng)使用udev),當(dāng)modprobe tun后就會(huì)自動(dòng)建立/dev/net目錄,并創(chuàng)建出tun設(shè)備,做好相關(guān)鏈接:
[root@LFS net]#ls -l /dev/net/tun
lrwxrwxrwx 1 root root 6 Mar 25 15:35 /dev/net/tun -> ../tun
[root@LFS net]#
如果很不幸,你沒看到它,就需要自己手動(dòng)做這些工作了#p#分頁標(biāo)題#e#
[root@LFS ~]#mkdir /dev/net
[root@LFS ~]#mknod /dev/net/tun c 10 200
OK,相關(guān)設(shè)備已經(jīng)準(zhǔn)備好了,還需要一個(gè)tun/tap的初始化腳本 :
/etc/qemu-ifup :
#!/bin/sh
/sbin/ifconfig $1 172.20.0.1
再給予qemu-ifup x執(zhí)行權(quán)限放在/etc下就可以了。
這個(gè)腳本只能root用戶執(zhí)行,如果需要普通用戶使用qemu,就需要改成sudo /sbin/ifconfig .....再設(shè)置sudo相關(guān)權(quán)限。
啟動(dòng)qemu后,它會(huì)在主機(jī)上增加一塊虛擬網(wǎng)絡(luò)設(shè)備(tun0):
[root@LFS ~]#ifconfig tun0
tun0 Link encap:Ethernet HWaddr 0A3:8A:5D:97:CD
inet addr:172.20.0.1 Bcast:172.20.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@LFS ~]#
現(xiàn)在就可以啟動(dòng)qemu配置虛擬機(jī)網(wǎng)絡(luò)參數(shù)了,和vmware host-only一樣:
ip與tun0相同網(wǎng)段,gateway為tun0 ip 其余參數(shù)與tun0相同,dns與主機(jī)相同:
tun0 : ip :172.20.0.1 broadcast:172.20.255.255 netmask :255.255.0.0
qemu : ip :172.20.0.100 broadcast:172.20.255.255 netmask :255.255.0.0 gateway:172.20.0.1
與host-only一樣,這樣只實(shí)現(xiàn)了虛擬機(jī)<---->主機(jī)間通信,還需要設(shè)置router,nat才可以連上互聯(lián)網(wǎng)
[root@LFS ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE
[root@LFS ~]#
OK,虛擬機(jī)<--->主機(jī) 虛擬機(jī)<---->互聯(lián)網(wǎng)通信 都完成啦
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡(jiǎn)化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡(jiǎn)要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡(jiǎn)化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16