前几天折腾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 文件当中。具体过程参见接下来的步骤。
① 本机通过之前创建Proxmox主机时设置的用户名、密码登陆SSH (例:ssh izcv@195.154.8.8)
② 通过 “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.proxmox.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端口来连接该虚拟机。如下图
主要来自大表哥的Proxmox创建虚拟机、NAT端口转发教程
一直没弄明白,
post-up和post-down,不是相互抵消了么?为什么要post-down呀?
OpenVZ 端口转发可以使用 但是kvm 安装win系统 这个转发命令就不能使用了
kvm的没试过,因为我的独服不支持kvm虚拟化
赞b( ̄▽ ̄)d