最终效果可以在ARM机器上开两台拥有独立IP的CT容器(可以当做linux小鸡用)
为什么只能开两台?这是甲骨文的限制,一台机器只能拥有两个临时公网地址和一个预留公网地址
成果如图
[color=rgba(55, 53, 47, 0.6)]CT100 NAT IP
[color=rgba(55, 53, 47, 0.6)]
[color=rgba(55, 53, 47, 0.6)]CT101 临时公网地址
[color=rgba(55, 53, 47, 0.6)]
[color=rgba(55, 53, 47, 0.6)]CT102 预留公网地址
Netboot纯净安装debian
1.首先SSH登录上去,在/boot/efi/EFI目录下下载https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi
2.登录甲骨文后台,在控制台连接启动Cloud Shell连接
3.强制重启机器,然后在cloud shell狂按ESC,进入这样一个简易BIOS界面
选择Boot Maintenance Manager - Boot From File - 选择硬盘 - EFI - netboot.xyz-arm64.efi 启动到netboot,然后在线安装debian,这里不过多赘述
在DEBIAN上安装PVE先配置下网络
- ip a #查看IP,我这里是10.0.0.118
- nano /etc/network/interfaces
复制代码- iface enp0s3 inet static
- address 10.0.0.118
- netmask 255.255.255.0
- gateway 10.0.0.1
复制代码 改成这样就行,将原来的DHCP改为静态
然后修改/etc/hosts,添加一行
我这里主机名是arm,所以这样改
- 146.56.111.111 arm.proxmox.com arm
复制代码 然后将其他的删掉,只留下127.0.0.1 localhost和新加的这一条,不然安装会报错!
重启一次
修改软件源,并安装pimox7,下面命令均在root用户下执行
- apt install gnupg curl zfsutils-linux -y
- rm /etc/apt/sources.list.d/*.list
- rm /etc/apt/sources.list
- echo "# Raspberry Pi Bullseye Repoo
- deb http://archive.raspberrypi.org/debian/ bullseye main
- # Pimox7 Repo
- deb https://raw.githubusercontent.com/pimox/pimox7/master/ dev/
- # Debian Rep0
- deb http://deb.debian.org/debian bullseye main contrib non-free
- # Security Updated
- deb http://security.debian.org/debian-security bullseye-security main contrib non-free" > /etc/apt/sources.list
- apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
- curl https://raw.githubusercontent.com/pimox/pimox7/master/KEY.gpg | apt-key add -
- apt update
- apt upgrade -y
- apt install proxmox-ve -y
复制代码 安装过程中会有弹窗,默认选项即可
重启,然后就可以打开pve web后台试试了 https://ip:8006
不出意外就已经可以打开了,使用root账号密码登录
修复AppArmor现在的PVE还不能正常使用,开CT容器会报AppArmor错误,开机时候在vnc也能看到这个报错
编译安装AppArmor
- apt install git bison flex autoconf libtool swig gettext python3 python3-dev python3-pip -y
- git clone https://gitlab.com/apparmor/apparmor.git
- cd apparmor
- export PYTHONPATH=$(realpath libraries/libapparmor/swig/python)
- export PYTHON=/usr/bin/python3
- export PYTHON_VERSION=3
- export PYTHON_VERSIONS=python3
- cd ./libraries/libapparmor
- ./autogen.sh
- ./configure --prefix=/usr --with-perl --with-python
- make
- make install
- cd ../../binutils/
- make
- make install
- cd ../parser/
- make
- make install
- cd ../utils/
- make
- make install
- reboot
复制代码 这次启动的时候就已经看不到AppArmor报错了
配置网桥用于NAT修改 /etc/network/interfaces
创建vmbr0网桥并配置NAT
- auto enp0s3
- iface enp0s3 inet static
- address 10.0.0.118
- netmask 255.255.255.0
- gateway 10.0.0.1
- auto vmbr0
- iface vmbr0 inet static
- address 192.168.1.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 '192.168.1.0/24' -o enp0s3 -j MASQUERADE
- post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o enp0s3 -j MASQUERADE
复制代码 重启网络
- systemctl restart networking
复制代码 现在就可以先去试试开nat的小鸡了
创建NAT CT容器前往https://uk.lxd.images.canonical.com/images/下载ARM64镜像,官方镜像为x86无法使用,下载文件名rootfs.tar.xz的
我这里下载的是debian镜像,镜像链接https://uk.lxd.images.canonical.com/images/debian/bullseye/arm64/cloud/20230310_05:25/rootfs.tar.xz
这个链接过两天估计就没用了
创建CT容器网络配置,桥接vmbr0,IP设置为192.168.1.0/24段的,网关就是上面设置的192.168.1.1
NAT小鸡测试成功
配置独立IP回到vps详情,进入附加的 VNIC,创建VNIC,创建时候选一下默认的虚拟云网络和子网,然后随便起个IP,我这里用的10.0.0.119
勾选分配公共IPV4地址,就会分配临时公网地址了,这里最多只能额外加一个,挺可惜的
不过还能创建一个预留的,所以一台机器上最多可以有三个独立公网IP,一个被主机用掉,最多还能开两台独立IP小鸡
现在回ssh上看,发现多了两张网卡,我上面加了两个
修改/etc/network/interfaces,添加下面内容
- auto enp1s0
- iface enp1s0 inet manual
- auto enp2s0
- iface enp2s0 inet manual
复制代码 重启网络
- systemctl restart networking
复制代码 现在就可以去尝试开独立IP的小鸡了
创建独立IP CT容器创建时网络设置随意,创建好先别开机,直接把网卡删掉
修改CT配置文件,直通网卡
/etc/pve/lxc/101.conf 这里101对应CT ID
- lxc.net.0.type: phys
- lxc.net.0.link: 新的网卡名
- lxc.net.0.ipv4.address: 内网IP/24
- lxc.net.0.ipv4.gateway: 10.0.0.1(默认都是这个)
- lxc.net.0.flags: up
复制代码 这里的内网可以在这里复制专用IP
然后开机,独立IP小鸡测试成功
|