VMware安装CentOS7:NAT网络与FinalShell远程连接
1. 先想清楚本地搭一套 Linux 实验环境到底图什么做后端、运维、测试或者单纯想学 Linux 的人迟早会碰到一个问题手上只有一台 Windows 工作机但很多操作必须在 Linux 环境里跑。直接买云主机要花钱双系统切换又麻烦重装系统风险还高。这时候虚拟机的价值就体现出来了——在一台物理机里跑出一个完全独立的操作系统随便折腾搞崩了删掉重来宿主机毫发无损。我这些年带过不少新人发现大家卡住的地方往往不是 Linux 命令本身而是第一步——环境搭不起来。装完 CentOS7 发现没网yum装不了东西想用 FinalShell 连上去提示连接超时明明虚拟机里能上网宿主机却 ping 不通。这些问题本质上都指向同一件事虚拟机网络配置没搞明白。这篇内容就是冲着这个痛点来的。我会把 VMWare Workstation 安装、CentOS7 镜像部署、网络模式选型、网卡配置文件修改、FinalShell 远程连接这一整条链路拆开讲透不光给步骤还会解释每一步为什么这么做、参数为什么这么填、出错时该往哪个方向查。适合完全没有虚拟机经验的新手也适合装过但网络一直没配通的半吊子选手——毕竟这块坑是真的多。整套流程走完你会得到一个可以随时开机、随时远程连接、随时快照回滚的 CentOS7 实验机后续学 Docker、装数据库、练 Shell 脚本都有地方施展。2. 开工前的准备工作2.1 宿主机硬件与系统要求虚拟机是把物理资源切一块出来给另一个系统用所以宿主机本身得有富余。我给一个比较稳妥的参考线CPU 四核以上内存 8GB 起步最好 16GB硬盘留出至少 60GB 的空闲空间。如果你只有 8GB 内存给虚拟机分 2GB 也能跑起来但同时开虚拟机加浏览器加 IDE 就会开始卡。这里有个很多人忽略的点虚拟机的磁盘文件是动态增长的。你创建时填 40GB不代表立刻占用 40GB而是随着系统里写入数据慢慢变大。所以硬盘空间紧张也不用太慌但长期使用还是要留够余量尤其是后面要装 Docker 镜像、数据库的时候。宿主机系统方面Windows 10/11 都没问题。如果你用的是 Windows 家庭版注意它自带的是 Hyper-V 相关组件有时会和 VMWare 抢底层虚拟化后面我会讲怎么处理。2.2 软件清单与获取渠道需要准备的东西其实就三样软件作用获取建议VMWare Workstation提供虚拟化平台前往官方站点下载个人使用有相应授权方式CentOS7 ISO 镜像操作系统安装源从官方镜像站或高校镜像站下载 DVD 版FinalShellSSH 客户端远程管理官方站点下载免费版日常够用镜像版本上CentOS7 建议选CentOS-7-x86_64-DVD-2009.iso这类 DVD 完整版体积大概 4GB 出头。别图省事下 Minimal 版虽然小但装完之后很多常用工具都没有新手容易一脸懵。Everything 版又太大DVD 版是性价比最合适的。提示镜像文件下载完记得核对一下文件大小或者校验值网络上流传的部分镜像包存在损坏情况装到一半报错会让人怀疑人生。FinalShell 这边免费版已经支持 SSH 连接、SFTP 文件传输、服务器监控这些核心功能做日常实验完全够。如果你需要更高级的批量管理、同步功能可以了解官方的付费版本走正规渠道获取授权别去碰来路不明的激活工具这类东西带木马的概率极高。2.3 一个容易被忽略的坑虚拟化开关在开始装 VMWare 之前先去 BIOS 或 UEFI 里确认一下 Intel VT-x 或者 AMD-V 虚拟化技术是开启状态。这个选项通常叫Virtualization Technology、SVM Mode之类的名字。没开的话VMWare 安装完创建虚拟机时会报此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态。另外一个高频问题Windows 自带的 Hyper-V、WSL2、内存完整性保护这些功能会占用底层虚拟化导致 VMWare 报错。解决办法是在启用或关闭 Windows 功能里取消勾选 Hyper-V 和虚拟机平台然后重启。如果你平时要用 WSL2那就在两者之间做取舍或者用较新版本 VMWare它对 Hyper-V 兼容性已经改善不少。3. VMWare Workstation 安装与虚拟机创建3.1 安装过程的关键选项运行安装包后一路点下一步就行但有几个地方值得停一下。安装类型选典型路径建议改到非系统盘比如D:\VMWare因为虚拟机文件将来会很大放 C 盘迟早爆。用户体验设置里的启动时检查产品更新加入客户体验提升计划可以取消减少弹窗打扰。安装完成后会要求输入许可证密钥。VMWare Workstation 个人使用有其授权政策具体可以查阅官方说明按照官方指引获取合法授权。网上流传的各种永久密钥大多已失效或者来源存疑不建议采用。安装完第一次启动如果弹出此平台不支持虚拟化的 Intel VT-x/EPT之类的错误回到 2.3 节检查虚拟化开关和 Hyper-V 状态。3.2 新建虚拟机的参数选择打开 VMWare点创建新的虚拟机选自定义高级这样能把每个参数都看一遍。新手也可以选典型后面再改配置。硬件兼容性保持默认的最高版本即可。安装来源这一步选稍后安装操作系统千万别选安装程序光盘映像文件——如果这里就挂载镜像VMWare 会走简易安装模式自动帮你分区、装最小化系统你连分区界面都看不到对学习不友好。客户机操作系统选 Linux版本选 CentOS 7 64 位。命名和位置这里两个都要改虚拟机名称随便起比如centos7-lab位置一定选一个空间大的盘比如D:\VirtualMachines\centos7-lab。默认路径在 C 盘用户目录下将来磁盘膨胀会很痛苦。处理器给 2 核内存给 2048MB 或 4096MB。低于 1024MB 装图形界面会非常卡。网络类型这一步很关键四个选项先记住使用桥接网络虚拟机和宿主机在同一个局域网虚拟机有独立 IP使用网络地址转换NAT虚拟机通过宿主机上网宿主机之外看不到它使用仅主机模式网络只能宿主机和虚拟机通信不能上外网不使用网络连接暂时不连网具体选哪个第 5 节会详谈。这里先选NAT适合大多数场景。I/O 控制器类型和磁盘类型保持推荐值。磁盘选创建新虚拟磁盘大小填 40GB选择将虚拟磁盘拆分成多个文件——这样迁移方便单文件虽然性能略好但一个文件几十 GB 不好挪。磁盘文件名默认。最后一步点自定义硬件把新 CD/DVD那一项设置成使用 ISO 映像文件选中你下载好的 CentOS7 镜像。顺便把启动时连接勾上。还可以在这里移除不需要的设备比如打印机、声卡减少资源占用。3.3 首次启动与安装引导点完成后虚拟机出现在左侧列表里点开启此虚拟机。第一次启动会先做个内存自检然后从 ISO 引导出现 CentOS 安装菜单。菜单里选第一项Install CentOS 7。如果你手快按了别的或者屏幕卡住不动直接按 CtrlAltInsert 重启虚拟机这个组合键是 VMWare 里的发送 CtrlAltDel因为直接按会被宿主机截获。引导后可能弹出是否测试此介质选Skip跳过除非你怀疑镜像坏了。4. CentOS7 系统安装的完整步骤4.1 安装向导逐项配置进入图形安装界面后先选语言。想练英文环境就选 English新手建议选中文简体减少理解成本。选完点继续。接下来这个页面是核心从上到下依次配置日期和时间选亚洲/上海开启网络时间同步。时间不对会导致 yum 证书校验失败这个坑很隐蔽。软件选择默认是最小安装只有命令行。新手建议选GNOME 桌面或者开发及生成工作站。如果走服务器路线只想要命令行就保持最小安装但后面要手动装不少工具。我一般给新人推荐基础设施服务器这一档介于两者之间。安装位置这就是分区。默认选自动配置分区能省事但强烈建议选我要配置分区手动分一次理解 Linux 目录结构。具体方案见下一节。KDUMP内核崩溃转储功能实验环境用不上可以关闭节省一部分内存。网络和主机名这一步很多人会跳过其实可以在安装阶段就把网络开好。右上角有个开关打开后会通过 DHCP 拿到一个 IP。主机名改一个好记的比如centos7-lab。如果这里没配装完系统再配也行第 6 节会详细讲。SECURITY POLICY安全策略实验环境直接关掉。4.2 分区方案怎么定手动分区界面里先点我要配置分区分区方案选标准分区。然后按下面这个方案分挂载点建议大小说明/boot1GB存放内核和引导文件swap内存的1-2倍虚拟内存内存小于2G时可给2G/剩余全部根分区系统主体如果磁盘给的是 40GB可以让 / 分 30GB剩下的留给将来扩展。也可以不单独分 /home把数据都放根分区里实验环境够用就行。分完点完成会弹出接受更改。如果有警告提示 swap 偏小之类实验环境忽略即可。分区的意义在于把系统盘和数据盘分开放某个分区满了不至于整个系统崩溃。生产中 /var 经常单独分出来因为日志会疯狂增长但实验环境不用这么讲究。4.3 root 密码与用户创建回到主界面点开始安装安装过程中会让你设置 root 密码和创建用户。root 密码设置一个你记得住的。如果设得太简单比如123456安装程序会让你点两次完成来确认这是正常的强密码校验。实验环境不用太复杂但养成习惯的话还是设个像样的。创建用户建议创建一个普通用户比如用户名dev并勾选将此用户设为管理员。日常操作尽量用普通用户加sudo不要一直用 root 干活这是 Linux 的安全惯例。当然实验环境里直接 root 也无所谓。安装过程大概 10 到 20 分钟取决于磁盘速度。完成后点重启。4.4 首次启动与许可协议重启后会进入初始化界面需要接受许可协议然后可能让你创建一个联网账户直接跳过。最后用刚才设的用户登录。登录后建议先确认几件事ip addr看有没有拿到 IPping www.baidu.com看能不能上网systemctl status sshd看 SSH 服务是否运行。这三个检查过了FinalShell 连接基本就稳了。如果ip addr只看到lo和一个没有 IP 的网卡说明网络没起来进入第 6 节。5. 虚拟机网络模式原理与选型5.1 三种模式到底差在哪这是新手最容易懵的部分。我用日常生活打比方桥接模式相当于给虚拟机单独拉了一根网线接到你家路由器上。虚拟机在局域网里是一个独立设备有自己的 IP家里其他设备都能直接访问它。好处是通透坏处是 IP 资源消耗快公司网络里还可能被网管发现。NAT 模式相当于虚拟机躲在你宿主机后面通过宿主机转发上网。外面看不到虚拟机虚拟机却能通过宿主机出去。对于 FinalShell 来说如果是宿主机去连虚拟机NAT 完全没问题因为宿主机和虚拟机在同一个虚拟网段里。仅主机模式就是虚拟机和宿主机之间连了根看不见的网线但都上不了外网。适合做隔离测试。对比总结模式虚拟机能上外网宿主机能连虚拟机局域网其他设备能连虚拟机适用场景桥接能能能需要被外部访问NAT能能不能本地实验、上网仅主机不能能不能隔离测试5.2 为什么建议新手先用 NAT理由有三条。第一NAT 不需要依赖宿主机所在网络环境换到公司、家里、咖啡厅都能用桥接模式在有些网络里会拿不到 IP。第二NAT 不会把你的虚拟机暴露到公司内网避免被安全扫描盯上。第三FinalShell 从宿主机连虚拟机NAT 完全支持够用了。唯一需要注意的是NAT 模式下虚拟机的 IP 是由 VMWare 的虚拟 DHCP 分配的可能每次重启变。想固定 IP 就手动配置静态 IP第 6 节会讲。如果你想用手机或者另一台电脑连这个虚拟机那就得换桥接模式。切换方法虚拟机设置 → 网络适配器 → 选桥接然后虚拟机里重启网络。5.3 NAT 的虚拟网段怎么查VMWare NAT 模式对应一个虚拟网络叫 VMnet8。在 Windows 的网络连接里能看到它或者打开 VMWare 菜单编辑 → 虚拟网络编辑器选中 VMnet8点NAT 设置和DHCP 设置能看到网段和网关。常见的默认配置是子网192.168.x.0掩码255.255.255.0网关192.168.x.2。这个x每台机器可能不一样一定要自己查清楚配静态 IP 的时候要用。注意VMnet8 的网段不要和宿主机所在的实际局域网网段冲突。如果家里路由器也是 192.168.10.x而 VMnet8 也分到了 192.168.10.x就会出现路由混乱表现是宿主机有时连不上虚拟机。解决方法是改 VMnet8 的子网段比如改成 192.168.100.0。6. CentOS7 网络配置实操6.1 先看清楚现状登录 CentOS7打开终端执行ip addr你会看到类似ens33或ens160的网卡名这是 CentOS7 引入的可预测网卡命名规则不再是 eth0。记住这个名字下面全用ens33举例。再看一眼路由ip route如果输出里有default via 192.168.x.2 dev ens33说明网关是通的。没有 default 那行就是没配网关。最后看 NetworkManager 里的连接状态nmcli connection show会列出类似ens33的连接名和 UUID。用nmcli这套命令管理网络比直接改文件更官方但直接改配置文件更直观下面两种都讲。6.2 编辑网卡配置文件CentOS7 的网卡配置在/etc/sysconfig/network-scripts/目录下文件名是ifcfg-ens33。用 root 或者 sudo 编辑sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33把内容改成下面这样以 192.168.100.0 网段为例你自己的网段按 5.3 节查到值来填TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes IPV6_DEFROUTEyes IPV6_FAILURE_FATALno IPV6_ADDR_GEN_MODEstable-privacy NAMEens33 UUID你的UUID保留原有值不要动 DEVICEens33 ONBOOTyes IPADDR192.168.100.10 PREFIX24 GATEWAY192.168.100.2 DNS1192.168.100.2 DNS2114.114.114.114逐行解释几个关键项BOOTPROTOstatic由 dhcp 改成 static表示手动指定 IPONBOOTyes开机自动启用网卡默认可能是 no不改的话每次重启都没网IPADDR你要给虚拟机用的固定 IP要和 VMnet8 同网段且不能和网关、DHCP 池冲突PREFIX24等价于子网掩码 255.255.255.0GATEWAY指向 VMnet8 的网关地址通常是网段的 .2DNS1可以先填网关如果解析不了再换成公共 DNS6.3 重启网络并验证改完保存执行sudo systemctl restart network或者用 nmclisudo nmcli connection reload sudo nmcli connection up ens33接着验证三件事ip addr show ens33 # 看 IP 是否是你设置的 ip route # 看默认网关是否生效 ping -c 4 192.168.100.2 # ping 网关 ping -c 4 www.baidu.com # ping 域名验证 DNS四条都通网络就算配好了。如果 ping 网关通但域名不通是 DNS 问题ping 网关都不通是 IP 或网关配错或者网卡没起来。实操心得改完配置如果systemctl restart network报错先看/var/log/messages里的错误信息常见的是配置文件里有多余空格、中文引号、UUID 重复。VMWare 克隆出来的虚拟机会出现 UUID 冲突用uuidgen ens33生成新的填进去就行。6.4 静态 IP 的规划建议实验环境 IP 规划有个小技巧把虚拟机 IP 定在 DHCP 池之外。VMnet8 的 DHCP 池默认可能是.128到.254那你把静态 IP 定在.10到.100之间就不会冲突。具体池范围在虚拟网络编辑器的 DHCP 设置里能看到。如果嫌麻烦还有一种办法在虚拟网络编辑器里干脆关掉 DHCP全部用静态 IP。但这样如果以后新建别的虚拟机就要手动配看个人习惯。7. FinalShell 安装与连接配置7.1 安装与账号登录FinalShell 支持 Windows、macOS、Linux安装包体积不大一路下一步就行。安装路径建议还是避开系统盘。启动后会要求登录或注册账号免费版也有云同步功能可以跳过登录直接用本地模式。界面主要分三块顶部是连接管理左侧是文件树右侧是终端。刚上手会觉得信息密度有点高用两天就习惯了。7.2 新建 SSH 连接点左上角的文件夹图标 → 新建连接 → SSH连接填这些名称随便起比如centos7-lab主机填虚拟机的 IP比如192.168.100.10端口22默认不变认证方法密码用户名root或者你创建的普通用户密码对应密码CenOS7 默认安装了 OpenSSH 服务一般不用额外配置。但如果连不上先在虚拟机里确认sudo systemctl status sshd sudo systemctl enable sshd如果显示 inactive 或 disabled就启动并设置开机自启。7.3 连不上的第一反应FinalShell 报连接超时或Connection refused按这个顺序排查虚拟机 IP 对不对在虚拟机里ip addr确认可能你记的是旧 IP宿主机能不能 ping 通虚拟机在 Windows 命令提示符里ping 192.168.100.10SSH 服务在不在虚拟机里systemctl status sshd防火墙挡没挡CentOS7 默认开了 firewalld可以临时sudo systemctl stop firewalld测试或者放行 22 端口端口对不对没改过就是 22把这几条挨个过一遍99% 的连接问题都能解决。注意不要一上来就setenforce 0关掉 SELinux虽然遇到过 SELinux 影响端口的问题但生产环境里关 SELinux 是坏习惯。实验环境如果确认是 SELinux 导致临时关闭排查没问题但要知道原因再关。8. 常见问题排查速查表8.1 网络类问题现象可能原因排查方向虚拟机没有 IPONBOOTno网卡未启用改配置文件后重启网络能 ping 网关ping 域名失败DNS 未配置检查 DNS1/DNS2宿主机 ping 不通虚拟机网段冲突、防火墙换 VMnet8 网段关 firewalld 测试虚拟机 ping 不通外网网关错误核对网关是否为 VMnet8 的 .2IP 每次重启都变用的 DHCP改 static 固定 IP8.2 连接类问题现象可能原因解决办法连接超时IP 不通、SSH 未启动先在宿主机 ping 通拒绝连接SSH 未运行或端口被占systemctl restart sshd认证失败用户名密码错误虚拟机里重置密码连接后立即断开防火墙拦截放行 22 或关 firewalld连接卡顿虚拟机内存不足提高虚拟机内存分配8.3 一个真实踩坑记录有一回同事的虚拟机上午还能连下午突然 FinalShell 就报超时。折腾了好久最后发现是他早上开了一个占用 VMnet8 网段的其他虚拟网络工具把虚拟网卡搞冲突了。开虚拟网络编辑器点还原默认设置重置一下 VMnet 网络问题立马解决。还有一个经典坑Windows 上的虚拟网络编辑器必须在关闭所有虚拟机的情况下才能改动运行中改设置会提示失败或者不生效。9. 日常使用中的几个效率技巧9.1 快照是你最强的后悔药虚拟机最大的好处就是可以快照。装完系统打一个快照叫纯净系统装完常用工具打一个叫基础环境装 Docker 之前再打一个叫待装Docker。将来无论怎么折腾崩了右键快照 → 恢复到某个快照30 秒回到当时的状态。对比重装系统动辄半小时快照简直救命。我的习惯是每周做一次快照同时删掉太旧的快照快照太多也占空间。9.2 文件传输走 SFTPFinalShell 左侧的文件面板可以直接拖拽上传下载。选中虚拟机里的某个目录把本地文件拖进去就上传反过来把虚拟机文件拖到本地窗口就下载。比用scp命令直观太多尤其传多个文件时。也可以直接双击文件打开编辑改完保存后自动上传改配置文件特别方便。但要注意 FinalShell 的编辑器可能对中文或者特殊编码支持一般改动重要的ifcfg文件前最好cp一个备份。9.3 终端里的几个细节FinalShell 内置了服务器监控条右上角能看到 CPU、内存、网络实时曲线调优或排查卡顿时很有用。双击 SSH 会话标签页可以把终端独立窗口化方便多虚拟机同时操作。常用命令可以收藏在 FinalShell 底部的命令面板里比如systemctl restart network、tail -f /var/log/messages这种高频命令点一下就执行比手打省事。最后再分享一个小习惯每次配置完网络、SSH 这些基础设施后在虚拟机里写一个/root/readme.txt把 IP、账号、常用命令记进去。过两个月再回来光看界面绝对想不起来当初怎么配的有个文件省心很多。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →