Ubuntu桥接模式设置静态IP

目录

关于

[NAT VS 桥接](#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,还要为其添加静态路由项。否则可能会造成网络问题。

相关推荐
Hacker_LaoYi25 分钟前
TCP/IP协议图--TCP/IP基础
网络·网络协议·tcp/ip
运维自动化&云计算27 分钟前
华为交换机与锐捷交换机端口链路聚合的配置
服务器·网络·华为
羊村懒哥28 分钟前
linux-安全-iptables防火墙基础笔记
linux·网络·安全
星原飞火41 分钟前
2-2-18-13 QNX系统架构之原生网络(Qnet)
网络·车载系统·系统架构·qnx·blackberry·qnet
CodeGrindstone1 小时前
Muduo网络库剖析 --- 架构设计
网络·c++·网络协议·tcp/ip
linnux领域1 小时前
使用ensp搭建内外互通,使用路由跨不同vlan通信。
网络
夏子曦1 小时前
网络——Socket与WebSocket
网络·websocket·网络协议
一只小灿灿2 小时前
Java 网络编程从入门到精通
java·开发语言·网络
IPFoxy6664 小时前
动态代理如何加强安全性
大数据·服务器·开发语言·网络·网络协议·tcp/ip·php