Linux虚拟机如何设置IP地址?静态IP配置方法步骤

Linux虚拟机IP设置是搭建开发、测试环境的基础操作,正确的IP配置确保虚拟机能与宿主机、外部网络或其他虚拟机稳定通信,影响远程访问、服务部署、文件共享等场景,本文将详细讲解Linux虚拟机IP设置的全流程,涵盖网络模式选择、静态/动态IP配置、多发行版适配及问题排查。

linux虚拟机如何设置ip

虚拟机网络模式简介

在配置IP前,需先理解虚拟机的网络模式,不同模式决定IP获取方式和通信范围,主流虚拟机软件(如VMware、VirtualBox)通常提供三种网络模式,其特点对比如下:

模式 特点 IP获取方式 适用场景
NAT模式 虚拟机通过宿主机NAT服务访问外部网络,与宿主机不在同一网段,外部无法直接访问虚拟机 VMware DHCP分配(默认) 隔离环境,无需外部访问,适合日常开发
桥接模式 虚拟机直接连接物理网络,与宿主机处于同一网段,外部网络可像访问宿主机一样访问虚拟机 物理网络DHCP或手动静态配置 需要对外提供服务(如Web服务器、数据库)
仅主机模式 虚拟机与宿主机互访,无法访问外部网络,形成独立私有网络 VMware DHCP或手动静态配置 安全测试,内部通信,无需联网的场景

虚拟机软件中网络模式配置

IP设置前,需在虚拟机软件中确认网络模式,以VMware为例(VirtualBox操作类似):

  1. 关闭虚拟机电源,右键点击虚拟机→“设置”→“硬件”→“网络适配器”。
  2. 在“网络连接”区域选择对应模式(如NAT模式/桥接模式/仅主机模式)。
  3. 若选择“仅主机模式”,需确保“虚拟网络编辑器”中该模式的DHCP服务已开启(编辑→虚拟网络编辑器→仅主机模式→勾选“使用本地DHCP服务将IP地址分配给虚拟机”)。
  4. 点击“确定”后重启虚拟机或Linux系统网络服务。

Linux系统内IP设置方法

(一)查看当前网络配置

