Centos7.5利用kvm远程安装Windows Server,并设置rinetd端口转发


最近的工作中需要一台WindowServer2016服务器做测试,但公司的服务器都是Centos,于是想到在一台配置比较高的服务器上利用kvm安装一台虚拟机,在安装过程中除了一些问题,以此记录一下过程,供大家参考。
本次安装过程仅是在Centos 7.5中安装WindowServer2016,未测试其他版本系统,服务器为Intel CPU。
文章参考: CentOS7安装KVM虚拟机(Windows Server2016)详解.

kvm安装

检测cpu是否开始虚拟化支持

执行命令,结果中有vmx即为cpu支持

cat /proc/cpuinfo | grep 'vmx'

安装kvm

  1. 以yum方式安装
yum -y install kvm libvirt python-virtinst libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
  1. 安装完毕重启服务器
shutdown -r now
  1. 查看kvm模块
lsmod | grep kvm 
  1. 开启libvirtd服务
systemctl start libvirtd.service

至此kvm环境安装完毕

网卡配置

网上其他参考文章大都是在宿主机在局域网内,因而选择桥接(BRIDGE)模式,此模式可以使虚拟机和宿主机处于同一局域网内,便于访问。但我是在服务器上安装,并且暂时没有一个新的IP给虚拟机用,所以选择默认的NAT模式,再进行端口转发(后边会写如何设置)即可。
在安装完后应该会增加一块虚拟网卡
通过ip addr 查看,或者ifconfig(centos7需要yum安装后才能使用)

ip addr

在这里插入图片描述
如图 virbr0即为新增的网卡
默认设置即可

远程可视化操作服务搭建

为了后续可视化操作安装和设置windows,采用vnc搭建服务。

安装vnc

yum -y install tigervnc tigervnc-server

配置vnc

  1. 编辑配置文件vncserver@.service
vi lib/systemd/system/vncserver@.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
#将两处<USER>改为需要用来登录vnc服务的用户名
  1. 设置vnc密码
vncpasswd
  1. 设置防火墙规则
firewall-cmd --permanent --add-service="vnc-server" --zone="public"  
firewall-cmd --reload 

至此vnc配置完毕,如何使用客户端链接在后续介绍

虚拟机安装

需要事先将要安装的系统镜像文件放入宿主机内,我的位置是/src/windows server 2016.iso

创建磁盘

  1. 创建虚拟磁盘,磁盘类型有raw和qcow2
qemu-img create -f raw /vir/server.raw 100G
  1. 检查磁盘信息
qemu-img info /vir/server.raw 

image: /vir/server.raw
file format: raw
virtual size: 100G (107374182400 bytes)
disk size: 13G

安装系统

  1. virt-install命令安装系统,此为windows系统的命令,centos会有一些不同
virt-install 
--virt-type kvm 
--name server2016						#虚拟机名称 
--ram 8000 								#内存
--cdrom=/src/windows server 2016.iso	#系统镜像地址	 
--boot cdrom 			
--vcpus 4  								#cpu数量
--graphics vnc,listen=0.0.0.0,port=5902 #设置vnc可用,及vnc端口
--disk path=/vir/server.raw,bus='ide'	# 虚拟磁盘地址
--noautoconsole 
--os-type=windows
  1. 执行命令以后会有提示
开始安装......  
域安装仍在进行。您可以重新连接  
到控制台(virsh console)以便完成安装进程
  1. 此时应该通过vnc客户端进行远程链接安装
    在这里插入图片描述
    vnc viewer在此处下载
    VNC server位置填写服务器ip地址和端口号,端口号为上一步中--graphics vnc,listen=0.0.0.0,port=5902设置的端口。
    连接成功以后将会进入熟悉的windows安装界面。

端口转发

当安装成功以后需要对宿主机进行端口转发的设置,才能畅通无阻的使用远程桌面等功能。
我采用的是rinetd,因为通过对firewall的设置中发现,用firewall配置端口转发有一些问题,而rinetd安装简单,操作方便。

  1. 下载并编译安装rinetd
    从rinetd官网下载编译安装包,解压缩后进入目录进行编译安装。
tar zxvf rinetd.tar.gz 
cd rinetd
cat Makefile
make
make install
  1. 配置rinetd
    安装完成后编辑配置文件,设置端口映射
vi /etc/rinetd.conf
#来源IP 端口 内部IP 端口
#例:转发3389端口至内部机器
0.0.0.0 3389 192.168.122.144 3389
#保存后运行
rinetd -c /etc/rinetd.conf
#查看rinetd运行状态
netstat -tanulp|grep rinetd
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      85196/rinetd 

防火墙设置

centos7防火墙变为firewall,操作和iptables不太一样。进行端口转发设置以后,还需要添加防火墙规则才能正常访问。
例:添加3389端口

firewall-cmd --zone=public --add-port=3389/tcp --permanent
#重启生效
firewall-cmd --reload

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值