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

如何改linux的ip地址

在Linux中,可通过命令行或网络管理工具修改IP地址,常用方法:使用 ip addr add [新IP]/[子网] dev [网卡] 命令设置(需root权限),或通过 nmcli con mod [连接名] ipv4.addresses [新IP]/[掩码] 修改,亦可编辑 /etc/network/interfaces 或对应配置文件,修改后需重启网络服务或断开重连生效

以下是多种场景下修改Linux系统IP地址的详细方案,涵盖临时调整、永久性配置及不同发行版操作差异:

快速临时修改(重启失效)

操作方式 命令示例 适用场景
ifconfig(老旧系统) sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 Debian系旧版本
ip命令(推荐) sudo ip addr add 192.168.1.100/24 dev eth0

sudo ip link set eth0 up

现代所有发行版
同名覆盖技巧 sudo ip addr flush dev eth0

sudo ip addr add 192.168.1.100/24 broadcast+ dev eth0

需要清除原有配置时

注意事项

  1. 网卡命名规则:CentOS7+/RHEL7+常用ens33,Ubuntu16+用enp4s0格式
  2. 广播地址计算:子网掩码255.255.255.0对应广播地址为192.168.1.255
  3. 路由配置:需配合sudo ip route add default via 192.168.1.1设置默认网关

永久性配置修改

Debian/Ubuntu系(含Mint)

配置文件路径:/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

现代系统(使用Netplan)

如何改linux的ip地址 第1张

应用配置:sudo netplan apply

CentOS/RHEL系(含Fedora)

配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0

# 修改或添加以下字段 BOOTPROTO=none ONBOOT=yes 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

重启网络:sudo systemctl restart network

如何改linux的ip地址 第2张

通用网络服务重启命令

sudo systemctl restart NetworkManager # 图形化环境 sudo systemctl restart network # 传统service网络管理 sudo systemctl restart systemd-networkd # systemd-networkd管理

图形化操作指南

GNOME桌面环境

  1. 进入”设置” -> “网络”
  2. 选择有线连接 -> “齿轮”图标 -> “IPv4″选项卡
  3. 选择”手动”模式,填写IP、网关、DNS信息

KDE Plasma环境

  1. 打开”系统设置” -> “网络配置”
  2. 选中网卡设备 -> 切换”IP获取方式”为手动
  3. 输入详细信息后点击”应用”

高级排错命令

命令 功能描述
ip addr show 查看当前IP配置
ping -c 4 baidu.com 测试网络连通性
nmcli connection show 查看NetworkManager连接状态
journalctl -u NetworkManager 查看网络服务日志

动态IP与静态IP转换

启用DHCP客户端

如何改linux的ip地址 第3张

sudo rm -f /etc/network/interfaces.static # Ubuntu清理静态配置 sudo dhclient eth0 # 释放后重新获取

禁用DHCP恢复静态

sudo systemctl stop dhcpcd # 停止DHCP服务 sudo systemctl disable dhcpcd # 禁止开机启动

FAQs

Q1:修改IP后无法联网怎么办?

  • 检查物理链路:确保网线连接正常,观察网卡指示灯状态
  • 验证配置冲突:arp -a查看是否存在MAC地址冲突
  • 清除缓存:执行sudo ip route flush cache
  • 日志排查:查看/var/log/syslog或journalctl错误记录

Q2:如何批量修改多台Linux主机IP?

  • 使用Ansible自动化:
  • name: Batch set IP addresses

    hosts: linux_group

    tasks:

    • name: Push network config

      copy:

      dest: /etc/network/interfaces

      content: |

      auto eth0

      iface eth0 inet static

      address {{ item.ip }}

      netmask {{ item.subnet }}

      gateway {{ item.gw }}

      loop: “{{ inventory_hostnames }}”

      loop_control:

      label: “Configuring {{ item }}”

  • 脚本生成法:编写Expect脚本自动交互配置

0