Proxmox VE
(简称为PVE),是一个款开源虚拟化管理软件,和ESXI类似,简单的说就是用来开设和管理虚拟机的。
本次使用机器美国单IP VPS,配置2C2G 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
,cur
l以及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
如果您不是安装的双系统,则可以删除os-prober
软件包。
apt remove os-prober
4.reboot重启服务器
使其加载PVE
内核,重启成功后访问PVE WEB
界面:https://IP:8006
,注意是https
协议,否则无法打开。用户名、密码就是服务器所使用的用户名/密码。
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
开启成功。
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
其中红色部分修改为自己的网卡名:
net.ipv6.conf.ens3
.autoconf=0
net.ipv6.conf.ens3
.accept_ra=2
网卡名称查看输入:ip a
重点来了,编辑/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
系统模板
如果你是国内机器下载很慢,请更换源,调整使用清华镜像或者其他国内镜像下载,速度有很大的提升!
中国科学技术大学 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
开始创建CT
实例。
注意:这里有个坑,官方模板ssh未开放登录,要手动修改才能通过外网访问。
执行 nano /etc/ssh/sshd_config
然后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
来访问小鸡,如需其他端口,上面代码自行修改执行即可。
至此,教程全部结束~