宿主机为linux、windows分别实现VMware三种方式上网

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

一、VMware三种方式工作原理
1 Host-only连接方式
  让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位于同一网段。最终结果是新建了一个由所有虚机与宿主主机所构成的局域网,但该局域网与宿主主机本身所处的现有局域网是相互独立的,如果不做额外路由设置,这两个局域网之间不会连通,因此新建的局域网可以认为是一个单独从属于当前宿主主机的私有网络,其成员为当前宿主主机和相关的所有虚机,这也是Host-only命名的由来。
     从网络技术上相当于为宿主主机增添了一个虚拟网卡,让宿主主机变成一台双网卡主机(宿主网卡+虚拟网卡)。同时在宿主主机后端加设一个虚拟交换机,让宿主主机和所有虚机构成另一个虚拟的局域网。由于具备双网卡,宿主主机可同时参与两个局域网(现有的宿主局域网+新建的虚拟局域网),只不过缺省情况下两个局域网不连通。

2 Bridge(桥接)连接方式
    让虚机具有与宿主机不同的各自独立IP地址,但与宿主机保持在同一网段,最终结果是所有虚机都加入宿主主机所在的局域网,这与在该局域网中添加入其他宿主主机在效果上没什么区别。
   从网络技术上相当于在宿主主机前端加设了一个虚拟交换机,然后宿主主机和所有虚机共享这个交换机;或者干脆理解成在宿主主机上作点增强,使其兼具一个交换机(当然是虚拟的)功能,供该宿主主机和网段内其他虚机使用。

3 NAT连接方式
    虽然从表面现象看,虚机无自己的IP地址,而是共享宿主主机的IP地址,但技术本质上却是基于Host-only方式的(即,虚机还是有自己独立IP地址的,只不过实际中不投入使用),与Host-only方式一样,宿主主机成为双网卡主机,同时参与现有的宿主局域网和新建的虚拟局域网,但由于加设了一个虚拟的NAT服务器,使得虚拟局域网内的虚机在对外访问时,完全“冒用”宿主主机的IP地址,这样从外部网络来看,只能看到宿主主机,完全看不到新建的虚拟局域网。

 了解原理后让让我们开始配置吧!

二、首先介绍宿主机是RedHat Enterprise Linux 5.X
安装环境:

1、  宿主机系统:RedHat Enterprise Linux 5.X

2、  虚拟机系统:RedHat Enterprise Linux 5.X

3、  Vmware版本:vmware workstation 6.5

目的:实现虚拟机系统上网

方法一:host only方式

