linux虚拟机网络配置?vmware虚拟机配置网络
大家好,linux虚拟机网络配置相信很多的网友都不是很明白,包括vmware虚拟机配置网络也是一样,不过没有关系,接下来就来为大家分享关于linux虚拟机网络配置和vmware虚拟机配置网络的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
虚拟机 Linux 网络下面网络如何配置
建议虚拟机的网络设置为桥接上网,但是需要配置linux系统的IP,具体步骤如下:
1,在命令行模式下或者桌面上进入终端模式,找到/etc/sysconfig/network-script/ifcfg-eth0文件;
2,使用vi打开文件
vi
ifcfg-eth0,注意,有的linux系统这个文件可能不带ifcfg前缀。
3,需要改动的:
BOOTPROTO=static
#默认是dhcp,自动获取,自动获取需要将网络模式改桥接模式
需要增加的:
IPADDR=192.168.1.10
#地址是自己设置的
NETMASK=255.255.255.0
修改好之后保存退出。
这样linux可以上网了。
4,如果想要使电脑和linux在同一局域网下,方面2台机器之间互连的话。还需要配置电脑的ip,
打开网络和共享中心->打开适配器设置->可以看到有1个vmware的网络(有的可能是2个),右键第一个属性,打开TCP/IPv4的属性设置,将ip地址设置成192.168.1.20。
vmware中linux怎么设置网络
如果你的XXX卡没被内核支持,又怕自己编译的内核会造成系统损坏就可以试试这个方法喽 ^_^
vmware三种网络连接上网设置:
1.bridge:
默认使用vmnet0
将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同:
例如主机ip是10.70.54.31,设置虚拟机ip为10.70.54.22。netmask,broadcast,gateway,dns都与主机相同即可实现虚拟机<--->主机虚拟机<---->互联网通信。
2.nat:
默认使用vmnet8
将虚拟机设置成使用dhcp方式上网,windows下选择"自动获取ip",linux下开启dhcp服务即可
也可以手动设置:
ip设置与vmnet8同网段,gateway设置成vmnet8的gateway(/etc/vmware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。
netmask,broadcast设置与vmnet8相同,dns设置与主机相同。
例如 vmnet8 ip:172.16.249.1 gw:172.16.249.2
虚拟机设置: ip:172.16.249.100 gw: 172.16.249.2
3.host-only:
默认使用vmnet1
将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同
例如 vmnet1 ip:172.16.245.1
虚拟机设置: ip:172.16.245.100 gateway:172.16.245.1
这样就实现了虚拟机<--->主机通信,但是虚拟机<--->互联网仍无法通信
虚拟机与互联网通信:
1.开启主机路由功能
2.设定iptables,使主机成为一台nat server
1. echo 1>/proc/sys/net/ipv4/ip_forward这样就主机就具有了路由功能
2. iptables-t nat-A POSTROUTING-o eth0-s 172.16.245.0/24-j MASQUERADE
这条规则意思是将来自172.16.245.0/24封包的来源ip伪装成eth0的ip,实现虚拟机与互联网通信
如果网络接口是ppp+或pppoe则需要修改成-o pppoe
当然-s 172.16.245.0/24也要根据实际情况修改
qemu两种上网方式:
user mode network:
这种方式实现虚拟机上网很简单,类似vmware里的nat,qemu启动时加入-user-net参数,虚拟机里使用dhcp方式,即可与互联网通信,但是这种方式虚拟机与主机的通信不方便。
tap/tun network:
这种方式要比user mode复杂一些,但是设置好后虚拟机<-->互联网虚拟机<-->主机通信都很容易
这种方式设置上类似vmware的host-only,qemu使用tun/tap设备在主机上增加一块虚拟网络设备(tun0),然后就可以象真实网卡一样配置它.
首先内核中支持tap/tuns设备:
Device Drivers--->
Networking support--->
[M] Universal TUN/TAP device driver support
如果当前内核没有支持,可以重新只编译相应模块加入,方法很简单:
将当前内核配置文件cp到内核源码目录下:
[root@LFS~]#cp/boot/config-[kernel-version]/usr/src/linux
[root@LFS~]#cd/usr/src/linux
配置内核,将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]#
将它cp到当前内核的模块目录的相应位置:
[root@LFS net]#cp/usr/src/linux/drivers/net/tun.ko/lib/modules/`uname-r`/kernel/drivers/net
重新建立模块依赖关系:
[root@LFS net]#depmod
现在就可以加载它了:
[root@LFS net]#modprobe tun
检查一下:
[root@LFS net]#lsmod|grep tun
tun 8704 0
[root@LFS net]#
OK.成功不重新编译整个内核加入特殊模块支持
如果你的xx卡不被内核支持,又可以编译成模块,自己怕重新编译内核后出问题就可以用这个办法只编译自己需要的模块,然后手动安装到相应位置,再加载它。
这样编译速度要也比编译整个内核快,不会对系统有任何损害,就可以使用上XX卡喽。^_^
要注意三点:
1.内核源码必须与当前内核版本完全一致,否则编译出的模块是不能用的。
2.注意只make modules(编译模块),没有make modules_install(自动安装模块到/lib/modules下)
3.加载新编译的模块前必须先运行depmod,否则modprobe找不到它
其实使用当前内核配置文件(/boot/config-[kernel-version]),只加入自己需要的模块,不做任何其他改,make modules_install应该也不会有问题的。
不过最稳妥的办法还是手动安装它,控制权在自己手里更踏实嘛:-)
OK,转回qemu上网问题
如果使用udev管理设备(通常2.6.x内核的发行版都已经使用udev),当modprobe tun后就会自动建立/dev/net目录,并创建出tun设备,做好相关链接:
[root@LFS net]#ls-l/dev/net/tun
lrwxrwxrwx 1 root root 6 Mar 25 15:35/dev/net/tun->../tun
[root@LFS net]#
如果很不幸,你没看到它,就需要自己手动做这些工作了
[root@LFS~]#mkdir/dev/net
[root@LFS~]#mknod/dev/net/tun c 10 200
OK,相关设备已经准备好了,还需要一个tun/tap的初始化脚本:
/etc/qemu-ifup:
#!/bin/sh
/sbin/ifconfig$1 172.20.0.1
再给予qemu-ifup x执行权限放在/etc下就可以了。
这个脚本只能root用户执行,如果需要普通用户使用qemu,就需要改成sudo/sbin/ifconfig.....再设置sudo相关权限。
启动qemu后,它会在主机上增加一块虚拟网络设备(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~]#
现在就可以启动qemu配置虚拟机网络参数了,和vmware host-only一样:
ip与tun0相同网段,gateway为tun0 ip其余参数与tun0相同,dns与主机相同:
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一样,这样只实现了虚拟机<---->主机间通信,还需要设置router,nat才可以连上互联网
[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,虚拟机<--->主机虚拟机<---->互联网通信都完成啦
vmware+linux+局域网+IP配置
资料:
netmask ip地址 broadcast子网掩码 gateway网关 dns DNS服务器
vmware三种网络连接上网设置:
1.桥接方式(bridge):
默认使用vmnet0
将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同:
ip地址与主机同段相异,
子网掩码与主机相同,
网关与主机相同,
DNS服务器与主机相同。
实现虚拟机<--->主机虚拟机<---->互联网通信。
2.共享方式(nat):
默认使用vmnet8
将虚拟机设置成使用dhcp方式上网,windows下选择"自动获取ip",linux下开启dhcp服务即可。
手动设置:
ip设置与vmnet8同网段,
网关设置成vmnet8的网关,
DNS服务器设置与主机相同,
实现虚拟机<--->主机虚拟机<---->互联网通信。
查找vmnet1的网关,通常是xxx.xxx.xxx.2
例如 vmnet8 ip:172.16.249.1 gw:172.16.249.2
虚拟机设置: ip:172.16.249.100 gw: 172.16.249.2
3.私有方式(host-only):
默认使用vmnet1
将虚拟机ip设置与vmnet8同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同
例如 vmnet1 ip:172.16.245.1
虚拟机设置: ip:172.16.245.100 gateway:172.16.245.1
这样就实现了虚拟机<--->主机通信,但是虚拟机<--->互联网仍无法通信
简单分析:
##########################################################
说明:我的是校园网环境,MAC是绑定的^_^
##########################################################
特别提示:你必须保证你的虚拟机中,虚拟网络编辑器中的DHCP和NAT服务必须是启动的!!!特别是在你使用NAT方式时!!!!
1.如果你只是让你的虚拟机访问你所在的私有网络(对于我那就是校园网)
那你就选择桥接方式(bridge),IP设置为跟你真实主机一样,只要使用同网段中未被使用的IP就行!!!如果你愿意拿你虚拟主机的MAC注册一下,我敢保证这种方法也能上网,或者把虚拟主机的MAC改成已经注册过的(不建议是自己真实主机的),那也应该能上网.(这种改MAC的方法我们经常用,算是对学校的抗议吧!!!!:)
2.如果你只是想在你虚拟机内部组建网络那就选则私有方式(host-only)
这样可以在你的主机上模拟网络环境(我的模拟环境有8个系统,两个网段,其中linux占半数 ^_^)
接下来是我最得意的上网方式,共享方式,就是NAT地址转换方式,我曾经同时4个系统打开Baidu的网站,虚拟机中两个Windows2000一个linux(FC5)还有真实主机 ^_^
对虚拟机唯一有用的是你的真实的DNS服务器IP,其他的决定于你的vmnet8(排除你做了更改!!一般默认vmnet8是NAT的)
方法在上面已经描述了,你应该知道怎么做了把!
需要注意的是:
1.虚拟机网络段的分配是随机的(我也挺感到奇怪的!!),每次重新安装虚拟机VM软件都不一样,但是可以该的,要修改注册表,不过没必要;
2.取保你虚拟机的的DHCP,NAT服务都是启动的(如果你的DHCP启动那你连你NAT方式的IP都省了,不过建议设置IP,因为这是经验^_^)
3.你的虚拟机一定要做了快照,否则你虚拟机崩溃你就惨了(我同学用我的方法设置了之后上XXX网站就搞的虚拟机崩溃了 ^_^)