虚拟机群桥接并入局域网

  • 概述

   随着集群的完善,分布式切片顺利的测试通过,进入了实质的发地图服务阶段。公司基于虚拟机搭建了比较庞大的spark,Hadoop集群,本人本地机也有小型的spark集群,其网络模式均采用NAT模式,无法有效利用公司局域网,也不方便其他开发、测试人员共享集群资源,所以决定将所有集群改造为桥接模式,并入公司局域网。

  本篇,以我本人本地安装的spark集群中的一个节点的虚拟机为例,来慢慢阐述整个过程,完整记录下来,希望对有类似需求的同学有所帮助。

  进行本篇操作时,我们假设您已经掌握了Linux相关入门级别的技能,如网络管理,入门基础命令等等,并且对虚拟机有一定了解,包括熟悉CentOS,本篇以CentOS7为例。如果您还没有以上相关技能,请先行学习掌握它们。这里,本人推荐参考GITHub:https://github.com/lbqbb/Linux-Talent-Development-Plan,以方便您快速入门。

  • 过程
  1. 原来的集群网络模式

     2.配置LinuxIP地址

打开本地机cmd,输入ipconfig命令,回车:

记住红框处的信息,下面会用到。

如果安装有图形界面,则可以使用setup命令修改并配置IP地址;如果是纯文本界面,则修改文件/etc/sysconfig/network-scripts/ifcfg-ens33,

将原来的配置,如图:

修改为,如图:

主要修改项有:

把ONBOOT=no,改为ONBOOT=yes

仅保留IPV6INIT=no,其余IPV6相关信息均注释或者删除

修改模板参照:

DEVICE=ens33

BOOTPROTO=none

HWADDR=XXXXXXXX

NM_CONTROLLED=yes

ONBOOT=yes

TYPE=Ethernet

UUID="xxxxxxxxxxxxxxx"

IPADDR=192.168.0.252

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

DNS1=202.106.0.20

IPV6INIT=no

USERCTL=no

    3.启动网卡

#service network restart

重启网络服务

重启后,输入#ifconfig命令,就可以看到ens33网卡,如图:

    4.修改UUID

  1. #vim /etc/sysconfig/network-scripts/ifcfg-ens33

  #删除MAC地址行,即HWADDR=XXXXXXXX行

  1. rm -rf  /etc/udev/rules.d/70-persistent-ipoib.rules
  2. #shutdown -r now

 重启动系统

注意:

如果该虚拟机是自己安装而非复制而来,则不需要执行修改UUID步骤

     5.设置虚拟机网络连接方式

打开VMware,选择需要修改的虚拟机,右击设置,或者在右侧点击编辑虚拟机设置,如图:

将NAT改为桥接,同时打开本地机或者服务器的网卡设置,确保有如下网卡:

属于虚拟机的有VMnet1和VMnet8,确保两种都有正常工作。其中VMnet1对应于hostonly,VMnet8对应于NAT,如图:

选择桥接,虚拟机不光可以和宿主机通讯,也可以和局域网内其他机器通讯,很方便,所以勾选桥接,点击确定。

      6.修改桥接网卡

1)按照顺序打开VMware—> 编辑—> 虚拟网络编辑器,检查虚拟机网卡是否有VMnet0选项,如图:

如果没有,请自行解决相关问题,确保你的网卡包含此网卡。

2)确保虚拟机网卡和主机一致

此处注意,无线网卡一定带有wireless字样我的机器采用网线上网,而非连接无线,如图

在虚拟机网卡中,桥接到选项选择和红框一致的网卡,然后确定。

     7.验证

 执行命令,如下:

#ping -c 3 www.baidu.com

#ping -c 3 www.sina.com

如果你的虚拟机带有图形界面,可以直接在浏览器中尝试访问百度,新浪等门户网站验证,如图:

     8.局域网其他机器验证

我在自己本地主机,服务器的验证,如图:

  • 结果

到这步,我们已经完成了将虚拟机桥接并入局域网的目的。不管是工作还是学习,在涉及虚拟机使用时,首先推荐桥接模式,桥接模式可以和主机共享网络,也可以方便访问局域网内其他机器,在进行一些实验,测试等工作中非常方便。

本章操作主要应用到本人公司现有的集群,所以在涉及虚拟机数量较为庞大的时候,建议提前了解和规划好局域网内的IP,防止冲突。

  • 虚拟机桥接并入局域网(二)

之前的操作均针对CentOS7桌面版本,但是实际上并非所有Linux系统都带有桌面,作为服务器的操作系统而言,安全稳定为首要考虑标准,所以很多服务器的Linux操作系统均采用纯文本界面,之后的示例均以centiOS6.9最小版本系统为例。

  1. 按照之前步骤操作存在的问题

如果在纯文本Linux系统中配置桥接网络,按照如上操作步骤,您很可能会遇到如下问题:

即使可以和宿主机,局域网内其他机器相互ping,但是无法访问外网,如执行#ping -c 3 www.baidu.com,会显示:

Ping 宿主机和其他机器可以通:

但是,去ping百度,新浪,却不通,如图:

网卡配置如图:

在依依排除后,发现是DNS配置问题,也就是说当前所配的DNS无法正常被解析工作,如:

   2.替换合适的DNS

我们可以先执行ping DNS,测试是否可以正常工作,如:ping -c 3 8.8.8.8,如图:

    3.写入网卡配置文件

 修改DNS1,替换为8.8.8.8,如图;

然后重启网络,执行ping命令,如图;

     4.重启系统后验证

 如图:

     5.模板

  网卡配置模板可参照如图;

<think>好的,我现在需要帮用户解决如何在虚拟机中设置网络桥接模式的问题。首先,用户提到了VMware Workstation Pro,所以应该以这个软件为例来指导操作。根据用户提供的引用内容,特别是引用[1]和引用[2],我需要整合这些步骤并确保符合系统级指令的要求。 首先,我得确认用户的问题是什么。用户问的是如何在虚拟机中设置桥接模式,所以需要分步骤说明。根据引用[1],步骤包括虚拟机设置中选择桥接模式,编辑虚拟网络编辑器,选择物理网卡,然后配置静态IP。同时,引用[2]解释了桥接模式的工作原理,可能需要简要提及,让用户理解为什么需要这样配置。 接下来,我需要检查是否有潜在的注意事项或常见问题。比如引用[3]提到关闭NetworkManager的情况,如果用户遇到网络不显示的问题,可能需要这个步骤。虽然用户现在可能还没遇到,但作为解答,应该包括一些常见问题处理,比如检查IP配置是否正确,或者服务是否启动。 然后,我要确保回答结构清晰,分步骤进行。按照用户给的示例,可能先介绍桥接模式的概念,再给出具体步骤,最后附加注意事项。同时,生成相关问题需要考虑用户可能进一步的问题,比如性能分析、优化方法或应用场景,但这里需要调整为网络配置相关的问题。 另外,系统级指令要求使用中文,数学公式用$...$,但这里可能涉及代码或命令,需要用代码块。需要检查LaTeX是否正确,但当前问题可能不涉及数学公式,所以可能不需要。不过如果有涉及变量或路径的地方,可能需要用行内代码格式,比如`cd /etc/sysconfig/network-scripts/`。 还需要注意引用标记的正确添加,比如在步骤中提到的桥接模式解释,需要添加引用[^2]。配置静态IP的步骤来自引用[^1],而关闭NetworkManager的注意事项来自引用[^3]。 最后,生成的相关问题应该围绕网络桥接的后续配置、问题排查和其他网络模式的区别等。确保问题对用户有帮助,引导他们深入理解。 现在,我需要将所有这些整理成一个结构化的回答,确保每个步骤清晰,引用正确,并包含相关问题。同时,语言要简洁明了,符合用户可见层的要求,帮助用户逐步解决问题。</think>### 虚拟机网络桥接模式配置步骤 #### 1. **虚拟机网络模式设置** - 打开VMware Workstation Pro,选择目标虚拟机,点击顶部菜单栏的 **虚拟机 → 设置**。 - 在 **硬件** 选项卡中选择 **网络适配器**,将网络连接类型改为 **桥接模式**(需勾选“复制物理网络连接状态”)[^1]。 #### 2. **配置虚拟网络编辑器** - 返回VMware主界面,点击 **编辑 → 虚拟网络编辑器**,进入配置页面。 - 选择 **桥接模式**(通常为`VMnet0`),并在下方选择要桥接的物理网卡(如本机当前使用的有线或无线网卡)。 #### 3. **虚拟机内静态IP配置(以Linux为例)** ```bash cd /etc/sysconfig/network-scripts/ # 进入网络配置目录 vi ifcfg-ens33 # 编辑网卡配置文件(名称可能不同) ``` - 修改以下参数(需与宿主机同一网段): ```plaintext BOOTPROTO=static IPADDR=192.168.1.100 # 例:宿主机IP为192.168.1.10,则虚拟机IP设为同一网段 NETMASK=255.255.255.0 # 子网掩码与宿主机一致 GATEWAY=192.168.1.1 # 默认网关与宿主机一致 DNS1=8.8.8.8 # DNS服务器 ``` - 重启网络服务: ```bash systemctl restart network ``` #### 4. **验证网络连通性** - 在虚拟机中执行: ```bash ping 宿主机IP # 测试与宿主机的通信 ping www.baidu.com # 测试外网连接 ``` - 若宿主机可访问虚拟机,则桥接成功。 #### ⚠️ 常见问题处理 - **未显示网络接口**:关闭NetworkManager服务: ```bash sudo systemctl disable NetworkManager # 永久禁用 sudo systemctl restart network # 重启网络服务 ``` - **IP冲突**:确保虚拟机IP与局域网内其他设备不重复。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值