VMware Ubuntu 固定IP + 上网 + 远程访问 完整教程

一、整体方案说明

通过给 Ubuntu 虚拟机配置双网卡,实现:

  • 网卡1(NAT模式):负责虚拟机正常上网,不受外部网络环境影响
  • 网卡2(仅主机Host-Only模式):给 Windows 主机提供一个永久固定IP,切换公司/家里/热点都不影响 SSH/MySQL 访问

二、VMware 虚拟机硬件配置(关键步骤)

1. 关闭虚拟机,添加第二块网卡

  1. 选中你的 Ubuntu 虚拟机 → 点击「编辑虚拟机设置」
  2. 点击「添加」→ 选择「网络适配器」→ 下一步
  3. 第一块网卡(默认):选择 NAT模式,用于上网
  4. 第二块网卡(新增):选择 仅主机模式(Host-Only),用于固定IP
  5. 确认设置,启动 Ubuntu 虚拟机

2. 确认 VMware 虚拟网络信息

打开 VMware → 编辑 → 虚拟网络编辑器,查看:

  • VMnet8(NAT):子网地址 192.168.110.0/24(你的虚拟机上网网段)
  • VMnet1(Host-Only):子网地址 192.168.69.0/24(固定IP网段,后续用这个配置)

三、Ubuntu 端配置步骤

步骤1:查看网卡名称,确认双网卡识别

打开 Ubuntu 终端,执行:

bash 复制代码
ip addr show

你会看到两块网卡:

  • ens33:NAT网卡(IP 为 192.168.110.xxx,负责上网)
  • ens37:Host-Only网卡(当前动态IP,后续改成固定IP)

步骤2:创建 netplan 网络配置文件

bash 复制代码
sudo tee /etc/netplan/01-hostonly-static.yaml <<-'EOF'
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens33:
      dhcp4: true
    ens37:
      dhcp4: no
      addresses: [192.168.69.100/24]
EOF
  • ens33:保持 dhcp4: true,自动获取NAT网段IP,不影响上网
  • ens37:关闭DHCP,设置固定IP 192.168.69.100/24(和VMnet1网段匹配)

步骤3:应用配置并生效

bash 复制代码
sudo chmod 600 /etc/netplan/*.yaml
sudo netplan apply

注:若提示 systemd-networkd is not running 无需担心,我们已指定 renderer: NetworkManager,配置依然会生效

步骤4:验证配置是否成功

  1. 检查固定IP是否生效:

    bash 复制代码
    ip addr show ens37

    输出中出现 inet 192.168.69.100/24 即成功

  2. 检查上网是否正常:

    bash 复制代码
    ping www.baidu.com -c 3

    能收到回复说明NAT网卡上网正常


四、Windows 端连接配置

1. SSH 连接(PowerShell/CMD 直接用)

bash 复制代码
ssh npe@192.168.69.100
  • 用户名:npe(你的Ubuntu用户名)
  • 密码:你的Ubuntu登录密码
  • 首次连接输入 yes 确认即可登录

2. MySQL 远程访问配置(已提前完成,补充说明)

  1. 登录 MySQL,创建允许远程连接的用户:

    sql 复制代码
    CREATE USER 'root'@'%' IDENTIFIED BY '你的MySQL密码';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  2. 修改 MySQL 配置文件,允许外部访问:

    bash 复制代码
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

    找到 bind-address = 127.0.0.1,改为 bind-address = 0.0.0.0

  3. 重启 MySQL 并放行端口:

    bash 复制代码
    sudo systemctl restart mysql
    sudo ufw allow 3306
  4. Windows 端连接信息:

    • 主机:192.168.69.100
    • 端口:3306
    • 用户名:root
    • 密码:你设置的MySQL密码

五、最终核心信息(记住这几个即可)

用途 信息
永久固定IP 192.168.69.100
SSH连接命令 ssh npe@192.168.69.100
MySQL连接主机 192.168.69.100:3306
网卡说明 ens33上网、ens37固定IP访问

六、常见问题排查

  1. Windows 无法 ping 通 192.168.69.100
    • 检查 VMware 虚拟网络编辑器中,VMnet1 是否已勾选「将主机虚拟适配器连接到此网络」
    • 检查 Ubuntu 防火墙:sudo ufw allow 22 放行SSH端口
  2. SSH 连接提示「拒绝连接」
    • 确认 Ubuntu 已安装并启动SSH服务:sudo systemctl status ssh,显示 active (running) 为正常
  3. MySQL 连接失败
    • 确认 MySQL 配置文件中 bind-address 已改为 0.0.0.0
    • 确认用户权限配置正确,且3306端口已放行
相关推荐
恋奴娇13 小时前
ubuntu 25 突破pipewire 不能以root帐号运行 系统没有声音输入输出设备
linux·运维·ubuntu
Bert.Cai14 小时前
Linux dirname命令详解
linux·运维·服务器
有梦想的小何14 小时前
Cursor AI 编程实战(篇一):Prompt 与案例总结
java·linux·prompt·ai编程
程序 代码狂人14 小时前
Linux查询自己环境的一些基础命令
linux·运维·服务器
进击切图仔14 小时前
RAG 加载 pdf 文档
linux·前端·pdf
aerror14 小时前
如何使用ubuntu搭建一个无盘PC启动服务器
linux·服务器·ubuntu
SWAGGY..14 小时前
Linux系统编程:(五)基础开发工具:vim编辑器的使用及其配置操作
linux·编辑器·vim
lzhdim15 小时前
SQL 入门 14:SQL 触发器与事件:自动化数据处理
linux·前端·数据库·sql·自动化
脆皮炸鸡75515 小时前
库制作与原理~静态库&静态链接
linux·经验分享·笔记·学习方法
wangjialelele15 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式