对宿主机系统的设置:
先来看看其网卡情况
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:26:22:08:60:18  
          inet addr:10.106.34.219  Bcast:10.106.34.255  Mask:255.255.255.0
          inet6 addr: fe80::226:22ff:fe08:6018/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:197 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17811 (17.3 KiB)  TX bytes:11066 (10.8 KiB)
          Interrupt:177

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:33 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3266 (3.1 KiB)  TX bytes:3266 (3.1 KiB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:10600 (10.3 KiB)

vmnet1    Link encap:Ethernet  HWaddr 00:50:56:C0:00:01  
          inet addr:172.16.73.1  Bcast:172.16.73.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

vmnet8    Link encap:Ethernet  HWaddr 00:50:56:C0:00:08  
          inet addr:192.168.135.1  Bcast:192.168.135.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
注意:其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,virbr0是Bridged模式网络接口

为了避免影响关闭virbr0,vmnet8 
ifconfig virbr0 down
ifconfig vmnet8 down

我们都知道host only方式,使用的是vmnet1这个网卡,下面我们就来对其配
为了方便我把vmnet1网卡设置成临时ip(即设置后立即生效)
ifconfig vmnet1 192.168.1.1/24
查看配置
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:26:22:08:60:18  
          inet addr:10.106.34.219  Bcast:10.106.34.255  Mask:255.255.255.0
          inet6 addr: 2001:da8:5000:881a:226:22ff:fe08:6018/64 Scope:Global
          inet6 addr: fe80::226:22ff:fe08:6018/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3984 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2633 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1884087 (1.7 MiB)  TX bytes:580140 (566.5 KiB)
          Interrupt:177

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:33 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3266 (3.1 KiB)  TX bytes:3266 (3.1 KiB)

vmnet1    Link encap:Ethernet  HWaddr 00:50:56:C0:00:01  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

查看DNS

vim /etc/resolv.conf
nameserver 202.196.64.1


对虚拟机系统进行设置
cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:f1:3d:d7
NETMASK=255.255.255.0
IPADDR=192.168.1.11 
GATEWAY=192.168.1.1 
TYPE=Ethernet 
保存退出

cd /etc/
vim resolv.conf
#加一条DNS服务器
nameserver 202.196.64.1
保存退出
这里需要注意三点:
      1.网关:是vmnet1的ip地址
      2.宿主机与虚拟机DNS相同
     3.宿主机的网卡eth0与vmnet1不要在同一个网段

上述设置后,你会发现还不能上网
原因是因为发送数据包,源ip 是 192.168.1.11数据包能发出去但回不来。我们需要在宿主机上做一下源地址转换即SNAT
在宿主机上配置防火墙:
如果是第一次配置iptables,启动防火墙
service iptables start
iptables -F
添加规则:
iptables -t nat -A POSTROUTING -s 192.168.1.11 -j MASQUERADE

 MASQUERADE的意思是进行地址伪装,伪装成宿主机连外网网卡的ip,这条语句也可写成
iptables -t nat -A POSTROUTING -s 192.168.1.11 -j SNAT --to 10.106.34.219

保存规则:
iptables-save > myfirewall.back
下次恢复:
iptables-restore < myfirewall.back

好了这时你在虚拟机里上网了

方法二.NAT或Bridged方式
     在以linux为宿主机的情况下,以NAT或Bridged方式实现上网,与host only 的配置差不多
区别是NAT方式用的网卡是vmnet8 , Bridged方式用的网卡是virbr0


三、宿主机window7
.安装环境:

1、  宿主机系统:window7

2、  虚拟机系统:RedHat Enterprise Linux 5.X

3、  Vmware版本:vmware workstation 6.5

目的:实现虚拟机系统上网

方法一:host only方式

宿主机的配置

如下图第一个网卡是物理网卡,第二个是vmnet1,第三个是vmnet8,

 

查看物理网卡的设置

 

启用vmnet1

 

对物理网卡点右键-> 属性

选择共享

 

勾上两个复选框

 

点击确定出现如下图,点击是

查看vmnet1的网卡配置(这里ip自动变为192.168.137.1)

对虚拟机的配置

 

配置虚拟机(linux)系统的网卡(在命令行输入setup)

 

选择网络配置

 

如下图eth0网卡的配置(注意网关与vmnet1的ip相同

 

编辑一下dns

 

注意DNS与宿主机的DNS相同

 

保存退出重启网络服务

 

ping一下百度

 

好了现在能上网了!!!

 方法二:NAT方式

其实NAT的方式实现上网,与host only方式实现方式基本一样,这里我简要介绍一下

对宿主机的配置

禁用vmnet1并删除其ip,启用vmnet8后续操作与vmnet1的相同,vmnet8的ip自动变成192.168.137.1

对虚拟机系统的配置

网卡类型改为NAT,其余的配置不变

好了以NAT方式也可以上网了

方法三:bridged方式

  bridged方式更简单,禁用vmnet1和vmnet8,只要物理网卡与bridged(虚拟机)网卡在同一个网段且两个ip都可上网即可,在这里就不在重复介绍了!!!



本文转自莫水千流博客园博客,原文链接:http://www.cnblogs.com/zhoug2020/p/3263838.html,如需转载请自行联系原作者

相关文章
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux共享Windows目录
Linux共享Windows目录
|
3天前
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。
43 1
|
5天前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
13 2
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
100 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
2月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
75 3
|
2月前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
247 2
|
2月前
|
Linux Windows
【Linux】grub命令行引导进入windows系统
【8月更文挑战第20天】在Linux中通过GRUB命令行引导Windows的方法包括:1) 进入GRUB命令行模式,启动时按`c`键;2) 使用`ls`查找含Windows引导文件的分区,如`bootmgr`或`ntldr`;3) 设置根设备`root=(hd0,msdos3)`与链加载器`chainloader +1`;4) 输入`boot`命令启动Windows。请注意实际步骤可能因系统配置而异。
161 2
|
2月前
|
存储 安全 Linux
在Linux中,如何使用VMware和VirtualBox进行虚拟化?
在Linux中,如何使用VMware和VirtualBox进行虚拟化?
|
1月前
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【9月更文挑战第10天】在编程领域,跨越不同操作系统的障碍是常见挑战。Python凭借其“编写一次,到处运行”的理念,显著简化了这一过程。通过os、subprocess、shutil等标准库模块,Python提供了统一的接口,自动处理底层差异,使代码在Windows和Linux上无缝运行。例如,`open`函数在不同系统中以相同方式操作文件,而`subprocess`模块则能一致地执行系统命令。此外,第三方库如psutil进一步增强了跨平台能力,使开发者能够轻松编写高效且易维护的代码。借助Python的强大系统调用功能,跨平台编程变得简单高效。
24 0