VirtualBox 中 CentOS 7 双网卡配置静态 IP

VirtualBox + CentOS 7 双网卡配置

网卡1桥接-DHCP + 网卡2NAT-静态IP

环境:VirtualBox 7.x + CentOS 7.9

目标:

  • 虚拟机 永远能上网(NAT 静态 10.0.2.15)
  • 局域网 直接 SSH(桥接 DHCP 自动分配)
  • 零端口转发、零冲突

🧩 步骤 1:关机状态下添加两张网卡

网卡 连接方式 细节
网卡1 桥接 名称选择 Intel Wireless-AC 9462(或当前宿主机网卡)
网卡2 NAT 默认即可

🧪 步骤 2:启动虚拟机 → 查看接口

bash 复制代码
ip addr

常见结果:

  • enp0s3 → 桥接
  • enp0s8 → NAT

⚙️ 步骤 3:配置桥接网卡(enp0s3)纯 DHCP

bash 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

修改ONBOOT,这样才会显示ip:

bash 复制代码
ONBOOT=yes

不要写 IPADDRNETMASKGATEWAY,避免冲突。


⚙️ 步骤 4:配置 NAT 网卡(enp0s8)静态 IP

  1. 复制模板

    bash 复制代码
    cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-enp0s8
  2. 编辑

    bash 复制代码
    vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

    内容:

    bash 复制代码
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=enp0s8
    DEVICE=enp0s8
    ONBOOT=yes
    
    # VirtualBox NAT 固定网段
    IPADDR=10.0.2.15
    NETMASK=255.255.255.0
    GATEWAY=10.0.2.2
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    
    # 生成新 UUID(防冲突)
    UUID=$(uuidgen)
    sed -i "s/^UUID=.*/UUID=$UUID/" ifcfg-enp0s8

🔄 步骤 5:重启网络 & 验证

bash 复制代码
systemctl restart network
  • 查看地址

    bash 复制代码
    ip addr
    • enp0s3 → 192.168.x.x(DHCP)
    • enp0s8 → 10.0.2.15(静态)
  • 外网测试

    bash 复制代码
    ping -c 3 www.baidu.com
  • 局域网 SSH(宿主机或同网段电脑)

    bash 复制代码
    ssh root@<enp0s3-DHCP-IP>

⚠️ 常见报错速修

报错 一键解决
RTNETLINK answers: File exists ip addr flush dev enp0s3 && ip addr flush dev enp0s8 && systemctl restart network
NetworkManager 冲突 systemctl stop NetworkManager && systemctl disable NetworkManager

🎉 拓扑速览

复制代码
宿主机 (192.168.x.0/24)
   │ 桥接 DHCP
   ├─ VM-enp0s3 (192.168.x.y) ← 局域网 SSH
   │
   │ NAT 10.0.2.0/24
   └─ VM-enp0s8 (10.0.2.15) ← 外网出口

桥接随拿随用,NAT 固定可控,开发调试两不误!