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