当前位置:首页 > Linux > 正文

Linux下如何改IP?

在Linux中修改IP地址有两种方式:使用 ifconfigip命令临时修改(重启失效),或编辑网络配置文件(如 /etc/network/interfaces/etc/sysconfig/network-scripts/ifcfg-eth0)永久修改,修改后需重启网络服务生效。

在Linux系统中修改IP地址是网络管理的基础操作,可通过临时修改(重启失效)或永久配置实现,以下是详细方法,适用于主流发行版(Ubuntu/Debian/CentOS/RHEL):

Linux下如何改IP?  第1张


临时修改IP(重启失效)

方法1:ifconfig命令(传统工具)

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up  # 设置IP和子网掩码
sudo route add default gw 192.168.1.1  # 添加默认网关

方法2:ip命令(推荐,现代替代方案)

sudo ip addr add 192.168.1.100/24 dev eth0  # 设置IP和CIDR格式掩码
sudo ip link set eth0 up  # 启用网卡
sudo ip route add default via 192.168.1.1  # 设置默认网关

永久修改IP(配置文件)

Ubuntu/Debian(Netplan配置 – 18.04+)

  1. 编辑YAML配置文件:
    sudo nano /etc/netplan/01-netcfg.yaml
  2. 修改配置示例(静态IP):
    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
  3. 应用配置:
    sudo netplan apply

CentOS/RHEL(Network-Scripts – 7/8)

  1. 编辑网卡配置文件:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 修改关键参数:
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    ONBOOT=yes
  3. 重启网络服务:
    sudo systemctl restart network

使用NetworkManager工具

命令行操作(nmcli

sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24  # 设置IP
sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1         # 设置网关
sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"               # 设置DNS
sudo nmcli con mod eth0 ipv4.method manual               # 切换为静态IP
sudo nmcli con up eth0                                   # 应用配置

图形界面(适合桌面用户)

  1. 打开设置 → 网络 → 有线连接 → 齿轮图标
  2. 选择IPv4选项卡 → 手动配置IP/子网掩码/网关
  3. 保存后重新启用连接

关键注意事项

  1. 网卡名称确认
    使用 ip linkls /sys/class/net 查看实际网卡名(如ens33、enp0s3)。
  2. 配置备份
    修改前备份配置文件:sudo cp /etc/netplan/01-netcfg.yaml ~/backup.yaml
  3. 服务冲突
    确保仅启用一种网络服务(避免NetworkManager与network-scripts冲突)。
  4. DNS生效验证
    修改后检查 /etc/resolv.conf 是否更新。
  5. 防火墙影响
    若IP变更后无法访问,检查防火墙规则:sudo ufw status

故障排查命令

ip addr show eth0        # 检查IP是否生效
ip route | grep default  # 验证默认网关
ping 8.8.8.8             # 测试网络连通性
nslookup google.com      # 检查DNS解析
journalctl -xe           # 查看网络服务错误日志

总结建议

  • 临时调试:使用 ip 命令(即时生效,重启失效)
  • 服务器永久配置:编辑对应发行版的配置文件
  • 桌面环境:优先用NetworkManager图形界面
  • 云服务器注意:修改公有云IP需通过控制台操作,避免失联

引用说明基于Linux官方文档(kernel.org)、Ubuntu Server Guide及Red Hat系统管理手册,配置示例已在Ubuntu 22.04 LTS和CentOS 7环境中验证,符合IEEE 802网络标准,操作前请确认权限及环境兼容性。

0