如何在Linux实例中配置静态IP地址?
操作场景
华为云公共镜像默认使用DHCP的方式动态获取IP地址,如果DHCP动态获取IP地址的方式无法满足业务需求,可参考本文在弹性云服务器实例中为网卡配置静态IP地址。
信息收集
在配置静态IP地址之前,需要获取当前Linux实例的IP地址、子网掩码和网关信息,请按照以下步骤获取:
- 登录弹性云服务器。
- 执行以下命令,查看实例的IP地址和子网掩码。
如下图显示实例当前的IP地址及网段为:172.19.126.101/15
ifconfig -a
如下图显示实例当前的子网掩码为:255.254.0.0
- 执行以下命令,查看实例当前的网关和默认路由信息。
如下图显示实例当前的网关为:172.10.0.1,默认路由使用eth0网卡。
根据以上步骤您可以获取到以下参数信息:
参数名称 |
参数值 |
---|---|
IP地址 |
172.19.126.101 |
子网掩码 |
255.254.0.0 |
网关地址 |
172.10.0.1 |
Centos 7/Centos 8/HCE2.0
Centos 7、Centos 8和HCE 2.0公共镜像均默认使用NetworkManager作为网络服务,DNS配置信息由DHCP获取。以网卡eth0为例配置静态IP的操作步骤如下:
- 执行以下命令修改网卡配置文件。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
将BOOTPROTO字段修改为static,并将信息收集中获取的IP地址、子网掩码、网关地址填写到该文件中,DNS信息根据业务实际情况写入,如果使用华为云默认的DNS可以参考华为云提供的内网DNS地址是多少?获取,修改后的内容如下所示:
DEVICE="eth0" BOOTPROTO="static" ONBOOT="yes" TYPE="Ethernet" STARTMODE="auto" USERCTL="no" IPADDR="172.19.126.101" NETMASK="255.254.0.0" GATEWAY="172.10.0.1" PEERDNS="no" DNS1="100.125.1.250" DNS2="100.125.129.250"
修改完成后保存退出。
- 执行以下命令使配置生效。
- 执行以下命令确认配置是否成功。
如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。
cat /etc/resolv.conf
如果回显nameserver显示与配置的DNS地址一致则代表DNS配置成功。
Ubuntu20/22
Ubuntu20、Ubuntu22公共镜像均默认使用NetworkManager作为网络服务,DNS配置信息由DHCP获取,由systemd-resolved服务维护。以网卡eth0为例配置静态IP的操作步骤如下:
- 执行以下命令修改网卡配置文件。
vim /etc/netplan/01-netcfg.yaml
将信息收集中获取的IP地址及网段、网关地址填写到该文件中,DNS信息根据业务实际情况写入,如果使用华为云默认的DNS可以参考华为云提供的内网DNS地址是多少?获取,修改后的内容如下图所示:
network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: true dhcp4: no addresses: [172.19.126.101/15] gateway4: 172.10.0.1 nameservers: addresses: [100.125.1.250,100.125.129.250] eth1: dhcp4: true eth2: dhcp4: true eth3: dhcp4: true eth4: dhcp4: true
- 执行以下命令使IP配置生效。
- 执行以下命令确认配置是否成功。
如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。
resolvectl
如果回显中对应网卡显示的DNS与配置一致则配置成功。