当前位置: 首页 > news >正文

深入解析VMware NAT网络与Ubuntu高效配置指南

一、VMware NAT 网络原理

网络架构

Windows 宿主机 VMware 后台 Ubuntu 虚拟机 │ │ │ VMnet8 网卡 NAT 服务 ens33 网卡 192.168.84.1 ←────────→ 192.168.84.2 ←────────→ 192.168.84.91

三个关键 IP

组件IP位置作用
VMnet8 虚拟网卡192.168.84.1Windows 系统宿主机与虚拟机通信的桥梁
VMware NAT 网关192.168.84.2VMware 后台进程执行 NAT 转换、DHCP、DNS 转发
虚拟机网卡192.168.84.91Ubuntu 系统虚拟机自身网络身份

关键点

  • 虚拟机 IP 必须与 VMnet8 在同一子网(192.168.84.0/24)
  • 网关必须指向 NAT 服务地址(192.168.84.2)
  • 配置修改后需重启 VMware NAT Service 生效

二、Ubuntu 网络配置

Netplan 配置文件

位置:/etc/netplan/00-installer-config.yaml

network:version:2ethernets:ens33:dhcp4:falseaddresses:-192.168.84.91/24routes:-to:defaultvia:192.168.84.2nameservers:addresses:-8.8.8.8-114.114.114.114

