lala.im:在Linode上使用Proxmox开只有IPv6的LXC小小鸡

運維技術·lala.im · 2020-04-08 · 121 人浏览

原文地址:https://lala.im/6810.html,請支持原作者!該處僅作轉載。

前段时间找Linode客服搞了一个/64的IPv6拿来搭了个NAT64+DNS64,玩腻了,现在重新利用下这些v6。。
看到最近很多国外商家频繁推出IPv6 Only小鸡,我也想自己试试看能不能生几只这样的小鸡出来。
首先在Linode的账号设置界面把这个Network Helper给关了,否则每次重启的时候它会自动还原你的网卡配置:

範例
安装PVE6.X,装完之后重启:

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
apt -y update && apt -y full-upgrade
apt -y install proxmox-ve postfix open-iscsi
reboot

开IPv6转发(很重要,否则待会小鸡分配的v6地址没网)

echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf && sysctl -p

Linode默认的网卡配置是使用的DHCP,这里要改为静态,否则每次重启后DNS的设置会被DHCP自动还原。
编辑网卡配置文件:

nano /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 eth0
iface eth0 inet static
        address 173.255.244.90 # VPSIPv4地址
        gateway 173.255.244.1 # VPSIPv4网关

iface eth0 inet6 static
        address 2600:3c01::f03c:92ff:fe60:07e3/64 # VPSIPv6地址
        gateway fe80::1 # VPSIPv6网关

auto vmbr0
iface vmbr0 inet static
        address 192.168.0.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.0.0/24' -o eth0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o eth0 -j MASQUERADE

auto vmbr1
iface vmbr1 inet6 static
        address 2600:3c01:e000:0396::1/64 # 你找Linode申请的IPv6Pool,拿出来一个地址做vmbr1的网关
        bridge_ports none
        bridge_stp off
        bridge_fd 0

这里有个坑,由于安装Proxmox之前网卡是使用的DHCP模式,Linode会自动给你分配一个hostname。
格式类似这样:li254-90.members.linode.com
Proxmox安装完成之后的WEBUI会根据这个hostname生成一个自签名的证书,现在改为静态地址后hostname不在了,Proxmox就找不到地址了,导致Proxmox的WEB界面打不开。
所以这里修改机器的hostname:

hostnamectl set-hostname li254-90

这个hostname在Linode每台机器的网络界面可以查的到:

範例
当然你也可以在安装Proxmox之前就先把网卡配置成静态地址,之后再安装Proxmox这样就不会存在这个问题了,只是我比较懒,拿之前水这篇文章的机器直接操作的233:
Proxmox的LXC容器内运行Docker

做完上面的配置之后,重启一下机器:

reboot

现在安装RADVD让小鸡支持SLAAC,实现无状态自动分配IPv6地址:

apt -y install radvd

新建RADVD的配置文件:

nano /etc/radvd.conf

写入如下配置:

interface vmbr1 # 网卡名
{
        AdvSendAdvert on;
        MinRtrAdvInterval 30;
        MaxRtrAdvInterval 100;
        prefix 2600:3c01:e000:0396::/64 # 你找Linode申请的IPv6Pool
        {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
};

重启RADVD/设置开机自启:

systemctl restart radvd
systemctl enable radvd

接下来打开Proxmox的WEBUI,在DNS这里修改一个IPv6的DNS:

範例
现在我们就可以来开IPv6 Only小鸡了,创建的时候,网络选择桥接vmbr1,IPv4留空,IPv6地址直接选择SLAAC即可:

範例
启动小鸡测试一下,RADVD可以分配IPv6地址,并且网络是通的:

範例
在别的小鸡上测试下:

範例

運維技術 lala.im
Theme Jasmine by Kent Liao