首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ubuntu 配置虚拟机网络桥接模式

Ubuntu 配置虚拟机网络桥接模式

作者头像
为为为什么
发布于 2022-08-06 05:28:29
发布于 2022-08-06 05:28:29
6K0
举报
文章被收录于专栏:又见苍岚又见苍岚

在开启虚拟机时,需要宿主与虚拟机网络连通并可以上互联网,需要配置网络桥接模式,本文记录配置方法。

桥接模式

  • 桥接模式就是将主机网卡与虚拟的网卡利用虚拟网桥进行通信。
  • 类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。
  • 在桥接模式下,虚拟机IP地址需要与主机在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。

桥接模式下的所有虚拟机都是和主机是在同一网段的,可以把它们看成是"平等"的关系,桥接模式下虚拟机和物理的总数不能超过网段容纳的最大主机数量

实际需求

  • 当前主机网络由一根网线插入网口提供
  • 需要开启若干台虚拟机,主机与虚拟机可以相互通信
  • 宿主机与虚拟机可以上网
  • 宿主机与虚拟机有静态 IP

解决思路

  • 使用网络桥接模式,建立网桥
  • 将宿主机与虚拟机挂载在同一个网桥上共享网络
  • 为二者分别设置静态IP

解决方案

  • ifconfig 查看当前网络状态
代码语言:javascript
AI代码解释
复制
ifconfig

  • 当前没有配置网桥,本地地址为 DHCP 动态分配
建立网桥
  • 使用网络管理器创建网桥最简单的方式就是通过nm-connection-editor。这款GUI(图形用户界面)的工具允许你傻瓜式地配置一个网桥,启动nm-connection-editor。
代码语言:javascript
AI代码解释
复制
nm-connection-editor

  • 此时我们宿主机有默认的以太网连接,没有手动配置网桥
  • 点击左下角的 + ,添加一个网桥,选择桥接
  • 现在,开始配置网桥,包括它的名字和所桥接的连接。如果没有创建过其他网桥,那么默认的网桥接口会被命名为bridge0
挂载本地网络
  • 创建网桥的目的是为了通过网桥共享你的以太网卡接口,所以你需要添加以太网卡接口到网桥。在图形界面添加一个新的“桥接的连接”可以实现上述目的。
  • 我们需要将宿主机的网络挂载到网桥上,点击增加按钮,选择以太网,建立从机
  • 从机配置界面,以太网选项卡中,设备选择当前的网卡:
  • 常规选项卡中勾选前两个,之后保存从机配置选项:
  • 切换到IPv4 设置标签,为网桥配置DHCP或者是静态IP地址
  • 此处我们添加静态IP,设置子网掩码、网关和DNS服务器,并保存
  • 现在新增的网桥连接被创建在桥接窗口里。因为已经从属与网桥,以前配置好的有线连接 就不再需要了,原来的有线连接可以删除了。
  • 等一会或重启宿主机可以看到网络配置默认为 bridge0 从机 1
  • 使用 ifconfig 查看网络配置:
  • 主要的网卡已经切换为 bridge0,并使用了我们设置的IP
  • 之前的网卡enp1s0已经没有 IP 了

至此,网桥已经建立,宿主机静态IP已经设置好了,接下来配置虚拟机

建立虚拟机网络
  • 使用 virt -install 创建虚拟机时,网络配置参数:
代码语言:javascript
AI代码解释
复制
--network bridge=bridge0

  • 进入虚拟机
方法一
代码语言:javascript
AI代码解释
复制
network:
  ethernets:
    enp1s0:
      match:
        macaddress: 52:54:00:fd:fb:17
      dhcp4: false
      dhcp6: false
      wakeonlan: true
      addresses: 
        - 192.168.1.111/24
      gateway4: 192.168.1.255
      nameservers:
        addresses: [114.114.114.114, 8.8.8.8]

  • 此处我们设置IP为 111,应用配置
代码语言:javascript
AI代码解释
复制
sudo netplan apply

方法二

有时 netplan 文件夹下没有文件,可以采用如下方法

  • 需要编辑2个文件
代码语言:txt
AI代码解释
复制
- `/etc/network/interfaces`(配置IP和网关)
- `/etc/resolv.conf`(配置DNS服务器)修改 
代码语言:javascript
AI代码解释
复制
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp1s0
allow-hotplug enp1s0
# iface enp1s0 inet dhcp
iface enp1s0 inet static
address 192.168.1.111
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255

# This is an autoconfigured IPv6 interface
iface enp1s0 inet6 auto

  • 其中

配置

含义

auto enp1s0

开机自动连接网络

iface enp1s0 inet static

设置静态IP

iface enp1s0 inet dhcp

dhcp 自动获取IP

address 192.168.1.111

静态 IPv4地址

netmask 255.255.255.0

子网掩码

gateway 192.168.1.1

网关

broadcast 192.168.1.255

广播地址(也可以不写)

  • 配置 /etc/resolv.conf 文件,设置 dns
