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 安装软件
-
拷贝 software.tar.gz、samba.tar.gz到根目录
-
解压
tar -xzvf software.tar.gz tar -xzvf samba.tar.gz
- 进入各自目录执行
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.测试连接
- 本文固定链接: https://weiguangli.com/archives/746
- 转载请注明: lwg0452 于 Weiguang的博客 发表
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!