vmware 下 ubuntu 双网卡设置

article/2025/11/6 16:03:03

写在前面:

本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。


目录

  • step 1:添加网卡
  • setp 2:配置网络设备器
    • 拓展
  • setp 3:网络信息配置
  • 关于双网卡无法上网问题

背景:主机电脑通过 WiFi 上网,网口用于跟开发板等设备有线连接;为此需要实现虚拟机内对系统可以进行外网访问网页或下载工具包等(避免切换主机操作),同时具备通过网线访问内网设备机器进行控制调试等操作。

环境:VMware® Workstation 15 Pro

平台:Ubuntu 18.04.6


step 1:添加网卡

在虚拟机窗口栏,依次点击 编辑 -> 虚拟网络编辑器 ,可以看到原有默认的 VMnet 接口:

在这里插入图片描述

它们分别对应主机 ip 地址。

然后我们建立一个桥接模式的 VMnet 虚拟网络,并指定响应网卡(如出现灰屏无法设置,需要以管理员身份打开 VMware,或在当前窗口点击 更改设置 来赋予权限),然后选择对应需要进行桥接的网卡(即网口网卡):

在这里插入图片描述


setp 2:配置网络设备器

在 ubuntu 虚拟机右键点击 设置 -> 添加 -> 网络适配器 ,然后指定上面配置为桥接模式的 VMnet 虚拟网络:

在这里插入图片描述


拓展

关于 NAT(网络地址转换模式)、Host-only(主机模式)及 bridged(桥接模式):

在这里插入图片描述

  • NAT 模式:使用 NAT 模式,就是让虚拟机借助 NAT (网络地址转换)功能,通过宿主机器所在的网络来访问外部网络,即:使用 NAT 模式可以实现在虚拟系统里访问互联网。

    优点:是从虚拟机访问外部网络的最简单方法;通常,它会自动设置网络地址转换到虚拟机上,不需要在宿主机器的网络信息上配置或通过访客操作系统上进行配置。

    缺点:就像路由器后面的专用网络一样,虚拟机是不可见的,无法从外部网络访问。

    在这里插入图片描述

  • Host-only 模式:构建一个与外界断开连接的内部网络,只允许使用 host-only 方法的虚拟机才能通信,因此无法与外部网络或其他 PC 主机通信,只能相互通信。

    优点:与内部网络一样,其不需要存在物理网络接口,相当于使用 host-only 方法的虚拟机通过双绞线直连形成网络节点进行通讯;由于无法访问外部网络,因此对于安全性来讲,比其余两种相对要高。

    缺点:如其名,无法与主机外部的网络通信,同时外部网络设备也无法与其通讯。

    在这里插入图片描述

  • bridged 模式:在这种模式下,虚拟系统就像是局域网中的一台独立的主机,具有自己的 MAC 和 IP 地址;由于虚拟机和宿主机器分配了相同网段的 IP,因此宿主机器和虚拟机被识别为同一级别的物理主机。

    优点:虚拟机就像是一台独立的主机,拥有正常主机的网络功能,可以对外部网络进行访问,而外部网络也可以访问进来。

    缺点:由于外部网络可以访问,其安全性比其余两种相对要低;因与宿主机器平等的存在于网络中,需要进行分配网络地址、子网掩码、网关等操作。

    在这里插入图片描述

示例:

一些 VMnet 虚拟机具有特定功能:VMnet0 专用于 bridged 模式,VMnet1 专用于 host-only 模式,而 VMnet8 专用于 NAT 模式;其他的 VMnet2 等,可供虚拟机使用自定义网络模式。如图分析各模式作用:

在这里插入图片描述

  • VM-1 可以与 host PC 通信,并连接到外部 LAN or internet,但不能与 NAT 和 host-only 网络通信。

  • VM-2 和 VM-3 可以相互通信,也可以与 NAT 网络中的其他 VM 通信,也可以与 host PC 通信。

  • VM-5 和 VM-4 可以相互通信,但不能与主机操作系统和 host-only 网络中的其他 VM 通信。

  • VM-6 和 VM-7 无法相互通信。

