当前位置: 首页 > article >正文

Ubuntu桥接模式设置静态IP

目录

关于

NAT  VS  桥接

为桥接模式配置静态IP

编辑虚拟机设置

虚拟网络编辑器

选择要桥接的网络适配器

固定桥接该网络适配器

确定静态IP与网关

虚拟机内更改

桌面可直接更改设置

非桌面版可以更改配置文件

关于Windows网络适配器(可以改)

补充


说明

本文为 Ubuntu18.04 桥接模式分配了固定IP。(其他版本可以参考)。

如果你需要该虚拟机与外部网络设备建立TCP/IP连接,建议使用桥接模式配置静态IP。

关于

与物理交换机相似,虚拟交换机也能将网络连接组件连接在一起。虚拟交换机又称为虚拟网络,其名称为 VMnet0、VMnet1、VMnet2,以此类推。有少量虚拟交换机会默认映射到特定网络

(该表格截图自官网)

: 在 Linux 主机系统上,虚拟交换机的名称采用小写字母,如 vmnet0。

VMware的几种网络模式的对比图:

(该表格截图自官网)

NAT  VS  桥接

从上面的表格可以看出来,NAT与桥接最大的区别:

  • 桥接网络连接模式下,虚拟机在网络中具有唯一标识
  • NAT网络连接模式下,虚拟机在外部网络中无唯一标识

也就是说,NAT 通常不允许从网络外部发起连接。在实际环境中,这会导致一部分需要从服务器计算机发起连接的 TCP 和 UDP 协议无法自动运行或根本不运行。

在默认的 NAT 配置中,外部网络中的计算机无法发起对虚拟机的连接。

那在NAT模式下,虚拟机能对别的服务器发起SSH连接,但是不能通过客户端对虚拟机发起SSH访问。

因为,虚拟机在外部网络中不具有唯一标识。


为桥接模式配置静态IP

编辑虚拟机设置

依次点击“编辑虚拟机设置” -> “桥接模式”

如果在笔记本电脑或其他移动设备上使用虚拟机,还需要勾选“复制物理网络连接状态”


虚拟网络编辑器

因为咱们要配置静态IP,要求咱们的静态IP网段和主机的某一个网络适配器的网段一致。

所以咱们还要先选好,固定桥接哪一个网络适配器。

选择要桥接的网络适配器

(1)搜索控制面板

(2)点击“网络和Internet”

(3)点击“网络和共享中心”

(4)点击“更改适配器设置”

(5)选中一个网络适配器,查看其属性。我这选的无线网卡:

(6)查看其名称:

固定桥接该网络适配器

(1)点击“虚拟网络编辑器”

(2)点击“更改设置”

(3)将自动改为你刚刚选定的网卡

确定静态IP与网关

刚刚选好网络适配器,咱们现在需要知道该网络适配器的网段与默认网关

Win + R输入cmd,在cmd中输入“ipconfig

找到你选定的网络适配器,查看网段与默认网关。

你需要在该网段内选定一个IP,作为你的虚拟机IP地址,要求不能与现有的设备的IP重合。

且默认网关就是该网卡的默认网关。

比如,我的网段是:192.168.17.x,默认网关是192.168.17.217

我设置了静态IP为:192.168.17.17,网关配置:192.168.17.217

虚拟机内更改

桌面可直接更改设置

(1)点击桌面又上方小三角

(2)下拉到网络,点击设置

(3)在“IPv4”中输入IP与网关,掩码一般是255.255.255.0

        然后点击“应用”

桌面版这么配置挺方便的,而且更改也狠方便。

如果是桌面版挺推荐这么配置的。


非桌面版可以更改配置文件

(1)首先需要查看网络接口

CTRL + ALT + T,输入:

ip link show
#或者
ifconfig

如图:

lo指环回,这里ens33是我的网络接口,记住你的这个网络接口的编号

(2)切换到“/etc/netplan”

cd /etc/netplan/

如图:

用ls显示该文件夹下文件,我们要编辑的就是这个.yaml文件(名字可能略有不同)

(3)编辑该.yaml文件:

sudo vim 01-network-manager-all.yaml

关于.yaml内部:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

咱们需要改变到下面这个格式:

network:
  version: 2
  renderer: NetworkManager
  ethernets:    
    ens33:       #(需要更改与你的接口一致)具体的网络接口名称,对应于物理网络接口
      dhcp4: no
      addresses: [192.168.17.17/24]     #(与你的IP一致),一般默认/24,对应掩码255.255.255.0
      gateway4: 192.168.17.217      #(与你网关一致)
      nameservers:
        addresses: [192.168.17.217]  #(与你网关一致)虚拟机的DNS

