2022年5月

设置host
PVE官方要求,/etc/hosts需要做如下修改:

首先设置hostname,根据实际情况自行修改,我这里设置为freenn

hostnamectl set-hostname freenn

修改/etc/hosts,添加如下内容

127.0.0.1 localhost.localdomain localhost
8.8.8.8 freenn.proxmox.com freenn

8.8.8.8为你服务器公网IP,请自行修改

如果你的hostname设置为freenn,那么必须设置域名为freenn.proxmox.com,同理如果hostname设置为test,则域名为test.proxmox.com

添加PVE安装源
依次执行下面的命令:
可以替换为中科大的源:(这里是Debian9使用的,其它自己改)执行nano /etc/apt/sources.list 添加内容如下:

deb http://mirrors.ustc.edu.cn/debian/ stretch-backports main contrib non-free
deb http://mirrors.ustc.edu.cn/debian/ stretch-proposed-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian/ stretch-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian-security stretch/updates main contrib non-free

添加安全更新源

echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

添加仓库密钥

wget http://down.freenn.com/file/proxmox/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

更新源和系统

apt update && apt dist-upgrade

安装 Proxmox VE

apt -y install proxmox-ve postfix open-iscsi

继续执行以下命令以删除 os-prober 包,os-prober 软件包扫描主机的所有分区,包括客户端虚拟机创建双引导 GRUB 条目的分区。如果没有安装 Proxmox VE 作为另一个操作系统的双启动,您可以安全地删除 os-prober 软件包。

apt remove os-prober

创建网桥卡
编辑/etc/network/interfaces,内容如下:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens17
iface ens17 inet static
    address 10.13.2.2/24
    gateway 10.13.2.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 8.8.8.8

#private sub network
auto lo
iface lo inet loopback
 

之前的内容都不动

创建虚拟网桥

auto vmbr0
#private sub network
iface vmbr0 inet static
        address  10.10.10.1
        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.10.10.0/24' -o ens17 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o ens17 -j MASQUERADE
        post-up iptables -t nat -A PREROUTING -i ens17 -p tcp --dport 1222 -j DNAT --to 10.10.10.100:22
        post-down iptables -t nat -D PREROUTING -i ens17 -p tcp --dport 1222 -j DNAT --to 10.10.10.100:22

ens17是你的默认网卡名称,根据情况自行修改,最后两句命令是将外网的1222端口转发到10.10.10.100的22端口,如果想批量转发端口就改成:post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp –dport 1:1000 -j DNAT –to 10.10.10.100:1-1000

下载镜像
OpenVZ模板可直接从官方下载:http://download.openvz.org/template/precreated/ 存放目录:/var/lib/vz/template/cache
KVM模板可直接从官方下载:http://www.proxmox.com/downloads/proxmox-ve/17-iso-images/ 存放目录:/var/lib/vz/template/iso
升级内核

apt install pve-kernel-4.10.17-5-pve

重启服务器

reboot

重启完成,浏览器登录 WEB 管理页面 https://ip:8006(必须是 HTTPS),管理页面的账号和密码是服务器的账号和密码
创建CT虚拟机时需要将 无特权的容器 的对勾取消掉否则会创建失败。

先确定nginx安装时,编译的时候添加了--with-stream这个模块支持。nginx 版本 >=1.9才支持。

修改nginx配置文件
在nginx.conf添加如下配置,并使用nginx -s reload重载nginx使其生效,同时注意防火墙/安全组放行对应的端口。

stream {
    #将12345端口转发到192.168.1.23的3306端口
    server {
        listen 12345;
        proxy_connect_timeout 5s;
        proxy_timeout 20s;
        proxy_pass 192.168.1.23:3306;
    }
    #将udp 53端口转发到192.168.1.23 53端口
    server {
        listen 53 udp reuseport;
        proxy_timeout 20s;
        proxy_pass 192.168.1.23:53;
    }
    #ipv4转发到ipv6
    server {
        listen 9135;
        proxy_connect_timeout 10s;
        proxy_timeout 30s;
        proxy_pass [2607:fcd0:107:3cc::1]:9135;
    }
}

listen:后面填写源端口(也就是当前服务器端口),默认协议为TCP,可以指定为UDP协议
proxy_connect_timeout:连接超时时间
proxy_timeout:超时时间
proxy_pass:填写转发目标的IP及端口号