参考:

What is the difference between NAT / Bridged / Host-Only networking?

VMware Workstation Networking Basics

VMWare Networking Concept [Bridged, NAT, Host Only, LAN Segment]

Perbedaan NAT Bridge Dan Host Only Di VMware Dan VirtualBox

Virtual Networking

Vmware Host-Only, NAT, Bridge 차이

Intro to Virtual Machine Networking

VMware虛擬機器上網路連線(Network type)的三種模式


setp 3:网络信息配置

从上一步可以知道我们目前有两个网络适配器,分别是 NAT 和 桥接模式,然后针对这几个模式的作用也在上面作了介绍了;因此在这里,实际只需要在虚拟机系统中配置桥接模式对应的网卡网络信息就好了;至于 NAT 模式对应的网卡网络信息将由虚拟机借助 NAT (网络地址转换)功能实现自动配置即可实现访问外网功能。

  1. 查看所有网卡信息:

    ifconfig -a
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.154.133  netmask 255.255.255.0  broadcast 192.168.154.255inet6 fe80::b52c:a0e6:1419:116b  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:f0:76:35  txqueuelen 1000  (以太网)RX packets 102259  bytes 150687397 (150.6 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 13950  bytes 938511 (938.5 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.17.218  netmask 255.255.255.0  broadcast 192.168.17.255inet6 240e:47c:680:2899:56c0:dff:d5fe:b1aa  prefixlen 64  scopeid 0x0<global>inet6 240e:47c:680:2899:18e7:3cfa:5fad:bbe  prefixlen 64  scopeid 0x0<global>inet6 fe80::a25b:a66f:67e7:3e67  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:f0:76:3f  txqueuelen 1000  (以太网)RX packets 426  bytes 474569 (474.5 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 403  bytes 44762 (44.7 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (本地环回)RX packets 308  bytes 26853 (26.8 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 308  bytes 26853 (26.8 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  2. 启用网卡(如已启用则跳过该步骤),其中 ens36 是设置 bridged 模式的网卡。

    sudo ifconfig ens36 up
    
  3. 修改网络信息配置

    cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.back # 备份
    vim /etc/netplan/01-network-manager-all.yaml
    # Let NetworkManager manage all devices on this system
    network:ethernets:ens33:dhcp4: truedhcp4-overrides:route-metric: 100# addresses: [192.168.1.110/24]# gateway4: 192.168.1.1# nameservers:# addresses: [192.168.1.1]ens36:dhcp4: trueversion: 2bridges:br0:interfaces: [ens36]dhcp4: noaddresses:- 192.168.1.110/24nameservers:addresses: [8.8.8.8]routes:- to: 0.0.0.0/0via: 192.168.1.1metric: 1000#  renderer: NetworkManagernetplan apply
    reboot
    
  4. 重启后查看验证网路

    route -n
    内核 IP 路由表
    目标            网关            子网掩码        标志  跃点   引用  使用 接口
    0.0.0.0         192.168.154.2   0.0.0.0         UG    100    0        0 ens33
    0.0.0.0         192.168.1.1     0.0.0.0         UG    1000   0        0 br0
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
    192.168.154.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33
    192.168.154.2   0.0.0.0         255.255.255.255 UH    100    0        0 ens33ping baidu.com
    ...ping host ip
    ...
    

关于双网卡无法上网问题

当在虚拟机网络中设置完 VMnet0 桥接的 IP 地址等信息,打开网络后,发现网络不通。

但如果关闭 VMnet0,只保留 VMnet8,网络又是可行的,由此考虑到可能是网卡优先级的配置问题。

通过上面可以发现 br0 的跃点比 ens33 的 metric 要高,而 metric 越低,其优先级越高,因此按上面操作来一般没问题的;如果这两个网卡的 metric 值反过来,那么会造成无法上网的问题,因为本身我们的有线网口是没有联网的,但优先级又比联网的网卡优先级高,所以会出现 ping 不通外网的情况。

假设需要临时调整 ip / gateway / metric 等,可以使用 route 命令,而避免更改网络配置表文件,关于 route 命令使用可看 Linux 路由表说明 。


http://chatgpt.dhexx.cn/article/mahYbj45.shtml

相关文章

Ubuntu18.04 配置网卡

2019/10/29, Ubuntu Server 18.04 摘要&#xff1a;Ubuntu Server 18.04 采用netplan作为网络配置管理&#xff0c;修改IP使其连上网络&#xff0c;修改替换软件源 修改网卡配置# 首先使用ip a查看当前网卡名称&#xff1a; 可以看到eth0就是我们的网卡名称&#xff0c;这个要…

linux Ubuntu网卡配置,Windows 7下用VirtualBox安装Ubuntu网卡配置

Windows 7下用VirtualBox安装Ubuntu&#xff0c;要求Ubuntu能连上互联网&#xff0c;同时在Ubuntu中配置SSH、FTP、NFS服务&#xff0c;能从Win7进行访问。 此时Linux虚拟机需要两块网卡&#xff0c;一块使用NAT方式(网络地址翻译网络)连接&#xff0c;用于连接互联网&#xff…

Ubuntu 双网卡配置优先级

Ubuntu 双网卡配置优先级 作者&#xff1a;Bright Xu Ubuntu的网卡配置跟CentOS不太一样。 更多请参考&#xff1a;CentOS 双网卡配置优先级 根据业务需要&#xff0c;有时候服务器需要两张网卡&#xff0c;一张用于访问外网&#xff0c;另一种用于连接内网。 如果在安装系统是…

ubuntu配置网卡

第一步&#xff1a;查看网卡信息 输入ifconfig命令查看网卡信息&#xff0c;下图红圈处就是网卡名称。 第二步&#xff1a;配置网卡文件 注意&#xff1a;不同的linux系统&#xff0c;网卡配置文件是不同的&#xff0c;这里ubuntu的网卡配置文件是/etc/network/interfaces。 输…

Ubuntu18.04  网卡配置

Ubuntu18.04 网卡配置 Ubuntu18.04网卡配置&#xff0c;不同于其他Linux网卡配置&#xff0c;Ubuntu18.04采用的是 Netplan ,想要了解具体可查看官网。 1、设置网络为&#xff1a;桥接网卡 2、在宿主电脑上使用管理员输入CMD 命令 ipconfig /all 查看子网掩码&#xff…

ubuntu16.04配置网卡

第一步&#xff1a;查看网卡信息 输入ifconfig命令查看网卡信息&#xff0c;下图红圈处就是网卡名称。 第二步&#xff1a;配置网卡文件 注意&#xff1a;不同的linux系统&#xff0c;网卡配置文件是不同的&#xff0c;这里ubuntu的网卡配置文件是/etc/network/interfaces。 …

Ubuntu配置网卡信息(ip、网关、子网掩码、dns)

目录 一、前言二、配置网卡信息三、注意事项 一、前言 本文介绍了Ubuntu系统下配置网卡的信息&#xff0c;包含网卡的ip地址、网关、子网掩码和dns。   网卡的ip地址可以设置成动态&#xff08;DHCP&#xff09;或静态的&#xff0c;网关和掩码根据实际需求选择是否设置。dns…

idea如何用git更新和提交代码

一、git更新操作 第一步&#xff1a; 在提交项目之前必须先对项目进行更新&#xff0c;此项特别重要&#xff0c;如果不进行更新&#xff0c;别人有项目提交到服务器上&#xff0c;那么你的项目将会提交不上去&#xff0c;使用git解决冲突会比较麻烦&#xff0c;即使你解决了冲…

gitee更新代码库

步骤&#xff1a; 克隆仓库(有则省略此步) git clone https://gitee.com/master_wei/trainticketsale_fork.git 一、同步远程仓库信息 git pull origin master …

Git更新代码到本地

一.首先查看git 远程仓库的地址 git remote -v 二,更新代码本地到仓库两种方式&#xff1a; /方法一 $ git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master$ git log -p master.. origin/master//比较本地的仓库和远程参考的区别$ git …

git强制更新本地代码,git pull无法更新本地代码,git pull显示更新成功但是本地并没有拉去到最新的代码

git pull之后看见没有&#xff0c;看见了吧&#xff0c;Already up to date. 操作了N遍&#xff0c;但是当对比本地和远程库之后&#xff0c;发现自己本地的代码根本就不是最新的&#xff0c; 怎么解决&#xff1f; 强制更新&#xff0c;将本地代码更新为仓库里最新的代码&a…

Git如何更新远程仓库代码到本地

1.首先可以暂存本地的修改&#xff0c;如果本地没有修改&#xff0c;则会显示“没有要保存的本地修改” git stash 2.执行命令会找到项目重新拉取代码进行更新&#xff0c;可以看到该程序有更新。 git fetch --all3.执行命令进行更新文件的下载覆盖&#xff0c;下面会列出哪些…

Gitee上传、更新仓库代码

Gitee上传、更新仓库代码 Gitee上传1、进入到Gitee中&#xff0c;并创建该项目的远程仓库。2、进入本地你想要上传的文件目录下&#xff0c;右键单击空白处&#xff0c;点击**Git Bash Here**。3、配置你的用户名和邮箱4、初始化本地仓库5、添加项目目录下所有文件至本地仓库6、…

git命令更新代码

拉取代码&#xff1a; git pull 推本地代码上去&#xff1a; 1、git status 2、git add [filename1] [filename2] 3、git commit [filename1] -m “提交信息说明” 4、git push 回退 1、退回至缓存区的coding回退 git reset [filename1] 2、会退到制定版本 git rese…

如何使用git更新别人的代码

文章目录 如何使用git更新别人的代码问题说明省流问题示例操作步骤总结总结 如何使用git更新别人的代码 问题说明 当自己git clone别人的代码之后&#xff0c;代码一直停留到本地电脑上&#xff0c;而你就跑了一次程序就搁置了。 后来有一天你想再次运行该代码&#xff0c;但…

更新github上的代码

昨晚熬夜写完了“git上传本地项目代码到github”的任务&#xff0c;早上来公司先把早上的工作完成后&#xff0c;抽点时间继续来继续更新文章 更新github上的代码 一、克隆代码 1、把大神的代码clone到本地&#xff0c;或者clone自己github上的代码使用命令 git clone http…

git版本如何更新

Windows中怎么更新git版本 直接在桌面右键&#xff1a;Git Bash Heregit2.17.1版本之前 &#xff1a;git updategit2.17.1版本之后 &#xff1a;git update-git-for-windows

Git 提交代码和更新代码

首先&#xff0c;操作之前一定要看清分支&#xff01;&#xff01; 其次&#xff0c;提交代码之前一定要先更新代码&#xff01;&#xff01; git branch -----查看当前分支 git pull -----更新代码到本地 提交代码&#xff1a; 1、在本地修改相应文…

git更新本地代码

IDEA中Git的更新/提交/还原方法 记录一下在IDEA上怎样将写的代码提交到GitHub远程库&#xff1a; 下面这个图是基本的提交代码的顺序&#xff1a; 1. 将代码Add到stage暂存区 本地修改了代码后&#xff0c;需先将代码add到暂存区&#xff0c;最后才能真正提价到git仓库。 首先…

git使用教程2-更新github上代码

前言 前面一篇已经实现首次上传代码到github了&#xff0c;迈出了装逼第一步&#xff0c;本篇继续讲如何把本地更新的代码同步更新到github上 一、clone代码 1.把大神的代码clone到本地&#xff0c;或者clone自己github上的代码&#xff0c;使用指令&#xff1a; >git clone…