菜鸟科技网

命令配置IP的详细步骤是什么?

在Linux系统中,通过命令行配置IP地址是网络管理的基础技能,尤其适用于服务器或无图形界面的环境,不同发行版可能使用不同的网络配置工具,但核心逻辑一致,主要涉及网络接口配置文件、临时命令和动态配置协议(如DHCP)的设置,以下将详细介绍静态IP、动态IP及多IP的配置方法,并附常见问题解答。

命令配置IP的详细步骤是什么?-图1
(图片来源网络,侵删)

查看当前网络接口信息

配置IP前,需确认系统中的网络接口名称(如eth0、ens33、enp0s3等),使用ip aifconfig命令(需安装net-tools)查看接口列表及当前IP配置。

ip a

输出信息中,inet字段后为IPv4地址,inet6为IPv6地址,link/ether为MAC地址。

临时配置IP(重启失效)

若仅需临时修改IP(如测试环境),可使用ip命令,配置不会持久化,重启系统后恢复原设置。

  1. 配置静态IP
    sudo ip addr add 192.168.1.100/24 dev eth0  # 添加IP地址和子网掩码
    sudo ip link set eth0 up                      # 启用接口
    sudo ip route add default via 192.168.1.1     # 设置默认网关
  2. 配置动态IP(DHCP)
    sudo dhclient eth0  # 向DHCP服务器请求IP

永久配置静态IP

不同发行版的配置文件路径不同,以下以主流系统为例:

命令配置IP的详细步骤是什么?-图2
(图片来源网络,侵删)

Ubuntu/Debian(Netplan或ifupdown)

  • Netplan(Ubuntu 18.04+)
    配置文件位于/etc/netplan/目录下(如01-netcfg.yaml),编辑内容如下:

    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]

    保存后执行sudo netplan apply生效。

  • ifupdown(旧版Ubuntu/Debian)
    编辑/etc/network/interfaces文件:

    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 114.114.114.114

    执行sudo ifup eth0或重启网络服务sudo systemctl restart networking

    命令配置IP的详细步骤是什么?-图3
    (图片来源网络,侵删)

CentOS/RHEL/Rocky Linux(NetworkManager或ifcfg)

  • NetworkManager(推荐)
    使用nmtui(文本界面)或nmcli(命令行)配置:
    sudo nmcli con mod "eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114" connection.autoconnect yes
    sudo nmcli con up eth0
  • 传统ifcfg文件
    编辑/etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    ONBOOT=yes

    执行sudo ifup eth0sudo systemctl restart network

Arch Linux(systemd-networkd)

编辑/etc/systemd/network/eth0.network

[Match]
Name=eth0
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8 114.114.114.114

执行sudo systemctl restart systemd-networkd

配置多个IP地址(IP别名)

若需为一个接口分配多个IP,可通过以下方式:

  1. Netplan:在addresses字段添加多个IP,如addresses: [192.168.1.100/24, 192.168.1.101/24]
  2. ifcfg文件:创建别名文件(如ifcfg-eth0:0与主配置类似,仅修改DEVICEIPADDR
    DEVICE=eth0:0
    IPADDR=192.168.1.101
    NETMASK=255.255.255.0
    ONBOOT=yes
  3. ip命令:临时添加sudo ip addr add 192.168.1.101/24 dev eth0 label eth0:0

验证配置

配置完成后,使用以下命令验证:

ip a show eth0          # 查看接口IP
ping 8.8.8.8           # 测试网络连通性
ss -tuln | grep 80      # 检查端口监听

相关问答FAQs

Q1: 配置静态IP后无法上网,如何排查?
A: 首先检查/etc/resolv.conf中的DNS配置是否正确,确保网关地址与IP在同一网段;其次使用ping 192.168.1.1测试网关连通性,若失败检查物理链路或防火墙设置;最后验证ip route命令查看路由表是否包含默认路由。

Q2: 如何在Ubuntu 20.04中切换从静态IP改为DHCP自动获取?
A: 编辑Netplan配置文件(如/etc/netplan/01-netcfg.yaml),将dhcp4: no改为dhcp4: yes,删除addressesgateway4等静态字段,保存后执行sudo netplan apply即可生效。

分享:
扫描分享到社交APP
上一篇
下一篇