vmware虚拟机中 ubuntu 20.04通过nat设置静态ip(固定ip)

前言

• 最近频繁使用ip地址进行登录,但是发现每次做一些配置,ip地址就会改变,用xshell连接就要换地址,就很烦!于是乎,就想将ip地址固定起来!(既然linux中,一切皆文件,那么这个ip地址也不例外)

• 下面两篇文章是,大多数人的教程!

• 《虚拟机中ubuntu20配置NAT静态IP踩坑记》

• 《vmware虚拟机配置ubuntu 18.04(20.04)静态IP地址》

虚拟机中ubuntu20配置NAT静态IP踩坑记 - 小白工程师修行记 - 博客园 (cnblogs.com)

vmware虚拟机配置ubuntu 18.04(20.04)静态IP地址 - 民工黑猫 - 博客园 (cnblogs.com)

• 可能你也尝试了这种方式,对小编来讲,觉得这有点不科学,于是乎,这边推文就来了!

• 提前声明:小编设置前,是将vmware的网络是默认的,如果你不确定,可以还原一下;再在控制台界面将网络适配器设置为nat模式即可。

01.用查看原来的ip地址:ip addr

• 相信很多人都会使用ifconfig来查看ip地址,但是,你会发现在这个版本的ubuntu中,命令都更新了!

bash 复制代码
ubuntu@ubuntu-virtual-machine ~ % ip addr                                   [0]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:2c:12:48 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.146.3/24 brd 192.168.146.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2c:1248/64 scope link 
       valid_lft forever preferred_lft forever

看到没,小编此时的ip地址是192.168.146.3/24,下图的虚拟机控制台也可以证明!

02.修改配置文件:01-network-manager-all.yaml

进入配置文件目录,

bash 复制代码
ubuntu@ubuntu-virtual-machine ~ % cd /etc/netplan/ && ls                    [1]
01-network-manager-all.yaml

ubuntu@ubuntu-virtual-machine netplan % sudo vim 01-network-manager-all.yaml    [0]
[sudo] ubuntu 的密码: 

01-network-manager-all.yaml文件内容如下:

bash 复制代码
# Let NetworkManager manage all devices on this system

network:
  ethernets:
    ens33:     #配置的网卡的名称
      addresses: [192.168.146.168/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.146.2   #网关地址
      nameservers:
         addresses: [8.8.8.8,8.8.4.4]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
  version: 2
  renderer: networkd    #指定后端采用systemd-networkd或者Network Manager,可不填写则默认使用systemd-workd

其中,address和gateway4,需要用到本机ip地址,在cmd中用ipconfig查看:

bash 复制代码
以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::5c7c:e0c3:1fbc:7d76%19
   IPv4 地址 . . . . . . . . . . . . : 192.168.146.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

注意,题目中提到的是nat配置,nat配置对应的是vmnet8,因此,只需要让虚拟机ubuntu的ip与192.168.146.1处于同一网段即可,可以把此处的192.168.146.1理解为主机的默认网关,你在前面配置文件中的gateway4: 192.168.146.2 #网关地址理解为虚拟机ubuntu的默认网关!(简言之,配置文件的address和gateway4末尾的数字,只要不是1就行!)

  1. 让配置生效:sudo netplan apply

配置好之后的ip addr,

bash 复制代码
buntu@ubuntu-virtual-machine netplan % ip addr                             [0]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:2c:12:48 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.146.128/24 brd 192.168.146.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2c:1248/64 scope link 
       valid_lft forever preferred_lft forever

切换回控制台界面,发现ip地址就变回来了!是不是很方便???

  1. 用xshell测试,

登录成功后的信息如下所示:

bash 复制代码
Connecting to 192.168.146.128:22...
Connection established.
To escape to local shell, press Ctrl+Alt+].

Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-55-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

84 updates can be installed immediately.
1 of these updates is a security update.
To see these additional updates run: apt list --upgradable

Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Mon Jun 14 22:51:37 2021 from 192.168.146.1

后记

• 哈哈哈,我是参考前辈的文章,Ubuntu Server 20.04 设置静态 IP,欢迎大家回访!

• 对了,每个版本都些许的差别,lsb_release -a展示出小编当前环境的配置信息,希望对您有用!

bash 复制代码
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.2 LTS
Release:	20.04
Codename:	focal
相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔6 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密6 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
皙然6 小时前
深入理解TCP流量控制
网络·网络协议·tcp/ip
内卷焦虑人士6 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
woho7788998 小时前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络
耗子会飞8 小时前
小白学习固定VM虚拟机的centos服务器的IP
运维·服务器·centos
门豪杰8 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
阿达_优阅达9 小时前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
IMPYLH9 小时前
Linux 的 chroot 命令
linux·运维·服务器