Linux虚拟机如何修改IP地址?

修改前的准备

  1. 查看当前网络配置
    终端执行:

    ip addr show     # 查看网卡名称(如ens33、eth0)
    ifconfig         # 若未安装,运行`sudo apt install net-tools`(Debian/Ubuntu)
  2. 记录关键信息
    • 目标IP地址、子网掩码(如255.255.0/24)、网关(如168.1.1
    • DNS服务器(如8.8.8

临时修改IP(重启失效)

方法1:使用ip命令

sudo ip addr add 192.168.1.100/24 dev ens33  # 添加新IP(替换为你的IP和网卡名)
sudo ip addr del 192.168.1.101/24 dev ens33  # 删除旧IP(如有)
sudo ip route add default via 192.168.1.1    # 设置默认网关

方法2:使用ifconfig(旧版工具)

sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0
sudo route add default gw 192.168.1.1

⚠️ 临时修改适用于测试,重启后恢复原配置。


永久修改IP(不同发行版操作)

Ubuntu 18.04+ / Debian(使用Netplan)

  • 编辑YAML配置文件(路径可能不同):
    sudo nano /etc/netplan/01-netcfg.yaml
    ```示例:
    ```yaml
    network:
      version: 2
      ethernets:
        ens33:
          dhcp4: no             # 关闭DHCP
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
  • 应用配置:
    sudo netplan apply

CentOS/RHEL 7+ / Fedora(使用NetworkManager)

  • 修改连接配置(替换ens33为你的网卡名):
    sudo nmcli con mod ens33 ipv4.addresses 192.168.1.100/24
    sudo nmcli con mod ens33 ipv4.gateway 192.168.1.1
    sudo nmcli con mod ens33 ipv4.dns "8.8.8.8"
    sudo nmcli con mod ens33 ipv4.method manual
    sudo nmcli con down ens33 && sudo nmcli con up ens33  # 重启连接

传统配置(CentOS 6/旧版系统)

  • 编辑配置文件:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
  • 修改以下参数:
    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 service network restart   # CentOS 6
    sudo systemctl restart NetworkManager # CentOS 7+

验证配置

  1. 检查IP和路由
    ip addr show ens33      # 确认IP生效
    ip route show           # 检查网关
    ping 8.8.8.8           # 测试外网连通性
    nslookup google.com     # 验证DNS解析
  2. 重启虚拟机
    sudo reboot

    重启后再次执行上述命令,确保配置持久化。


常见问题解决

  • 网卡未启动:检查配置文件中的ONBOOT=yes
  • IP冲突:使用arping -I ens33 192.168.1.100检测IP是否被占用。
  • 云虚拟机(AWS/Azure)注意:部分云平台要求通过控制台修改网络配置,并禁用系统内手动修改。
  • NetworkManager冲突:若使用传统配置,关闭NetworkManager:
    sudo systemctl stop NetworkManager
    sudo systemctl disable NetworkManager

专业建议

  1. 备份配置文件:操作前执行cp /etc/netplan/01-netcfg.yaml ~/backup.yaml
  2. 使用工具:新手建议用nmtui(文本图形界面)减少错误。
  3. 防火墙:若无法访问,检查防火墙规则(sudo ufw allow 22/tcp)。

引用说明:本文参考Linux官方文档(Netplan、NetworkManager)及Red Hat/CentOS系统管理指南,确保内容符合最佳实践,操作需root权限,请谨慎执行。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8367.html

(0)
酷番叔酷番叔
上一篇 2025年7月23日 19:56
下一篇 2025年7月23日 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信