注意事项

  • YAML 缩进必须用空格,不能用 Tab
  • 文件权限必须是 600:chmod 600 /etc/netplan/*.yaml
  • 应用配置:sudo netplan apply
  • 验证路由:ip route必须看到default via 192.168.84.2

图形界面配置

nm-connection-editor

三、SSH 连接配置

密码登录

sshlinfu@192.168.84.91

密钥认证(免密登录)

原理
私钥(Windows) 公钥(Ubuntu) 锁 ←匹配→ 钥匙
生成密钥对
ssh-keygen-t ed25519-C"备注"

生成两个文件:

  • id_ed25519— 私钥(本地保管,不泄露)
  • id_ed25519.pub— 公钥(放到服务器)
复制公钥到服务器
# Ubuntu 终端执行mkdir-p~/.sshecho"ssh-ed25519 AAAA...你的公钥...">>~/.ssh/authorized_keyschmod600~/.ssh/authorized_keys
验证过程(数字签名)
  1. 服务端发送随机挑战数据
  2. 客户端用私钥对挑战数据签名
  3. 服务端用公钥验证签名
  4. 验证通过,允许登录

不是简单的加密解密,而是数学上的真伪验证。

密钥文件位置

文件Windows 路径Ubuntu 路径
私钥~/.ssh/id_ed25519-
公钥~/.ssh/id_ed25519.pub-
授权列表-~/.ssh/authorized_keys

四、终端外观配置

PS1 提示符

文件:~/.bashrc

# 多行提示符 + 颜色PS1='\[\e[1;32m\]\u\[\e[0m\]@\[\e[1;36m\]\h\[\e[0m\] \[\e[1;34m\]\w\[\e[0m\]\n\[\e[1;33m\]➜\[\e[0m\] 'PROMPT_COMMAND='echo'

效果:

linfu@myfirstubuntu ~ ➜
  • \u— 用户名(绿色)
  • \h— 主机名(青色)
  • \w— 当前路径(蓝色)
  • \n— 换行
  • — 命令提示符(黄色)

应用:source ~/.bashrc


五、/etc/hosts 文件

作用

本地 DNS 解析,优先级高于 DNS 服务器。

默认内容

127.0.0.1 localhost 127.0.1.1 myfirstubuntu

用途

场景示例
给服务器起别名192.168.84.91 myserver
屏蔽广告域名127.0.0.1 ad.example.com
开发测试127.0.0.1 api.test.com

六、Ubuntu 部署项目注意事项

必须关注的文件

文件作用
/etc/netplan/*.yaml网络配置
/etc/hostname主机名
/etc/hosts域名解析
~/.bashrc用户 shell 配置
/etc/systemd/system/自定义服务
/var/log/日志文件

常用命令

# 进程管理psaux|grep进程名 systemctl status/restart/enable 服务名# 网络排查ss-tlnp# 端口占用ufw allow80/tcp# 开放端口curl-vhttp://localhost# 测试接口# 磁盘与性能df-h# 磁盘使用free-h# 内存使用htop# 资源监控# 日志查看tail-f/var/log/syslog journalctl-u服务名-f

易踩的坑

  1. 防火墙没开端口— 应用启动了但外部访问不了
  2. 服务没有开机自启— 重启后服务消失
  3. 文件权限问题— root 创建的文件普通用户无法读写
  4. 时区不对timedatectl set-timezone Asia/Shanghai
  5. 磁盘满了— 定期清理/var/log/和 apt 缓存

systemd 服务模板

[Unit] Description=项目描述 After=network.target [Service] Type=simple User=linfu WorkingDirectory=/home/linfu/项目路径 ExecStart=/usr/bin/node app.js Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
sudosystemctl daemon-reloadsudosystemctlenable--now服务名

七、今日配置记录

配置项
VMnet8 子网192.168.84.0/24
Ubuntu IP192.168.84.91
网关192.168.84.2
SSH 用户linfu
SSH 认证Ed25519 密钥
终端样式多行彩色提示符
http://www.jsqmd.com/news/1157896/

相关文章:

  • ThinkPHP 8.0 职工健康数据管理系统:从选题到部署的 3 个关键实现步骤
  • web第一二次任务
  • Okbiye|文献综述写作难哭毕业生?一站式 AI 综述工具直接打通知网文献撰写全流程
  • 3种电压转电流电路方案对比:运放+三极管 vs 集成芯片 vs Howland电流泵
  • H.264/AVC 帧间预测实战:3种运动估计算法对比与 OpenCV 实现
  • 如何使用ECDICT开源英汉词典数据库快速构建专业语言工具
  • 自托管代码仓库与 CI/CD 流水线搭建:Gitea + Drone 整合实践
  • pip 23.0+ 版本升级失败后修复:从 ModuleNotFoundError 到完整恢复的 5 个步骤
  • 位置式 vs 增量式 PID:3 大核心差异与电机控制场景选择指南
  • 189、最小可复现用例:高质量的 bug report 怎么写,让 AI 和同事都能秒懂
  • 2026年下半年量化工具选择,先看能力基础和验证阶段
  • LaTeX-PPT终极指南:5分钟在PowerPoint中插入专业数学公式
  • 原子层沉积 (ALD) 工艺窗口解析:3种前驱体与温度对Al2O3膜厚的影响
  • 高电压测量分压器选型指南:电阻/电容/阻容混合3类方案对比与误差分析
  • 深度强化学习训练新突破:单Transformer层实现高效优化
  • HCIP-PPPoE实验
  • RV1126 双光融合方案 3 大选型对比:384x288 vs 256x192 红外分辨率实测
  • 运算放大器测温电路Multisim仿真问题解析与工程实践
  • 2026年郑州口碑好的大专院校大揭秘 - 品牌排行榜
  • MyBatis-Plus 日志输出优化:3种方案实现SQL与结果集分离打印
  • 人耳等响度曲线与音频均衡:3 个关键频段补偿策略与听感实测
  • SLAM 将PCL点云转换成八叉树地图
  • 2026年湖南诚信美术高考学校发布:壹品培训学校实力解析与选型指南 - 品牌鉴赏官2026
  • Java开发者怎么选开源商城?技术选型的四个关键维度
  • 本地部署Codex与DeepSeek集成:离线AI代码助手实战指南
  • 前端转AI产品经理?收藏这份提效指南,小白也能轻松入门!
  • Compose 1.6+ 混合开发:XML布局与ViewBinding的2种集成模式与性能实测
  • 基于Playwright与AI的新闻聚合与智能摘要系统实战
  • STM32与TB6593FNG实现直流电机PID控制方案
  • 通信工程毕设避坑指南:STM32项目常见的5类硬件选型与软件架构误区