设置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信息:
1systemd-resolve --stautus
b. 修改/etc/netplan/00-installer-config.yaml文件
1sudo vi /etc/netplan/00-installer-config.yaml
笔者的系统安装后默认内容为:
1# This is the network config written by 'subiquity'
2network:
3 ethernets:
4 enp3s0:
5 dhcp4: true
6 version: 2
比如我们将IP地址固定为192.168.1.8,则修改为:
1# This is the network config written by 'subiquity'
2network:
3 ethernets:
4 ens33:
5 addresses: [192.168.1.8/24] # 新加行,固定IP地址,/24表示子网掩码为:255.255.255.0
6 dhcp4: no # 修改dhcp4,关闭dhcp4
7 nameservers: # 新加行,设置DNS服务器
8 addresses: [192.168.1.2] # 新加行,设置DNS服务器地址,一般为网关地址
9 routes: # 新加行,设置路由
10 - to: default # 新加行
11 via: 192.168.1.2 # 新加行,设置网关地址
12 version: 2
13 renderer: NetworkManager # 新加行(静态IP非必加行),默认值为networkd,cockpit要求为NetworkManager
c.应用设置
使用下面的命令应用设置
1sudo netplan apply
d.测试
1systemd-resolve --status
2ifconfig
3curl www.163.com
可以看到一切正常
2. CentOS
以笔者的CentOS 8为例
a.修改配置
修改/etc/sysconfig/network-scripts目录下的配置文件,笔者的为ifcfg-ens33(网卡设备名不一样则名字也不一样),原内容如下:
1TYPE=Ethernet
2PROXY_METHOD=none
3BROWSER_ONLY=no
4BOOTPROTO=dhcp
5DEFROUTE=yes
6IPV4_FAILURE_FATAL=no
7IPV6INIT=yes
8IPV6_AUTOCONF=yes
9IPV6_DEFROUTE=yes
10IPV6_FAILURE_FATAL=no
11NAME=ens33
12UUID=de9eae99-0cca-4d5a-904c-db4904e7d420
13DEVICE=ens33
14ONBOOT=yes
假设将IP固定为192.168.1.10,修改为:
1TYPE=Ethernet
2PROXY_METHOD=none
3BROWSER_ONLY=no
4BOOTPROTO=static # 由dhcp修改为static
5DEFROUTE=yes
6IPV4_FAILURE_FATAL=no
7IPV6INIT=yes
8IPV6_AUTOCONF=yes
9IPV6_DEFROUTE=yes
10IPV6_FAILURE_FATAL=no
11NAME=ens33
12UUID=de9eae99-0cca-4d5a-904c-db4904e7d420
13DEVICE=ens33
14ONBOOT=yes
15IPADDR=192.168.1.10 # 新加行,设置IP地址
16NETMASK=255.255.255.0 # 新加行,设置子网掩码,固定值
17GATEWAY=192.168.1.2 # 新加行,设置网关
18DNS1=192.168.1.2 # 新加行,设置DNS
b.应用设置
修改配置完成后,需要让配置生效:
1sudo nmcli c reload ens33
2sudo nmcli c up ens33
c.测试
1ifconfig
2curl www.163.com
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2021/2021-11-24-设置ubuntu和CentOS的IP地址为静态地址/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。