Ubuntu NAT模式下设置静态IP

目录

关于

NAT的限制

修改配置

虚拟网络编辑器配置

主机网络适配器配置(可以改)

虚拟机.yaml文件修改

使生效

总结与问题

问题


注:更改于2024/11/29,添加了NAT模式不能与外部网络设备建立TCP/IP的说明

关于

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

(该表截图至官网)

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

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

(该表格截图自官网)


NAT的限制

从上面的对比图可以看出:

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

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

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

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

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

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

如果你需要对为桥接模式配置静态IP,可以转到“Ubuntu桥接模式配置静态IP”

修改配置

主要配置三个方面:

  • 虚拟网络编辑器配置
  • 主机网络适配器配置
  • 虚拟机.yaml文件配置

虚拟网络编辑器配置

1. 在VMware中”编辑“->虚拟网络编辑器

2.对NAT模式的网卡进行更改配置(记住这个网卡的编号,这里是VMnet8

3.这里以192.168.74.1为例,子网就是192.168.74.0。(记住你的IP与网关):

        需要注意的是:

  • 如果你配的是192.168.x.x,那你的子网就是192.168.x.0,掩码255.255.255.0
  • 选择私网IP地址范围,私网网段:
    • A类:10.0.0.0 - 10.255.255.255
    • B类:172.16.0.0 - 172.31.255.255
    • C类:192.168.0.0 - 192.168.255.255
  • 不是必须选192.168开头,但是得知道IP相关知识
  • 网关不能与IP地址范围一致

4.点击”DHCP设置“

5.让你的IP在下面范围内,然后点击确定

6.点击NAT配置

7.修改网关,要求与你的IP不一致(记住你的网关),点击”确定“

8.点击确定

主机网络适配器配置(可以改)

  1. 搜索控制面板,点击“网络和Internet”。或者直接点击“查看网络状态和任务”到第三步

       2. 点击“查看网络状态和任务”

  3. 点击“更改适配器设置”

  4.选中网卡,右键点击“属性”

  5.跳出如下窗口,选中如下IPv4,点击属性


  6.进行IP配置,与上面的IP相同,DNS随意,能使就行。

  7.点击确定。

虚拟机.yaml文件修改

首先查看网络接口:

1.ctrl + alt + t打开终端,”ifconfig“查看网卡编号

这里的编号:en33

2. 依次输入以下命令:

cd /etc/netplan
ll
vi 00-installer-config.yaml   #可能名字略有不同

ll(小写l),主要是用来显示文件信息。这里找到以config.yaml结尾的文件

3.修改成如下格式

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

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

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

比如:

使生效

重启服务:

sudo systemctl restart NetworkManager  #对于使用NetworkManager的系统

#或者

sudo systemctl restart networking  #对于不使用NetworkManager的系统

还不好使就重启虚拟机(狗头)。

总结与问题

主要更改的地方:

1.VMware的虚拟网络编辑器

2.主机的网络适配器:

3.虚拟机中的.yaml格式文件

问题

如果遇到问题,可以检查:

以及确保你配置的IP在DHCP的IP范围内:

此外,如果你的虚拟机没有反应过来,比如你配置的是192.168.74.5,但ifconfig后显示的是192.168.74.1之类的情况,可以reboot重启一下虚拟机(狗头)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值