Proxmox VE 搭建指南:LXC 虚拟化 + 端口转发开小鸡

Proxmox VE(简称 PVE)是一款开源的虚拟化管理软件,和 ESXi 类似,简单说就是用来开设和管理虚拟机的。这次我用的是一台美国单 IP VPS,配置 2 核 2G、40G 硬盘,索性赶紧学一下怎么操作。网上搜了很多教程,大多大同小异,有些实际会踩坑的地方反而没讲。所以我把这次安装和开通 NAT 小鸡的过程记录下来。

一、安装 PVE 前的准备工作

1. 首先需要一台干净的 Debian 10 系统 VPS。

安装一键脚本换系统
apt-get update
apt-get install -y xz-utils openssl gawk file wget
wget --no-check-certificate -qO InstallNET.sh 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh' && chmod a+x InstallNET.sh
国内使用下面镜像
bash InstallNET.sh -d 10 -v 64 -a --mirror 'http://mirrors.aliyun.com/debian/'
国外使用下面语句
bash InstallNET.sh -d 10 -v 64 -a

2. DD 完系统后,安装一下 wget、curl 以及 sudo。

apt update && apt install -y curl wget sudo

二、安装 Proxmox VE

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

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

hostnamectl set-hostname pve

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

127.0.0.1       localhost.localdomain localhost
**这里填你服务器公网IP**   pve.proxmox.com pve

2. 添加 PVE 安装源。

依次执行下面的命令:

echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
apt update && apt full-upgrade

中途让你选择是否继续,选择 Y 回车。

3. 安装 PVE。

apt -y install proxmox-ve postfix open-iscsi
proxmox-01
proxmox-02
proxmox-03
proxmox-04

如果你不是安装的双系统,可以删除 os-prober 软件包。

apt remove os-prober

4. reboot 重启服务器,使其加载 PVE 内核。重启成功后访问 PVE WEB 界面:https://IP:8006,注意是 https 协议,否则无法打开。用户名、密码就是服务器所使用的用户名/密码。

proxmox-05
proxmox-06
proxmox-07

5. 如果是海外的独立服务器,建议开启 BBR 来优化 TCP 传输,开启方法如下:

修改内核配置:

cat >>/etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF

使配置生效:

sysctl -p

使用命令 lsmod |grep bbr 进行验证,当看到 tcp_bbr 字样,说明 BBR 开启成功。

proxmox-08

Linux 默认描述符为 1024,为避免后期出现各种问题,建议修改 ulimit 描述符限制,修改方法如下:

echo 'fs.file-max = 65535' >> /etc/sysctl.conf
echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf
echo 'ulimit -SHn 65535' >> /etc/profile

好了,到此 PVE 安装完成。

三、单 IP VPS LXC 虚拟化开 NAT 小鸡

1. 配置网络。
首先配置 IPv6 网络,如果没有 ipv6 或者不需要可忽略。编辑 /etc/modprobe.d/local.conf,修改或添加如下内容:

options ipv6 disable=0

编辑 /etc/modules,添加如下字符:

ipv6

开启 IPv4、IPv6 转发,编辑 /etc/sysctl.conf,添加以下内容到尾部:

net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv6.conf.ens3.autoconf=0
net.ipv6.conf.ens3.accept_ra=2
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.proxy_ndp=1
net.ipv6.conf.all.proxy_ndp=1

其中 ens3 部分修改为自己的网卡名:

net.ipv6.conf.ens3.autoconf=0
net.ipv6.conf.ens3.accept_ra=2

网卡名称查看输入:ip a

proxmox-09

重点来了,编辑 /etc/network/interfaces,我的 VPS 原配置如下:

# 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 ens3
iface ens3 inet static
    address 107.175.***.***/24
    gateway 107.175.***.***
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 8.8.8.8
    dns-search colocrossing.com

修改如下内容如下:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
auto lo
iface lo inet loopback
iface ens3 inet manual #修改成你原来的网卡名
auto vmbr0
iface vmbr0 inet static
        address 107.175.***.***/24  #这里必须和原配置一样
        netmask 255.255.255.0
        gateway 107.175.***.***     #这里必须和原配置一样
        bridge_ports ens3     #修改成你原来的网卡名
        bridge_stp off
        bridge_fd 0
#private sub network
auto vmbr1
iface vmbr1 inet static
        address  10.10.10.1/24   #自定义你内网ip段,你开心定成啥就是啥
        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' -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -j MASQUERADE

修改完成后保存,重启 VPS。如果重启发现连不上,很遗憾,说明你改错了导致外网挂了,去 VNC 重新修改配置吧。
重启成功后,进入 PVE Web 管理页面 https://ip:8006/。

2. 创建 CT。
创建之前先下载 LXC 系统模板。

proxmox-10
proxmox-11

如果你是国内机器下载很慢,请更换源,使用清华镜像或其他国内镜像下载,速度会有很大提升!

中国科学技术大学 http://mirrors.ustc.edu.cn/help/proxmox.html
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
清华大学镜像 http://mirrors.ustc.edu.cn/help/proxmox.html
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
proxmox-12

开始创建 CT 实例。

proxmox-13
proxmox-14
proxmox-15
proxmox-16
proxmox-17
proxmox-18
proxmox-19
proxmox-20
proxmox-21
proxmox-22

注意:这里有个坑,官方模板 ssh 未开放登录,要手动修改才能通过外网访问。
执行 nano /etc/ssh/sshd_config

proxmox-23
proxmox-24
proxmox-25

然后 Ctrl+O 保存,回车,Ctrl+X 退出,执行 sshd 重启命令:systemctl restart sshd

注意:debian10 官方模板源有问题,自行替换。

# deb http://deb.debian.org/debian stretch main
 
deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main

到这里,小鸡的开通及连接教程已全部完成。

3. 配置外网端口转发,在母鸡中执行,代码如下:

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 10022 -j DNAT --to-destination 10.10.10.100:22
iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 10022 -j DNAT --to-destination 10.10.10.100:22

外网端口 10022 就是对应的内网小鸡 22 端口,配置完成后可以通过 ip:10022 来访问小鸡。如需其他端口,上面代码自行修改执行即可。

至此,教程全部结束。

THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容