Linux系统的ECS实例如何设置静态IP地址

更新时间:
复制 MD 格式

本文主要介绍Linux系统的ECS实例如何设置静态IP地址。

背景信息

ECS实例的网络配置默认为DHCP模式,如果您需要将网络配置修改为Static静态模式,可参考本文进行操作。

说明

本文以CentOS 7.6操作系统为例。

操作步骤

步骤一:查看并记录Linux实例的IP地址和网关信息

  1. 登录Linux系统的ECS实例,执行以下命令,查看实例的IP地址和子网掩码。

    ifconfig

    系统显示类似如下。

    [root@aliyuntest ~]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 17.xxx.xxx.xx  netmask 255.255.255.0  broadcast 172.xxx.xxx.x
            ether 00:16:3e:0c:4f:c3  txqueuelen 1000  (Ethernet)
            RX packets 285116  bytes 217057111 (207.0 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 143703  bytes 40663281 (38.7 MiB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 509  bytes 102908 (100.4 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 509  bytes 102908 (100.4 KiB)
            TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
  2. 执行以下命令,查看实例的网关信息。

    route -n

    系统显示类似如下。

    [root@alxxx      : ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         172.xxx.xxx.53  0.0.0.0         UG    0      0        0 eth0
    169.xxx.0       0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.xxx.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0

您也可以执行以下命令,通过元数据从ECS实例内部获取实例的子网掩码、网关信息、IP地址。更多信息,请参见实例元数据

curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/netmask
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/gateway
curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/[$MAC_ID]/private-ipv4s

系统显示类似如下。

[root@aliyuntest ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:0c:4f:c3/netmask
255.255.255.0[root@aliyuntest ~]#
[root@aliyuntest ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:0c:4f:c3/gateway
172.xxx.xxx[root@aliyuntest ~]#
[root@aliyuntest ~]# curl http://100.100.100.200/latest/meta-data/network/interfaces/macs/00:16:3e:0c:4f:c3/private-ipv4s
["172.xxx.xxx.0"][root@aliyuntest ~]#
[root@aliyuntest ~]#
说明

请替换[$MAC_ID]为实际ECS实例的MAC地址。

步骤二:修改ECS实例的网络类型

  1. 执行以下命令,编辑配置文件。将BOOTPROTO的值修改为static,并将以上步骤中记录的IP地址网关信息子网掩码填写到该配置文件中。

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    示例如下。

    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=172.xxx.xxx
    GATEWAY=17x.xxx.253
    NETMASK=255.255.255.0
  2. 输入:wq并按回车键,保存并退出。

  3. 执行以下命令,重启网络服务。

    systemctl restart network