代码语言:javascript
AI代码解释
复制
nameserver 192.168.1.1
nameserver 114.114.114.114

  • 重启网络(debian 系统)
代码语言:javascript
AI代码解释
复制
service networking restart

测试
  • ifconfig 查看虚拟机网络状态
代码语言:javascript
AI代码解释
复制
$ ifconfig
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.111  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2409:8a1e:8fc7:3bc0:5054:ff:fefd:fb17  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::5054:ff:fefd:fb17  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:fd:fb:17  txqueuelen 1000  (Ethernet)
        RX packets 39141  bytes 2699714 (2.5 MiB)
        RX errors 0  dropped 24226  overruns 0  frame 0
        TX packets 503  bytes 77888 (76.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2126  bytes 818164 (798.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2126  bytes 818164 (798.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  • 此时可以连接互联网,宿主机和虚拟机可以相互ping通,也都有各自的静态 IP

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年11月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ubuntu 20.04 设置静态IP
服务器环境需要有静态的 IP 用于SSH登陆,本文记录 ubuntu 系统下设置静态IP的方法。 解决方案 确定上网使用的网卡 修改 NetworkManager 配置文件内容 确定网卡 ifconfig 命令可以查看当前网络配置 $ ifconfig enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.4 netmask 255.255.255.0 broadcast 192.16
为为为什么
2022/08/06
3.3K0
Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式
这篇文章写的不错:https://www.cnblogs.com/luxiaodai/p/9947343.html
一只胡说八道的猴子
2020/12/11
2.2K0
Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式
记录虚拟机桥接模式不能上网问题的解决方法「建议收藏」
开启主机的VMware DHCP Service 服务,按下win+R 打开运行小窗口,输入services.msc,回车打开服务管理器
全栈程序员站长
2022/08/12
9K1
记录虚拟机桥接模式不能上网问题的解决方法「建议收藏」
VMware虚拟机桥接网络设置固定静态IP
平时使用虚拟机的时候都是使用的桥接网络,这样比较方便虚拟机之间,以及虚拟机和主机、外部网络的联通。但是默认的桥接网络是动态设置IP地址的,这样就导致虚拟机重启之后可能会变化IP,对于ssh操作非常不便。本篇文章分享一下如何将虚拟机的IP设置成固定IP。
Hopetree
2023/07/21
7.4K0
VMware虚拟机桥接网络设置固定静态IP
VMware安装Linux虚拟机之桥接模式网络配置图文详解(2)
---传送门--> 可能是史上最详细的VMware安装Centos 6.8 minimal版图文教程
非著名运维
2022/06/22
1.4K0
VMware安装Linux虚拟机之桥接模式网络配置图文详解(2)
libvirt kvm 虚拟机上网 – Bridge 桥接
东东东
2016/09/29
13K0
libvirt kvm 虚拟机上网 – Bridge 桥接
桥接模式?NAT模式?深入原理,一文带你彻底搞清楚!
安装好虚拟机以后,在网络连接里面可以看到多了两块网卡:【ps:为什么没有 桥接模式的网卡?看了后面就明白了】
方才编程_公众号同名
2024/09/19
6.5K0
桥接模式?NAT模式?深入原理,一文带你彻底搞清楚!
Docker实践之09-高级网络配置
当Docker启动时,会自动在主机上创建一个名为docker0虚拟网桥,实际上是Linux的一个bridge,可以理解为一个软件交换机,它会在挂载到它的网口之间进行转发。 同时,Docker随机分配一个本地未占用的私有网段中的一个地址给docker0接口。比如典型的172.17.0.1,掩码为255.255.0.0。此后启动的容器内的网口也会自动分配一个同一网段(172.17.0.0/16)的地址。 当创建一个Docker容器的时候,同时会创建了一对veth pair接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即一端在本地并被挂载到docker0网桥,名称以veth开头(例如vethb305ad8)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。 Docker创建了在主机和所有容器之间一个虚拟共享网络。
编程随笔
2022/09/16
1.5K0
Docker实践之09-高级网络配置
CentOS6.3 KVM下设置网卡为桥接模式
CentOS6.3 KVM下设置网卡为桥接模式 KVM的默认网络模式为NAT,就是说借助宿主机模式上网,现在我们想改成桥接模式,这样外界就可以直接和宿主机里的 虚拟机通讯了。 1,首先看一下默认的网络设置 # cat /etc/libvirt/qemu/networks/default.xml <network>   <name>default</name>   <uuid>1f118032-0345-4725-adcf-6b94f6aca19c</uuid>   <bridge name="virbr0" />   <mac address='52:54:00:F1:6B:6E'/>   <forward/>   <ip address="192.168.122.1" netmask="255.255.255.0">     <dhcp>       <range start="192.168.122.2" end="192.168.122.254" />     </dhcp>   </ip> </network> 2,再看一下虚拟机配置文件里面的网络设置 #cat /etc/libvirt/qemu/ubuntu10.04.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:   virsh edit ubuntu10.04 or other application using the libvirt API. --> <domain type='kvm'>   <name>ubuntu10.04</name>   <uuid>2eeb1395-39a2-a169-4da3-f22b20a1d34f</uuid>   <memory unit='KiB'>1048576</memory>   <currentMemory unit='KiB'>1048576</currentMemory>   <vcpu placement='static'>1</vcpu>   <os>     <type arch='x86_64' machine='rhel6.3.0'>hvm</type>     <boot dev='hd'/>   </os>   <features>     <acpi/>     <apic/>     <pae/>   </features>   <clock offset='utc'/>   <on_poweroff>destroy</on_poweroff>   <on_reboot>restart</on_reboot>   <on_crash>restart</on_crash>   <devices>     <emulator>/usr/libexec/qemu-kvm</emulator>     <disk type='file' device='disk'>       <driver name='qemu' type='raw' cache='none'/>       <source file='/var/lib/libvirt/images/ubuntu10.04.img'/>       <target dev='vda' bus='virtio'/>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>     </disk>     <disk type='block' device='cdrom'>       <driver name='qemu' type='raw'/>       <target dev='hdc' bus='ide'/>       <readonly/>       <address type='drive' controller='0' bus='1' target='0' unit='0'/>     </disk>     <controller type='usb' index='0'>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>     </controller>     <controller type
三杯水Plus
2018/11/14
1.9K0
linux 虚拟网络_macvlan原理
macvlan是Linux操作系统内核提供的网络虚拟化方案之一,更准确的说法是网卡虚拟化方案。它可以为一张物理网卡设置多个mac地址,相当于物理网卡施展了影分身之术,由一个变多个,同时要求物理网卡打开混杂模式。针对每个mac地址,都可以设置IP地址,本来是一块物理网卡连接到交换机,现在是多块虚拟网卡连接到交换机。macvlan应该很简单。
全栈程序员站长
2022/09/22
1.9K0
在Ubuntu20上创建桥接网络和虚拟机
之前常用的包含在 net-tools 工具包里的命令 ifconfig、netstat 已经被 iproute2 工具包里的 ip 等命令所取代,以后应当尽量使用新命令。
dhyuan
2022/05/30
2.7K0
在Ubuntu20上创建桥接网络和虚拟机
CentOS6 最小化安装KVM 详细教程
shaonbean
2018/01/02
1.4K0
CentOS6 最小化安装KVM 详细教程
设置虚拟机桥接模式以及解决桥接模式上不了网以及ping不通主机的问题[通俗易懂]
选择VMnet0(桥接模式),选择与主机同名网卡 ,主机可在在网络中心查看网卡名称
全栈程序员站长
2022/08/12
13.3K0
设置虚拟机桥接模式以及解决桥接模式上不了网以及ping不通主机的问题[通俗易懂]
Linux 网络虚拟化 Macvlan(基于物理网络接口虚拟网络接口) 认知
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
山河已无恙
2024/03/18
1.8K0
Linux 网络虚拟化 Macvlan(基于物理网络接口虚拟网络接口) 认知
macOS VirtualBox 桥接模式 设置静态ip 且能和联网
https://blog.csdn.net/qq_25166683/article/details/83211617
用户7798898
2020/09/27
3.5K0
macOS VirtualBox 桥接模式 设置静态ip 且能和联网
如何配置Linux系统的IP地址?
如何配置Linux系统的IP地址,使其能够连接局域网甚至外网。其实这并不难,Linux系统网络配置的方法有多种。
码农编程进阶笔记
2021/07/20
26.3K0
Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)
自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求。容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信。下面将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker。前面已经在Docker容器学习梳理--基础知识(2)这一篇中详细介绍了Docker的网络配置以及pipework工具。 docker单主机容器通信 基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的网络环境下,
洗尽了浮华
2018/01/23
3.7K0
Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)
VMware虚拟机下ubuntu12配置NFS服务
摘要总结:本文主要介绍了如何在VMware虚拟机下安装Ubuntu 12,并配置NFS服务,包括服务器和客户端的安装、配置和测试。
Jack_Cui
2017/12/28
1.4K0
VMware虚拟机下ubuntu12配置NFS服务
xshell连不上虚拟机linux的解决办法_虚拟机linux大概什么配置
刚上手linux,我用的是VMare Workstation虚拟机,装的是Ubuntu操作系统,就遇到虚拟机不能上网问题,以及xshell连接虚拟机失败。网上找了好多相关问题的解决方案,在懵懵懂懂中终于解决了上述问题。记录一下,以供参考
全栈程序员站长
2022/09/28
3.2K0
xshell连不上虚拟机linux的解决办法_虚拟机linux大概什么配置
VirtualBox上Ubuntu Server虚拟机配置双网卡
VirtualBox上Ubuntu Server虚拟机需要同时访问内网和外网,但是特殊原因不能用桥接模式,所以就需要为虚拟机配置双网卡,一个分配外网,另一个分配内网。
星哥玩云
2022/07/04
1.7K0
推荐阅读
相关推荐
Ubuntu 20.04 设置静态IP
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档