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
相关推荐
lixzest4 小时前
Linux 中,命令查看系统版本和内核信息
linux·运维·服务器
夕泠爱吃糖5 小时前
Linux 操作系统
linux·运维·服务器
专注VB编程开发20年5 小时前
winsock socket通讯为什么UDP服务器无法获取客户端IP?
服务器·tcp/ip·udp
G_H_S_3_6 小时前
【网络运维】 Linux:使用 Cockpit 管理服务器
运维·服务器·网络
Linux技术支持工程师6 小时前
二十八、【Linux系统域名解析】DNS安装、子域授权、缓存DNS、分离解析、多域名解析
linux·运维·服务器·缓存·centos
jim写博客6 小时前
linux进程概念(三)进程状态
linux·运维·服务器
Fantastic_sj7 小时前
TCP/UDP讲解及主要区别
网络协议·tcp/ip·udp
jc06207 小时前
Linux c网络专栏第四章io_uring
linux·运维·服务器
2401_858286118 小时前
OSE1.【Linux】练习题组1
linux·运维·服务器
liweiweili1269 小时前
在 Linux 中,定时任务(cron)
linux·运维·服务器