设置ubuntu和CentOS的IP地址为静态地址


最近在玩ubuntu,发现如果系统中有podman容器处于开启状态,则在重启ubuntu后会出现找不到网卡,找不到网卡也就没有IP地址,这里需要再次重启ubuntu才能正常(解决方案见后文: 开机自动运行容器)。
在虚拟机上这样玩的时候,出现另一个问题就是,如果虚拟机使用的DHCP分配的IP地址,则IP地址会发生变化。那么如何才能设置静态的IP地址呢?

一、确认网关地址

首先需要知道网关地址,比如笔者的虚拟机网关地址为:192.168.1.2

如果是使用VMware虚拟机可以直接在虚拟机网络编辑器中查看网关地址:
在这里插入图片描述

二、修改配置文件

1.ubuntu

以笔者使用的ubuntu 21.10版本为例:

a.查看DHCP模式下的DNS信息

使用下面的命令查看DNS信息:

systemd-resolve --stautus

在这里插入图片描述

b. 修改/etc/netplan/00-installer-config.yaml文件

sudo vi /etc/netplan/00-installer-config.yaml

笔者的系统安装后默认内容为:

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp3s0:
      dhcp4: true
  version: 2

比如我们将IP地址固定为192.168.1.8,则修改为:

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      addresses: [192.168.1.8/24] 	# 新加行,固定IP地址,/24表示子网掩码为:255.255.255.0
      dhcp4: no					  	# 修改dhcp4,关闭dhcp4
      nameservers:					# 新加行,设置DNS服务器
      	addresses: [192.168.1.2]	# 新加行,设置DNS服务器地址,一般为网关地址
      routes:					   	# 新加行,设置路由
      - to: default         # 新加行
        via: 192.168.1.2			# 新加行,设置网关地址
  version: 2
  renderer: NetworkManager			# 新加行(静态IP非必加行),默认值为networkd,cockpit要求为NetworkManager

c.应用设置

使用下面的命令应用设置

sudo netplan apply

d.测试

systemd-resolve --status
ifconfig
curl www.163.com

在这里插入图片描述
可以看到一切正常

2. CentOS

以笔者的CentOS 8为例

a.修改配置

修改/etc/sysconfig/network-scripts目录下的配置文件,笔者的为ifcfg-ens33(网卡设备名不一样则名字也不一样),原内容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=de9eae99-0cca-4d5a-904c-db4904e7d420
DEVICE=ens33
ONBOOT=yes

假设将IP固定为192.168.1.10,修改为:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 由dhcp修改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=de9eae99-0cca-4d5a-904c-db4904e7d420
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.10 # 新加行,设置IP地址
NETMASK=255.255.255.0 # 新加行,设置子网掩码,固定值
GATEWAY=192.168.1.2 # 新加行,设置网关
DNS1=192.168.1.2 # 新加行,设置DNS

b.应用设置

修改配置完成后,需要让配置生效:

sudo nmcli c reload ens33
sudo nmcli c up ens33

在这里插入图片描述

c.测试

ifconfig
curl www.163.com

在这里插入图片描述

おすすめ

転載: blog.csdn.net/witton/article/details/121520623