YAML 格式对缩进非常敏感(确保每个层级的缩进使用相同的空格数,通常是两个或四个空格),缩进用于表示层级关系。在这个配置文件中,每个缩进级别通常代表一个层级,例如:

  • 第一个缩进级别(network:、version:、renderer:、ethernets:)是顶级配置。
  • 第二个缩进级别(ens33:)是 ethernets 下的一个接口配置。
  • 第三个缩进级别(dhcp4:、addresses:、gateway4:、nameservers:)是 ens33 接口下的配置项。
  • 第四个缩进级别(no、[192.168.17.17/24]、192.168.17.217、addresses:)是具体配置项的值或子配置。

且每个冒号" : "后面都要空格。

(4)使其生效:

sudo netplan apply
sudo systemctl restart networking

如图:

你这个时候可以ping试试,如果网络没问题就问题不大了。

如果ifconfig后还没有改到你配置的静态IP,那很可能是你的虚拟机没反应过来,可能需要重启。

关于Windows网络适配器(可以改)

如果你选定的网络适配器采用的是DHCP获取的IP,那么你的适配器可能就会更改网段和默认网关。

那么解决方法有两个:

  • 一个办法是,网络适配器更改网段后,只需要去更改虚拟机中的固定IP,感觉桌面版的更改起来还是很方便的,毕竟一般情况下,你的网络适配器不会频繁更换网段
  • 一个办法是,将你主机的网络适配器也更改成静态IP(不太推荐无线网卡这么干,谨慎对上网有影响)

关于更改Windows上的网络适配器为静态IP:

(1)还是控制面板中网络适配器的属性的界面:

        在你选中的网卡中,点击”Internet协议版本4(TCP/IPv4)”,然后点击“属性”:

(2)更改:

补充

重要说明:

不要轻易对主机上的两个及以上的网络适配器配置静态IP,否则可能会有以下提示:

1. 默认网关是网络设备(如路由器)的 IP 地址,它用于转发数据包到其他网络。当你的计算机需要发送数据到一个不在同一子网的目的地时,它会将数据发送到默认网关,然后由网关决定如何将数据转发到正确的目的地。

2. 这段警告信息的意思是,如果你的计算机配置了多个默认网关,并且这些网关位于两个不相互连接的网络上(例如,一个在 Intranet 内部网络上,另一个在 Internet 上),那么这可能会导致网络连接问题。

3. 一般情况下,一个计算机系统只能有一个默认网关,用于处理所有未明确路由的网络流量。 如果你配置了多个默认网关,计算机可能无法确定应该使用哪个网关来发送特定的流量,这可能导致数据包被发送到错误的网络,从而造成连接问题。

你如果想对多个网络适配器配置静态IP,还要为其添加静态路由项。否则可能会造成网络问题。


http://www.kler.cn/a/420833.html

相关文章:

  • 【后端面试总结】golang channel深入理解
  • 千益畅行,旅游卡有些什么优势?
  • MySql:理解数据库
  • DevOps工程技术价值流:GitLab源码管理与提交流水线实践
  • Figma入门-自动布局
  • 【分页查询】.NET开源 ORM 框架 SqlSugar 系列
  • 【错误记录】Android Studio 开发环境内存占用过多 ( 记录内存使用情况 )
  • 【系统架构设计师】真题论文: 论无服务器架构及其应用(包括解题思路和素材)
  • 在物理机上安装 Jupyter 的完整指南
  • Spark 内存管理机制
  • androidstudio 最新继承 proto kts 方式
  • WEB开发: 丢掉包袱,拥抱ASP.NET CORE!
  • 代码随想录算法训练营第三十四天 | 62.不同路径 | 63. 不同路径 II | 343.整数拆分 | 96.不同的二叉搜索树
  • 【前端】JavaScript 中的创建对象模式要点
  • java 在方法里,开一个线程,如果报错,不影响原来的方法
  • spring boot有哪些不足之处?
  • NaviveUI框架的使用 ——安装与引入(图标安装与引入)
  • 使用PyPDF2工具加载pdf文件数据
  • Linux C/C++编程之动态库
  • 使用Grafana K6来测测你的系统负载能力
  • 前端禁用 页面复制粘贴
  • SpringBoot 构建在线家具商城:系统设计与技术实现
  • element-ui的下拉框报错:Cannot read properties of null (reading ‘disabled‘)
  • Qt入门6——Qt窗口
  • python学习笔记13 python中的函数(下)
  • 40分钟学 Go 语言高并发:【实战课程】性能瓶颈分析与优化实战