pve.webp

开了4个小鸡测试, 分别是 Alpine 3.14 Debian 11 Centos 8 ubuntu 21.10

LXC 容器小鸡的模版 竟然是 debian 的最大。

lxc.png

LXC容器 CT模版从官方不能下载,是从中科大镜像站下载

https://mirrors.ustc.edu.cn/proxmox/images/system/

母鸡系统,使用netboot.xyz手工安装的 Debian 11

  • 推荐文章: 手工配置GRUB2+iPXE引导netboot.xyz进行 Linux 远程重新安装系统

    $ vim /etc/hosts #修改主机名

    127.0.0.1            localhost
    188.188.188.188          debian.proxmox.com debian
    # 这里填母鸡公网IP
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters

    安装 Proxmox VE PVE 7.1-5

    添加 Proxmox VE 存储库:

    echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" \r
    > /etc/apt/sources.list.d/pve-install-repo.list

    以 root 身份添加 Proxmox VE 存储库密钥(或使用 sudo):

    wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg \r
    -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg 

    通过运行更新您的存储库和系统:

    apt update && apt full-upgrade

安装 Proxmox VE 软件包,因为母鸡国内上海,安装这部使用了 http代理提高速度

apt install proxmox-ve postfix open-iscsi

PVE源可以使用清华的 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/proxmox/

11.png

安装完成,使用 https://ip:8006 使用WebUI管理

安装proxmox-ve的时候,可以先把网络防火墙,按图示先设施

port.PNG

网络设置: WebGUI管理里添加 vmbr0 ,选linux网桥,再修改网络设置

cat /etc/network/interfaces

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto ens5
iface ens5 inet dhcp

auto vmbr0
#private sub network
iface vmbr0 inet static
        address  10.10.10.1/24
        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 ens5  -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o ens5  -j MASQUERADE

ens5 是腾讯云实际网卡名字,10.10.10.0/24 网段是给NAT小鸡分配的网段

设置参考文章: https://pve.proxmox.com/wiki/Network_Configuration

  • Masquerading (NAT) with iptables 使用 iptables 伪装 (NAT)
  • 伪装允许只有一个私有 IP 地址的访客使用主机 IP 地址来访问网络,用于传出流量。 每个传出数据包都由 iptables 重写以显示为源自主机,并且相应地重写响应以路由到原始发送方。

捕获.PNG

小鸡网络设置

IP地址: 使用10.10.10.0网段静态

10.10.10.101/24 使用机器编号做IP地址

# 小鸡的  ssh 22 和 80 端口 准备端口转发
IP 101:      10122    10180
IP 102:      10222    10280
IP 103:      10322    10380
IP 104:      10422    10480

ipv4.png_new.webp

NAT 小鸡端口转发 Iptables 调试搞定,批量只要修改下面的语句很容易搞定

nat.png

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10180 \r
    -j DNAT --to-destination 10.10.10.101:80

PVE NAT 批量端口转发设置脚本,使用命令 nat.sh $(lxc-ls) 自动调用 lxc容器id

nat2.png

# Usage: bash nat.sh $(lxc-ls)

# 小鸡的端口转发规则    ssh 22  http 80      10<N>00 : 10<N>99
# ID对应IP  101:         10122    10180        10100 : 10199
#-------------------------------------------------------------#
input_id()
{
  id=101
  echo -e "测试默认ID: 33[41;37m ${id} 33[0m 可以修改设置其他ID; "
  read -p "请输入NAT小鸡的ID号(按回车不修改): " -t 30 new
  if [[ ! -z "${new}" ]]; then
      id="${new}"
  fi
  nat_port
  iptables -t nat -nvL PREROUTING
  echo -e ":: PVE NAT 批量端口转发设置脚本: 33[41;37m bash nat.sh $(lxc-ls) 33[0m
使用参考: https://lyvba.com/index.php/archives/714/"
}
# 以id为ip设置端口转发
nat_port()
{
    iptables -t nat -I PREROUTING -p tcp -m tcp --dport ${id}22  -j DNAT --to-destination 10.10.10.${id}:22
#   iptables -t nat -I PREROUTING -p tcp -m tcp --dport ${id}80  -j DNAT --to-destination 10.10.10.${id}:80
    iptables -t nat -A PREROUTING -p tcp -m multiport --dport ${id}00:${id}99  -j DNAT --to-destination 10.10.10.${id}
}

# 手工输入id,input_id调用nat端口转发
if [ $# -eq 0 ];
  then
  input_id
  exit
fi

# 遍历参数 批量设置 nat端口转发
for arg in $*
do
  id=$arg
  nat_port
done

# 查看 nat PREROUTING 端口映射规则
iptables -t nat -nvL PREROUTING

# 清空 nat PREROUTING 端口映射规则
# iptables -t nat -F PREROUTING

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注