首页 > Linux > 在无网络的 CentOS7 环境下安装 WindowsServer2016 虚拟机
2024
11-28

在无网络的 CentOS7 环境下安装 WindowsServer2016 虚拟机

1 软件包准备

1. Windows Server 2016 ISO 镜像

2. KVM 相关软件包下载(在没安装过这些软件的机器上执行) software.tar.gz
yumdownloader --resolve tigervnc-server qemu-kvm libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install virt-viewer

3. Samba 相关软件包 (用于宿主机给win虚拟机分享 OPEN-SSH 安装包) samba.tar.gz
yumdownloader --resolve samba samba-client samba-common

4. windows版 OPEN-SSH zip包

2 安装 CentOS 虚拟机

过程略

3 安装软件

  1. 拷贝 software.tar.gz、samba.tar.gz到根目录

  2. 解压

tar -xzvf  software.tar.gz
tar -xzvf samba.tar.gz
  1. 进入各自目录执行
rpm -ivh *.rpm --nodeps --force

4 配置 VNC

1. 拷贝文件
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

2. vim /etc/systemd/system/vncserver@:1.service,用用户名root替换掉<USER>

3.
systemctl daemon-reload

4.设置密码
vncpasswd
// 123456
// view-only: 12345678

5.
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service


6. 查看端口
netstat -unltp |grep vnc

7. 防火墙开放端口
firewall-cmd --permanent --zone=public --add-port=5901/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-port
firewall-cmd --zone=public --list-all

5. 配置网卡,创建一个网桥(根据实际情况修改响应参数)

1. 查看默认网卡
ifconfig -a

2. cd 到网络配置
cd /etc/sysconfig/network-scripts/

3. 新建一个网桥配置 ifcfg-br0,内容如下:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
DELAY=0


IPADDR=10.6.9.34
NETMASK=255.255.255.0
GATEWAY=10.6.9.1
DNS1=10.6.10.40
DNS2=172.30.2.40


4. 修改当前使用的网卡 ifcfg-enp6s0f0, 内容如下:(添加BRIDGE,注释掉ip等配置,在br0中配置这些内容)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no

BRIDGE=br0
BOOTPROTO=none

# BOOTPROTO=static
# IPADDR=10.6.9.34
# NETMASK=255.255.255.0
# GATEWAY=10.6.9.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp6s0f0
UUID=3d913131-2920-4607-a744-a172aa0b16ef
DEVICE=enp6s0f0
ONBOOT=yes
# DNS1=10.6.10.40
# DNS2=172.30.2.40


5. 重启网络
systemctl restart network

6 安装虚拟机

1. 判断是否支持虚拟化
grep -Eoc "vmx|svm" /proc/cpuinfo

2. 关闭SELinux
# 将 /etc/sysconfig/selinux 中的SELinux=enforcing修改为 SELinux=disabled  
vim /etc/sysconfig/selinux 

3. 重启宿主机
reboot

4. 查看kvm模块是否被正确加载
lsmod | grep kvm

5. 开启kvm服务,设置开机自启动
systemctl start libvirtd.service  
systemctl enable libvirtd.service

6. 查看libvirtd是否正常运行
systemctl status libvirtd  
systemctl is-enabled libvirtd

7. 打开qemu.conf, 把 vnc_listen = "0.0.0.0" 前面的注释 # 去掉
vim /etc/libvirt/qemu.conf


8. 开启 IPv4 的转发
vim /etc/sysctl.conf
把 net.ipv4.ip_forward = 1  值原来是 0, 改成 1
执行命令 sysctl -p 使配置生效

9. 创建虚拟硬盘,根据需要调整相关参数
qemu-img create -f raw /var/lib/libvirt/images/win.raw 60G

10. 开放虚拟机 VNC 端口
firewall-cmd --permanent --zone=public --add-port=5911/tcp
firewall-cmd --reload

11. 安装虚拟机,需要修改相关参数,cdrom是镜像路径,不要放在根目录下,会有权限问题
virt-install \
  --name w16 \
  --ram 4096 \
  --vcpus 6 \
  --cpu host \
  --disk path=/var/lib/libvirt/images/win.raw,size=60 \
  --os-type windows \
  --os-variant win2k16 \
  --network bridge=br0 \
  --cdrom /usr/iso/WS2018U.iso \
  --graphics vnc,listen=0.0.0.0,port=5911\
  --boot cdrom,hd


12. 换个session,进入安装界面(如果上一条命令没有自动打开安装界面)
sudo virt-viewer

13. 如网络没有通过DHCP自动获取,在系统安装完成后手动配置和宿主机同一网段下的IP

14. Windows防火墙放行ICMP windows防火墙 => 高级设置 => 文件和打印机共享(回显请求-ICMPv4-In) 启用规则

15. 测试和宿主机的连通性 ping 宿主机IP

7 桥接如果不能上外网,再配一个NAT(可选)

1. 虚拟机关机

2. 添加 NAT 网卡
virsh attach-interface --domain w16 --type network --source default --model e1000 --persistent

3. 进windows,手动配置ip(如需要)

8 宿主机安装 samba,给虚拟机共享文件(在虚拟机安装OPEN-SSH)

1. 配置共享文件夹,假设要共享的文件夹是 /root/win_share
mkdir -p /root/win_share
chmod 777 /root/win_share

2. 修改 Samba 配置文件 /etc/samba/smb.conf (vim /etc/samba/smb.conf),在文件末尾添加以下内容:
[shared]
path = /root/win_share
browsable = yes
writable = yes
guest ok = yes

4. 启用并启动samba服务,设置开机自启动
systemctl enable smb
systemctl enable nmb
systemctl start smb
systemctl start nmb

5. 配置防护墙放行
firewall-cmd --zone=public --add-service=samba --permanent
firewall-cmd --reload

6.创建samba用户,username替换为需要的名字
smbpasswd -a username

6. 启用该用户
smbpasswd -e username

7.在 windows server 上访问 \\<CentOS_IP>\共享目录,例如:
\\10.6.9.34\root\win_share

8.输入samba用户名密码进入

9.宿主机将open-ssh压缩包拷贝到 \root\win_share,虚拟机拷贝到本地

9 windows server 2016 安装sshd

1. 从共享目录拷贝压缩包,解压到C:\Program Files,有一层同名文件夹嵌套,可以自行解套

2. 修改环境变量,在系统变量中添加一个变量名 OPENSSH
变量值: C:\Program Files\OpenSSH-Win64
最后将%OPENSSH%添加到系统Path

3. 打开powershell
cd "C:\Program Files\OpenSSH-Win64"
.\install-sshd.ps1

4.开启防火墙
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

5. 启用自动启动
Set-Service -Name sshd -StartupType ‘Automatic’

6.启动sshd
net start sshd

8.测试连接
最后编辑:
作者:lwg0452
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。