配置IP前,需确认虚拟机网卡名称及当前状态,使用以下命令:

  • 推荐命令ip addr show(显示网卡详细信息,包括IP、MAC地址、状态)
    示例输出:

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000  
        link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff  
        inet 192.168.109.128/24 brd 192.168.109.255 scope global dynamic ens33  
           valid_lft 3600sec preferred_lft 3600sec  
        inet6 fe80::xx:xx:xx:xx:xx/64 scope link  
           valid_lft forever preferred_lft forever  

    其中ens33为网卡名称,168.109.128为当前动态IP(dynamic表示DHCP获取)。

  • 兼容命令ifconfig(需安装net-tools包,CentOS下yum install net-tools,Ubuntu下apt install net-tools

(二)动态IP(DHCP)设置

默认情况下,NAT模式和桥接模式(物理网络有DHCP服务器)会自动获取IP,无需手动配置,若需重新获取IP:

  • CentOS/RHELsystemctl restart network
  • Ubuntu/Debiansystemctl restart networkingnetplan apply(新版netplan)

仅主机模式需确保虚拟机软件DHCP服务已开启,否则需手动配置静态IP。

(三)静态IP设置

静态IP适用于需要固定IP地址的场景(如服务器部署),不同Linux发行版配置方式不同:

linux虚拟机如何设置ip

CentOS/RHEL系列(以CentOS 7为例)

配置文件路径:/etc/sysconfig/network-scripts/ifcfg-网卡名(如ifcfg-ens33)。

操作步骤
(1)备份原配置文件:

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

(2)编辑配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

(3)修改/添加以下参数(根据网络模式调整网关和DNS):

TYPE=Ethernet                # 网络类型
PROXY_METHOD=none            # 代理方式
BROWSER_ONLY=no              # 仅浏览器
BOOTPROTO=static             # 静态IP(默认为dhcp)
DEFROUTE=yes                 # 默认路由
IPV4_FAILURE_FATAL=no        # IPv4错误不致命
NAME=ens33                   # 网卡名称
DEVICE=ens33                 # 网卡设备名
ONBOOT=yes                   # 开机启动网络
# 以下为静态IP配置(NAT模式示例)
IPADDR=192.168.109.130       # 静态IP(需与NAT网段不冲突,如192.168.x.2-254)
NETMASK=255.255.255.0        # 子网掩码(NAT模式默认)
GATEWAY=192.168.109.2        # 网关(NAT模式默认网关,可通过VMware“编辑→虚拟网络编辑器”查看)
DNS1=8.8.8.8                 # DNS服务器
DNS2=114.114.114.114        # 备用DNS

(4)保存文件(wq),重启网络服务:

systemctl restart network

Ubuntu/Debian系列(以Ubuntu 20.04为例)

新版Ubuntu(18.04+)使用netplan工具,配置文件位于/etc/netplan/下(如50-cloud-init.yaml)。

操作步骤
(1)备份原配置文件:

cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak

(2)编辑配置文件:

vi /etc/netplan/50-cloud-init.yaml

(3)修改为静态IP配置(YAML格式,注意缩进):

linux虚拟机如何设置ip

network:
  version: 2
  ethernets:
    ens33:                    # 网卡名称(通过`ip addr`确认)
      dhcp4: no               # 关闭DHCP
      addresses: [192.168.109.131/24]  # 静态IP/子网掩码长度(如24表示255.255.255.0)
      gateway4: 192.168.109.2 # 网关(NAT模式默认)
      nameservers:            # DNS配置
        addresses: [8.8.8.8, 114.114.114.114]

(4)应用配置:

netplan apply

旧版Ubuntu(16.04及以下)使用/etc/network/interfaces文件,编辑添加:

auto ens33
iface ens33 inet static
    address 192.168.109.131
    netmask 255.255.255.0
    gateway 192.168.109.2
    dns-nameservers 8.8.8.8 114.114.114.114

保存后执行systemctl restart networking

(四)图形化界面设置(适合新手)

  • CentOS:执行nmtui命令,进入“文本用户界面”→“编辑连接”→选择网卡→“自动配置”改为“手动”→输入IP、网关、DNS→“确定”→“激活”连接。
  • Ubuntu:点击桌面右上角网络图标→选择“有线已连接”→“齿轮”图标→IPv4→“手动”→输入IP、子网掩码、网关、DNS→“应用”。

网络验证与问题排查

设置完成后,需验证网络连通性:

  1. 测试本地网络ping 192.168.109.2(网关地址),若通,说明与网关通信正常。
  2. 测试外网连通性ping 8.8.8.8,若不通,检查:
    • 防火墙状态:systemctl stop firewalld(临时关闭)或添加允许规则。
    • SELinux状态:setenforce 0(临时关闭,getenforce查看状态)。
    • 虚拟机软件网络模式:确认NAT模式网关正确,桥接模式与宿主机同网段。
  3. 查看网络日志
    • CentOS:journalctl -u network
    • Ubuntu:journalctl -u networking

常见问题总结

  1. IP冲突:静态IP与网络中其他设备冲突,通过arp -a查看同网段IP,修改静态IP。
  2. 无法获取IP:DHCP模式下若无法获取IP,检查虚拟机软件DHCP服务是否开启(NAT模式需在“虚拟网络编辑器”中启用)。
  3. 网卡未识别:执行dmesg | grep eth查看内核日志,确认驱动是否正常。

FAQs

问:设置静态IP后,虚拟机无法上网,如何排查?
答:首先检查网关和DNS配置是否正确(cat /etc/resolv.conf查看DNS,route -n查看网关);然后关闭防火墙(systemctl stop firewalld)和SELinux(setenforce 0)临时测试;若仍不通,确认虚拟机软件网络模式(NAT模式网关应为192.168.x.2,桥接模式需与宿主机同网段)。

问:如何查看Linux虚拟机的当前IP地址?
答:使用命令行工具:ip addr showip a(推荐,显示详细信息);ifconfig(需安装net-tools),图形化界面:CentOS通过nmtui查看,Ubuntu点击桌面右上角网络图标查看IP详情。

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

(0)
酷番叔酷番叔
上一篇 2025年8月31日 18:09
下一篇 2025年8月31日 18:40

相关推荐

  • 如何在win7进入linux系统安装驱动

    Win7系统中,可通过虚拟机软件如VMware或VirtualBox安装Linux系统,再在Linux

    2025年8月18日
    5900
  • Linux系统XAMPP环境下FTP连接的具体操作步骤是什么?

    在Linux系统中使用XAMPP搭建Web环境后,常需要通过FTP协议上传或管理网站文件,FTP(File Transfer Protocol)是一种用于在客户端和服务器之间传输文件的标准协议,结合XAMPP的目录结构(默认为/opt/lampp/htdocs),通过FTP可以高效管理网站资源,以下是详细的Li……

    2025年9月30日
    3300
  • Linux配置保存有哪些实用方法?

    在Linux系统中,配置文件是系统运行的核心,它们定义了用户环境、服务行为、系统参数等关键信息,无论是日常维护还是系统迁移,正确保存和管理配置文件都至关重要,本文将详细介绍Linux配置保存的多种方法,涵盖直接编辑、工具管理、备份策略等场景,帮助用户根据实际需求选择合适的方案,直接编辑配置文件的保存方法Linu……

    2025年9月29日
    3800
  • 核心概念是什么?挑战如何应对?

    核心概念指学科或领域的基础理论框架与关键要素,挑战则涉及理解、应用这些概念时遇到的复杂问题、矛盾或未知领域,掌握核心概念并有效应对挑战是深化认知、推动创新发展的关键。

    2025年6月23日
    7900
  • Linux下如何执行指定路径的C可执行文件?

    在Linux系统中执行C语言程序需先通过编译器将源代码转换为可执行文件,再通过指定路径运行,这一过程涉及路径的正确引用,包括当前路径、绝对路径、相对路径及环境变量配置等,以下是具体操作方法和注意事项,编译C文件生成可执行文件执行C程序的前提是编译源代码(如hello.c),使用gcc编译器时,通过-o参数指定生……

    2025年10月3日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信