Proxmox创建虚拟机、NAT端口转发教程

一、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”选项。

20151113-0

 

2. 在上方的系统选择中点击“Proxmox”,之后在最下面点击“install proxmox”按钮。

20151113-1

20151113-2

 

3. 在系统配置选项中依次输入:主机名、管理密码、用户名、用户密码。(这里建议大家用一样的密码以免弄混)

20151113-3

 

4. 在下一个页面中点击“delete all my disks and install the system!” 就进入正式安装环节了。系统会提示这将会花费你45-60分钟的时间。在实际安装中。大概仅需要20-30分钟即可安装完毕。我们仅需要耐心的等待。

20151113-4

 

5. 安装完成之后,即可在后台看到Proxmox的管理地址。如下图。

20151113-5

 

6. 访问该地址,并使用 root 用户以及管理密码登陆。记得选择中文。

20151113-7

 

7. 成功登陆之后,即可看到简介又强大的proxmox面板。

20151113-6

三、NAT网络配置

 

在正式创建虚拟机之前,我们先要对Promox的网络进行配置。由于2欧这台机器仅有一个公网IP。我们并不能为创建的虚拟机分配各自的公网IP。所以本章节的目的就是,为每一台虚拟机分配一个内网IP地址。并通过iptables 为每一个内网IP地址做相应的端口转发。

典型的SSH 22端口转发为公网IP其它端口的网络图。

proxmoxnat

当我们通过公网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中的代码添加到该文件的最下方。并保存退出。

20151116-0

 

四、创建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虚拟机。

20151116-0

 

3. 根据下列图示填入虚拟机的节点名称、CPU、内存等基本信息。并选择我们之前下载到目录中的镜像模板。

20151117-0

20151117-1

20151117-2

20151117-3

20151117-5

 

4. 在网络选项卡中,按照下图填入相关信息。网卡我们桥接之前创建的“vmbr2”,并为其指定我们预设好的固定IP。后面的DNS、确认。都保持默认,最后点击“完成”即可。

20151117-6

20151117-7

20151117-8

 

5. 创建完成之后。在该虚拟机中,点击“启动”即可将该机成功启动。我们也可以通过右上角的“控制台”来通过浏览器的VNC来控制我们刚刚创建好的虚拟机。

20151117-10

 

五、通过SSH连接虚拟机

经过以上的步骤我们的“小鸡”,就已经成功建立。并可以通过外网IP的1022端口来连接该虚拟机。如下图

20151117-4

 

4 条评论

  1. 小宝

    安装win系统 这个转发命令可以使用吗?

  2. ptkid

    请问博主知道 多网卡,一个网段做nat,一个网段做桥接怎么操作吗?

  3. imlonghao

    我自己的lxc虚拟化服务器都是手动iptables的。。。

    1. Lop

      666666666666666