菜鸟科技网

Linux命令修改IP的具体步骤是什么?

在Linux系统中,通过命令行修改IP地址是系统管理员和开发人员常见的操作,尤其适用于服务器环境或没有图形界面的系统,Linux系统下修改IP地址的方法因网络管理工具的不同而有所差异,主流的工具有ifconfigip命令以及基于Netplan、NetworkManager的配置文件修改,以下将详细介绍不同场景下的IP修改方法,包括临时修改和永久修改,并针对不同发行版(如CentOS/RHEL、Ubuntu/Debian)提供具体操作步骤。

Linux命令修改IP的具体步骤是什么?-图1
(图片来源网络,侵删)

使用ifconfigroute命令临时修改IP(适用于传统网络工具)

ifconfig是传统的网络配置工具,虽然在较新的Linux发行版中逐渐被ip命令替代,但仍广泛使用,临时修改IP地址时,配置在系统重启后会失效。

  1. 查看当前网络接口
    执行ifconfig -aip addr show,列出所有网络接口,通常以太网接口名为eth0enpXsY,无线接口为wlan0

  2. 临时修改IP地址
    eth0接口为例,设置静态IP地址为168.1.100,子网掩码为255.255.0

    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

    若需启用接口,可添加up参数:sudo ifconfig eth0 up

    Linux命令修改IP的具体步骤是什么?-图2
    (图片来源网络,侵删)
  3. 配置默认网关
    使用route命令添加默认网关,例如网关地址为168.1.1

    sudo route add default gw 192.168.1.1
  4. 配置DNS服务器
    临时DNS修改可通过编辑/etc/resolv.conf文件实现:

    sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf

使用ip命令临时修改IP(推荐,适用于现代Linux系统)

ipiproute2包中的工具,功能更强大且逐渐替代ifconfig,临时修改的命令与ifconfig类似,但语法不同。

  1. 修改IP地址和子网掩码

    Linux命令修改IP的具体步骤是什么?-图3
    (图片来源网络,侵删)
    sudo ip addr add 192.168.1.100/24 dev eth0

    其中/24表示子网掩码255.255.0

  2. 启用/禁用接口

    sudo ip link set eth0 up  # 启用
    sudo ip link set eth0 down # 禁用
  3. 添加默认网关

    sudo ip route add default via 192.168.1.1

永久修改IP地址的方法

永久修改需要根据网络管理工具的不同调整配置文件,常见工具包括NetworkManager(用于桌面版如Ubuntu、CentOS 7+)、Netplan(Ubuntu 18.04+)以及传统的ifcfg文件(CentOS/RHEL 6-7)。

基于NetworkManager的配置(适用于CentOS/RHEL 7+、Ubuntu Desktop)

  • 使用nmtui文本界面工具

    sudo nmtui

    进入“Edit a connection”选择对应接口,修改IP配置为“Manual”,输入IP、子网掩码、网关和DNS,保存后重启网络服务。

  • 使用nmcli命令行工具
    示例(为eth0设置静态IP):

    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 8.8.4.4"
    sudo nmcli con up "eth0"

基于Netplan的配置(Ubuntu 18.04+、Debian 10+)

Netplan使用YAML格式的配置文件,通常位于/etc/netplan/目录下(如01-netcfg.yaml)。

  • 编辑配置文件
    sudo nano /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, 8.8.4.4]

    保存后应用配置:

    sudo netplan apply

传统ifcfg文件配置(CentOS/RHEL 6-7、旧版Ubuntu)

编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
```示例:  
```ini
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 systemctl restart network  # CentOS/RHEL 7+
sudo service network restart   # CentOS/RHEL 6

验证网络配置

修改完成后,可通过以下命令验证IP配置是否生效:

ip addr show eth0      # 查看接口IP
ping 192.168.1.1      # 测试网关连通性
nslookup www.baidu.com # 测试DNS解析

相关操作对比表

操作场景 命令/工具 适用系统 特点
临时修改IP ifconfig/ip命令 所有Linux发行版 重启后失效,无需配置文件
永久修改(NetworkManager) nmtui/nmcli CentOS 7+, Ubuntu Desktop 图形化/命令行交互式
永久修改(Netplan) 编辑YAML配置文件 Ubuntu 18.04+, Debian 10+ 声明式配置,简洁
永久修改(ifcfg) 编辑ifcfg文件 CentOS 6-7, RHEL 6-7 传统方式,需重启网络服务

FAQs

Q1: 修改IP后无法上网,如何排查?
A: 首先检查IP地址、子网掩码、网关配置是否正确,使用ping命令测试网关连通性;其次检查DNS配置,尝试ping 8.8.8.8验证网络层是否可达;最后确认防火墙或安全组规则是否阻止了网络访问,若使用NetworkManager,可通过nmcli con show查看连接状态。

Q2: 如何在Linux中动态获取IP(DHCP)与静态IP切换?
A: 对于NetworkManager,可通过nmcli修改:

  • 切换为DHCP:sudo nmcli con mod "eth0" ipv4.method auto
  • 切换为静态IP:sudo nmcli con mod "eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24
    对于Netplan,将dhcp4: yesdhcp4: no对应修改并运行netplan apply,对于ifcfg文件,修改BOOTPROTO=dhcpBOOTPROTO=static并重启网络服务。
分享:
扫描分享到社交APP
上一篇
下一篇