全栈开发实战——VMware虚拟机-Debian12

原创
2024/07/24 17:41
阅读数 105

1. 介绍


vmware是一款运行在windows系统上的虚拟机软件,可以虚拟出一台计算机硬件,方便安装各类操作系统。如Windows、macos、linux、unix等等。

2. 安装


注意事项:

  1. hyper 和 vmware 冲突,安装 vmware 需要卸载 hyper
  2. 实测 windows server 2019 支持vmware
  3. player 版本功能少,直接用 Pro 版本

现在下载软件需要注册了,可以直接下载 https://download3.vmware.com/software/WKST-1750-WIN/VMware-workstation-full-17.5.0-22583795.exe

具体安装过程省略。

3. 导入、导出镜像

虚拟机发生错误或故障导致数据丢失时可以通过备份映像快速将虚拟机恢复到正常的状态。通过还原虚拟机备份映像的方式创建相同的虚拟机,从而实现虚拟机迁移或克隆目的。

  1. OVF作用
  • 保存当前虚拟机的状态
  • 利用ovf还原虚拟机状态
  1. 导出 ovf

选中要导出的虚拟机,点击“文件-导出为OVF”(确保虚拟机都已经关闭,否则该菜单无法点击)。

  1. 打开 ovf

4. 配置远程登录

默认root账户是不支持远程的,只能用普通账户远程,需要将 /etc/ssh/sshd_config 中的 PermitRootLogin prohibit-password 修改为PermitRootLogin yes

重启服务。

systemctl restart sshd

重新尝试远程登录,成功。

5. 虚拟网络编辑器


VMware提供了三种网络连接方式,VMnet0, VMnet1, Vmnet8,分别代表桥接,Host-only及NAT模式。

桥接模式:VMnet0代表"桥接模式"的虚拟交换机,虚拟主机与真实主机地位完全相同,因此必须给虚拟主机配置相应的IP地址等,当然也可以使用DHCP服务器动态分配IP地址,虚拟机和外网双向访问

仅主机模式:VMnet1代表"仅主机模式"的虚拟交换机,建立一个仅连接真实主机和虚拟主机的网络,虚拟主机无法连接外网,因此称为仅主机模式。

NAT模式::VMnet8代表“NET”模式的虚拟交换机,用于虚拟主机需要访问外网而不希望被外网访问的情形下,也是实现虚拟机外网访问的最简单模式,默认直接打开就能用。

nat 设置端口转发

添加端口映射和虚拟机IP地址,可以使用命令 ip address 查看虚拟机IP。

添加入站规则(windows 11 举例,和 windows server 有区别)。

按照自己的要求创建规则。

测试端口映射(举例宿主机 ssh 连接虚拟机)ssh root@ip地址 -p 映射的端口

遗留问题:使用 ssh root@127.0.0.1 -p 16378 我的windows 11 能正常连接,但是 windows server 2019 不能,难道是多网卡的问题?

桥接模式配置——动态IP

当有大量的端口需要被外网访问时,可以使用桥接模式,nat 端口转发只能一个一个填。

虚拟机配置桥接模式,要重新启动后才有效。

使用 ip address 命令查看网络配置,ens33是我们的物理网卡。

编辑/etc/network/interfaces文件,内容如下:

 # 系统启动时即自动激活网卡(ens33为网卡设备名)
auto ens33
# 即插即用(USB类型网卡)
allow-hotplug ens33
# 通过DHCP服务器自动获取IP信息
iface ens33 inet dhcp

重新启动网络服务。

systemctl restart networking.service

桥接模式配置——静态IP

获得物理网卡ens33的netmask(子网掩码 /24 表示的是 255.255.255.0)、broadcast(广播地址)、gateway(网关地址)。

查看宿主机网络配置,发现都不是同一个网段,宿主机肯定无法访问虚拟机。

编辑/etc/network/interfaces文件,这里需要用宿主机的网络配置(如果不是虚拟机,而是物理机,静态IP得用上面它自己的配置),内容如下:

#  物理网卡名称
auto ens33
# iallow-hotplug ens33
# iface ens33 inet dhcp

# 设置静态ip
iface ens33 inet static
# 设置静态ip地址
address 192.168.0.114/24
# 设置子网掩码
netmask 255.255.255.0
# 网络的广播地址
# broadcat 192.168.0.255
# 网关的地址
gateway 192.168.0.1
# dns域名服务器
dns-nameservers 8.8.8.8 114.114.114.114

重新启动网络服务。

systemctl restart networking.service

最终配置。

验证是否修改成功。

安装个 nginx , 然后用浏览器访问试试。

apt install nginx

成功。

桥接模式配置——访问外网

ping baidu.com 发现域名不通,但是ip能通,说明是dns解析的问题。

编辑 /etc/resolv.conf 文件,内容如下:

nameserver 8.8.8.8
nameserver 114.114.114.114

重新尝试,可以了。

遗留问题,使用 systemctl restart networking.service 或者重新启动系统后,resolv.conf 文件可能会被覆盖,此时 ping baidu.com 仍然不行,是因为有其他程序夺取此文件的控制权,如NetworkManager、systemd-resolved。后来不知道为啥又不被覆盖了!!!如果还有问题的话可以设置文件为只读或者使用网上其他方案。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部