如果我有一台物理服务器,但需要模拟多个机器,那么我可以在服务器上安装多个虚拟机供多个用户使用。本文介绍的是如何通过远程桌面连接一台物理服务器,然后通过远程桌面在物理服务器上安装kvm,之后通过kvm安装虚拟机,并将虚拟机配置为桥接模式;这样物理服务器不需要做任何改变,可以为其他人随意创建和销毁虚拟机。
注:这里我仅仅在UbuntuDesktop16.0下试过,其它的版本可能会存在一些源不存在等安装的玄学问题,但整体思路是一样的,遇到出错自行解决。
系统的安装忽略,不会安装系统的自行解决。
这里我使用vncviewr这一套工具来进行远程桌面的管理,我选用了x11vnc,首先ssh上你的物理服务器,执行一下命令:
sudo apt install x11vnc -y
sudo x11vnc -storepasswd /etc/x11vnc.pass
vim /lib/systemd/system/x11vnc.service
黏贴如下代码
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
sudo ufw allow 5900
sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload
sudo shutdown -r now
此时服务器上远程桌面已经安装好,这时需要在你的电脑上安装,vnc viewer的客户端,填写IP地址密码连接上去即可,这我就不教了。vnc server的安装我参考了这篇博客https://blog.csdn.net/longhr/article/details/51657610
egrep "(svm|vmx)" /proc/cpuinfo
sudo apt-get install qemu-kvm
sudo apt-get install qemu
sudo apt-get install virt-manager
sudo apt-get install virt-viewer
sudo apt-get install libvirt-bin
sudo apt-get install bridge-utils
sudo virt-manager
kvm的安装我参考了这里https://www.linuxidc.com/Linux/2017-02/140093.htm
安装完kvm会产生默认的网桥virbr0,但virbr0用于NAT,我们需要单独创建自己用来桥接的网桥。(对网桥不熟悉的可以参考这篇https://segmentfault.com/a/1190000009491002)
sudo vim /etc/NetworkManager/NetworkManager.conf
managed=false改为managed=true
sudo vim /etc/network/interfaces
改为如下的样子,enp3s0是我自己的有线网卡的名字
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#kvm
auto br0
iface br0 inet dhcp
bridge_ports enp3s0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
sudo reboot
此时网桥已经配置好,在使用kvm创建虚拟机时只需要将网卡配置为桥接即可,这样虚拟机就以桥接方式连接到了物理机器,外网也可以访问了。
虚拟机网卡的配置我参考了这篇https://blog.csdn.net/chenhaifeng2016/article/details/78162759
这个和安装普通系统是一样的,我就不教了。
若是以上哪一步遇到问题可以单独通过互联网解决!!!