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)
酷番叔酷番叔
上一篇 2天前
下一篇 2天前

相关推荐

  • 为什么必须更新软件包列表?

    在Linux系统中安装GCC(GNU Compiler Collection)是开发工作的基础步骤,GCC是一套开源的编程语言编译器,支持C、C++、Fortran等语言,以下提供官方推荐且安全的安装方法,涵盖主流的Linux发行版,所有操作均需终端权限,普通用户请使用sudo提权,通过包管理器安装(推荐)Li……

    2025年6月24日
    1600
  • 如何查找目标进程PID

    在Linux系统中调试多进程程序是开发中的常见需求,尤其在处理并发任务、服务器应用或分布式系统时,多进程调试的难点在于需要同时跟踪多个独立进程的执行状态、协调断点以及分析进程间通信(IPC),以下是详细调试方法及工具指南:核心调试工具及方法GDB(GNU Debugger)基础调试GDB是最常用的调试工具,通过……

    2025年6月15日
    1600
  • 如何同时为用户加执行权、为组去写权?

    权限基础概念权限类型读(r):查看文件内容或目录列表写(w):修改文件或增删目录内容执行(x):运行程序或进入目录数字表示:r=4, w=2, x=1(如 rwxr-xr– = 754)权限对象用户(Owner):文件创建者组(Group):共享权限的用户组其他(Others):系统所有其他用户查看权限使用……

    2025年7月13日
    1500
  • 如何实时掌握运行状态?

    检查 firewalld 状态(CentOS/RHEL/Fedora)firewalld 是红帽系发行版的默认防火墙,通过以下命令操作:# 若显示 "active (running)" 表示已启用● firewalld.service – firewalld – dynamic firewa……

    2025年7月9日
    1500
  • 怎样每天多出两小时?

    在Linux系统中,运行.sh文件(Shell脚本)是自动化任务、管理系统或部署软件的常见操作,以下是详细步骤及注意事项,确保操作安全高效:运行.sh文件的3种方法方法1:直接使用解释器执行(无需权限)bash 脚本名.shsh 脚本名.sh原理:显式调用解释器(如bash)执行脚本,无需文件具备执行权限,适用……

    3天前
    500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信