一、Proxmox简介
Proxmox 是一个集成了KVM、OpenVZ的开源虚拟化管理平台。基于Debian Etch构建。Proxmox有简单易用的WEB控制面板。让用户可以在网页环境中轻松的建立和管理KVM以及OpenVZ构架的虚拟机。
前言
本教程将以Online 1.99欧服务器(以下简称2欧)为例。详解如何安装Proxmox、建立OpenVZ虚拟机、以及NAT网络环境中的端口转发。
通俗的来说就是在2欧上利用Proxmox建立更多独立的Linux系统。然而此服务器仅提供一个独立IP,我们并不能为每一台虚拟机分配独立的IP地址。所以本文将会详解如何通过桥接新的虚拟网卡以及利用iptables转发端口,从而让每一台虚拟机都可以通过外部网络访问。
Online.net 1.99欧 独立服务器配置如下:
- CPU:U2250
- 内存:2G
- 硬盘:160G
- IP:1个
二、安装Proxmox
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 用户以及管理密码登陆。记得选择中文。
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中的代码添加到该文件的最下方。并保存退出。
四、创建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、确认。都保持默认,最后点击“完成”即可。
5. 创建完成之后。在该虚拟机中,点击“启动”即可将该机成功启动。我们也可以通过右上角的“控制台”来通过浏览器的VNC来控制我们刚刚创建好的虚拟机。
五、通过SSH连接虚拟机
经过以上的步骤我们的“小鸡”,就已经成功建立。并可以通过外网IP的1022端口来连接该虚拟机。如下图
安装win系统 这个转发命令可以使用吗?
请问博主知道 多网卡,一个网段做nat,一个网段做桥接怎么操作吗?
我自己的lxc虚拟化服务器都是手动iptables的。。。
666666666666666