菜鸟科技网

Linux命令行如何正确配置IP地址?

在Linux系统中,通过命令行配置IP地址是系统管理和网络调试的基础技能,不同Linux发行版和版本可能使用不同的网络配置工具,但核心原理和常用命令具有共通性,以下将详细介绍通过命令行配置IP地址的方法,包括临时配置、永久配置、查看网络状态以及常见问题的解决方案。

Linux命令行如何正确配置IP地址?-图1
(图片来源网络,侵删)

临时配置IP地址

临时配置IP地址适用于测试场景或临时网络需求,重启网络服务或系统后配置会失效,主要使用ip命令(现代Linux系统推荐)或ifconfig命令(传统工具,部分系统可能需安装net-tools包)。

  1. 使用ip命令配置
    ip命令是iproute2包的一部分,功能强大且推荐使用。

    • 配置IP地址和子网掩码
      sudo ip addr add 192.168.1.100/24 dev eth0

      上述命令为eth0接口配置IP地址168.1.100,子网掩码为255.255.0/24表示前24位为网络位)。

    • 启用/禁用网络接口
      sudo ip link set eth0 up    # 启用eth0
      sudo ip link set eth0 down  # 禁用eth0
    • 添加默认网关
      sudo ip route add default via 192.168.1.1
    • 配置DNS服务器
      临时DNS可通过修改/etc/resolv.conf文件实现:
      sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf
      sudo echo "nameserver 114.114.114.114" >> /etc/resolv.conf
  2. 使用ifconfig命令配置
    若系统未安装ifconfig,可通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)安装。

    Linux命令行如何正确配置IP地址?-图2
    (图片来源网络,侵删)
    • 配置IP地址和子网掩码
      sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    • 启用/禁用网络接口
      sudo ifconfig eth0 up
      sudo ifconfig eth0 down

永久配置IP地址

永久配置需要修改系统的网络配置文件,具体方法因发行版而异,以下是主流发行版的配置方式:

  1. 基于Systemd的发行版(如Ubuntu 18.04+、CentOS 7+、Debian 10+)
    使用Netplan(Ubuntu 18.04+)或NetworkManager(CentOS 7+)进行配置。

    • 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使配置生效。

    • NetworkManager配置(CentOS 7+/RHEL 7+)
      使用nmtui(文本界面)或直接编辑/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
      DNS2=114.114.114.114
      ONBOOT=yes

      重启网络服务:sudo systemctl restart network

      Linux命令行如何正确配置IP地址?-图3
      (图片来源网络,侵删)
  2. 传统发行版(如Ubuntu 16.04及更早版本)
    编辑/etc/network/interfaces文件:

    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1

    配置完成后执行sudo ifup eth0sudo /etc/init.d/networking restart生效。

查看网络状态

配置完成后,需验证网络状态是否正确:

  • 查看IP地址配置
    ip addr show eth0          # 查看指定接口IP
    ip addr show              # 查看所有接口IP
  • 查看路由表
    ip route show
  • 测试网络连通性
    ping 8.8.8.8              # 测试外网连通性
    ping 192.168.1.1          # 测试网关连通性
  • 查看DNS解析
    nslookup www.baidu.com

常见网络配置问题及解决方法

  1. IP地址冲突
    若提示RTNETLINK answers: File exists,表示IP地址已被占用,可通过ip addr del 192.168.1.100/24 dev eth0删除原配置后重新添加。
  2. 网络服务启动失败
    检查配置文件语法是否正确,例如Netplan配置需使用sudo netplan --debug apply调试,NetworkManager可通过sudo nmcli connection show查看连接状态。

相关配置命令速查表

功能 ip命令 ifconfig命令
添加IP地址 ip addr add <IP>/<mask> dev <dev> ifconfig <dev> <IP> netmask <mask>
删除IP地址 ip addr del <IP>/<mask> dev <dev> 不支持
启用/禁用接口 ip link set <dev> up/down ifconfig <dev> up/down
添加默认网关 ip route add default via <GW> 不支持
查看接口信息 ip addr show <dev> ifconfig <dev>

相关问答FAQs

问题1:如何查看当前系统的网络接口名称?
解答:使用ip link showls /sys/class/net/命令可以列出系统中所有网络接口的名称。ip link show会显示类似2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>的输出,其中eth0即为接口名称。

问题2:配置IP地址后无法上网,如何排查?
解答:首先检查IP地址、子网掩码、网关和DNS配置是否正确,使用ping <网关IP>测试本地网络连通性,再通过ping 8.8.8.8测试外网连通性,若网关可通但外网不通,检查DNS配置是否正确,可尝试临时替换为公共DNS(如8.8.8.8),若仍无法解决,检查防火墙规则(如sudo iptables -L)或路由表(ip route show)是否阻止了网络访问。

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