操作系统:RedHat9虚拟机,以下简称Linux虚拟机
Linux虚拟机上网问题是不是让你感到很头疼?最近因为搭建nfs研究了一下linux虚拟机的上网问题,我的目标是让开发板和Linux虚拟机能够相互ping通。Linux虚拟机上网通常有两种方式:NAT和bridged.
NAT:network address translation即网络地址转换,顾名思义就是让Linux虚拟机的IP地址和真实机的IP地址建立一种映射关系,这种映射关系通过 VMware NetWork Adapter VMnet8这个连接来完成。但是NAT方式有个缺点,即NAT具有连接单向性,只能由内部发起访问外部网络,不能有外部网络发起访问内部网络,所以你只能从虚拟机ping到外部网络,不能从外部网络ping虚拟机。我主要搭建nfs文件系统,让arm9 实验板挂载网络文件系统,需要让虚拟机和开发板相互能够ping通。但是有NAT这个缺点,在外部侦听内网的拓扑图时,屏蔽了虚拟机。
bridge:即桥接。他不同于NAT,用种方式接入外网时,虚拟机就像一个新增加的、与真实主机有着同等物理地位的一台电脑,桥接模式可以享受所有可用的服务;包括文件服务、打印服务等等,并且在此模式下你将获得最简易的从真实主机获取资源的方法。
如果需要做nfs,就需要bridge,如果一般的上网需求,NAT可以让上网变得更加安全。不过NAT的还有跟大的优点(模拟更大的网络),我不需要就没研究过。
在实际设置时:首先让真实机设置成共享网络;
1..在主机上,网络连接—>本地连接属性—>高级,把“internet连接共享”给勾上(同时选择VMnet8)。
2.设置“网络连接”中的虚拟网卡“VMware Network AdapterVMnet8”(NAT对应的是VMnet8,bridge.如果是onlyhost方式,则要用VMnet1),IP:192.168.0.1(默认),掩码:255.255.255.0,其它不用理。
设置成brigde模式:把虚拟机的网卡改成bridge模式,由于每个人的网络环境不同,配置方法各有不同。比如我在windown下设置IP为222.18.158.0 /255.255.255.0,DNS:241.41.224.33.,我就能上网。不用管VMware Network AdapterVMnet8的IP地址,我在linux 虚拟机设置的IP地址仍然是222.18.158.0/255.255.255.0,DNS:241.41.224.33,因为桥接方式真实机和虚拟机地位相同
NAT模式:把虚拟机的网卡设置成NAT模式,虚拟机IP地址设置成VMware Network AdapterVMnet8同一网段的IP即可。待生效后,Linux虚拟机可以从里面发起访问访问外部网络。
以上是别人的文章,我照着弄完之后并没有ping通,也挂载不上,之后我执行了一下操作才好用了:
iptables -F 关掉防火墙
service nfs restart
service Portmap restate
然后就好用了!不知道为啥。