前几天折腾2欧的时候看到后台有Proxmox,就试了下,因为母鸡cpu的限制,不能虚拟kvm的小鸡,只能折腾openvz的了。
 
    Proxmox 是一个集成了KVM、OpenVZ的开源虚拟化管理平台。基于Debian Etch构建。Proxmox有简单易用的WEB控制面板。让用户可以在网页环境中轻松的建立和管理KVM以及OpenVZ构架的虚拟机。
 
二、安装Proxmox
 
我在网上看到很多都是通过官方提供的ISO镜像或者独服自己提供模板来装的Proxmox,自己编译安装还没找到相关的教程,不过对于独服来说挂载个iso也不是啥难事。
 
1.进入2欧的管理界面,点击“install”进行重装。重装的时候选择“Vurtualization distributions”选项。
 
 
 
 
2. 在上方的系统选择中点击“Proxmox”,之后在最下面点击“install proxmox”按钮。
 
 
 
 
 
3. 在系统配置选项中依次输入:主机名、管理密码、用户名、用户密码。(这里建议大家用一样的密码以免弄混)
 
 
 
 
4. 在下一个页面中点击“delete all my disks and install the system!” 就进入正式安装环节了。系统会提示这将会花费你45-60分钟的时间。在实际安装中。大概仅需要20-30分钟即可安装完毕。我们仅需要耐心的等待。
 
 
 
 
5. 安装完成之后,即可在后台看到Proxmox的管理地址。如下图。
 
 
 
 
6. 访问该地址,并使用 root 用户以及管理密码登陆。记得选择中文。
 
需要等1个小时左右才能通过上面 的地址来访问面板,最好直接使用https://yourip:8006来访问面板。
 
 
 
 
7. 成功登陆之后,即可看到简介又强大的proxmox面板。
 
 
三、NAT网络配置
 
在正式创建虚拟机之前,我们先要对Promox的网络进行配置。由于2欧这台机器仅有一个公网IP。我们并不能为创建的虚拟机分配各自的公网IP。所以本章节的目的就是,为每一台虚拟机分配一个内网IP地址。并通过iptables 为每一个内网IP地址做相应的端口转发。
 
典型的SSH 22端口转发为公网IP其它端口的网络图。
 
 
当我们通过公网IP(195.154.8.8)的1022端口访问SSH时,首先访问的是Proxmox主机的NAT网络。再通过iptables的转发,最终访问虚拟机内网IP(10.99.0.1)的22端口。从而实现将虚拟机的22端口在公网之中可以顺利访问。
 
1. 实现代码:
 
auto vmbr2 iface vmbr2 inet static     address 10.99.0.254     netmask 255.255.255.0     bridge_ports none     bridge_stp off     bridge_fd 0     post-up echo 1 > /proc/sys/net/ipv4/ip_forward     post-up iptables -t nat -A POSTROUTING -s '10.99.0.0/24' -o vmbr0 -j MASQUERADE     post-down iptables -t nat -D POSTROUTING -s '10.99.0.0/24' -o vmbr0 -j MASQUERADE     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 10.99.0.1:22     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 10.99.0.1:22
 
以上代码将新建一个vmbr2的虚拟网卡。并规划 10.99.0.*内网网段。将此网段的所有上下行流量通过NAT全部转发至vmbr0的网卡。最后两行,是通过iptables将静态IP (10.99.0.1)的22端口转发为公网IP的1022端口。所以如果您需要新建1个以上的虚拟机。请添加更多的转发设置,以及设定新的转发端口。
 
2. 配置过程
 
将以上代码复制,并添加到Proxmox主机的 /etc/network/interfaces 文件当中。具体过程参见接下来的步骤。
 
 
② 通过 “su root” 命令,切换为root用户登陆。切换过程需要root密码。
 
③ 通过vi 编辑器。编辑 vi /etc/network/interfaces  并将步骤1中的代码添加到该文件的最下方。并保存退出。
 
 
 
 
如上代码添加完成后使用如下命令重启网络。
service networking restart
 
 
 
接着使用ssh编辑防火墙规则
 
iptables -A INPUT -p tcp --dport 1022 -j ACCEPT iptables -A OUTPUT -p tcp --sport 1022 -j ACCEPT
 
使用 iptables-save 命令保存规则。
 
四、创建Openvz虚拟机
 
1. 创建虚拟机之前我们需要将系统镜像拷贝到Proxmox相应的目录当中。镜像可以从各大Linux发行版的官网进行下载。也可以通过Proxmox官网提供的镜像地址下载。
 
http://download.prox***mox.com/appliances/system/
 
KVM虚拟机所需的ISO镜像对应目录:
 
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		
 
/var/lib/vz/template/iso 
 | 
 
OpenVZ虚拟机所需的tar.gz镜像对应目录:
 
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		
 
/var/lib/vz/template/cache 
 | 
 
首先在SSH 连接到Proxmox服务器上之后,通过 “su root”切换为root用户登录。本文所演示的是OpenVZ虚拟机的创建,所以利用 “cd /var/lib/vz/template/cache”命令,进入对应目录。将所需要的系统镜像利用wget命令下载到对应目录当中即可。
 
2. 登录到Proxmox的WEB后台。点击右上角的”创建CT” 则开始创建OpenVZ虚拟机。
 
 
 
 
3. 根据下列图示填入虚拟机的节点名称、CPU、内存等基本信息。并选择我们之前下载到目录中的镜像模板。
 
 
 
 
 
 
 
 
4. 在网络选项卡中,按照下图填入相关信息。网卡我们桥接之前创建的“vmbr2”,并为其指定我们预设好的固定IP。后面的DNS、确认。都保持默认,最后点击“完成”即可。
 
    网关那里应该是10.99.0.254
 
 
 
 
 
 
5. 创建完成之后。在该虚拟机中,点击“启动”即可将该机成功启动。我们也可以通过右上角的“控制台”来通过浏览器的VNC来控制我们刚刚创建好的虚拟机。
 
 
 
 
五、通过SSH连接虚拟机
 
经过以上的步骤我们的“小鸡”,就已经成功建立。并可以通过外网IP的1022端口来连接该虚拟机。如下图