Duke Yin's Technology database

PVE8、PVE9主机获取IPV6并添加SSL证书

获取IPV6

PVE安装后默认是不会自动获取IPV6地址的,当我们需要配置DDNS或者某些场景需要PVE主机的IPV6时,需要这么操作,整个过程不需要重启:

1 设置自动配置SLAAC IPV6

echo "net.ipv6.conf.all.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.vmbr0.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.autoconf=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.autoconf=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.vmbr0.autoconf=1" >> /etc/sysctl.conf

上述命令等同于使用nano或其他文本编辑命令编辑 /etc/sysctl.conf 然后在末尾加入:

net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.vmbr0.accept_ra=2
net.ipv6.conf.all.autoconf=1
net.ipv6.conf.default.autoconf=1
net.ipv6.conf.vmbr0.autoconf=1

二方法选一即可。

然后使用如下命令使刚刚的配置生效:

sysctl -p

2 配置网卡获取IPV6

先复制一个当前网卡配置文件到new

cp /etc/network/interfaces /etc/network/interfaces.new

在PVE Web界面,找到当前节点,系统,网络处,刷新,并点击应用配置。

3 然后再等待个3分钟

这个很重要,实测需要一小段时间,才能获取到IPV6

当然你重启系统也行,但实测重启后依然还是需要等待几分钟,大部分情况有虚拟机在跑,PVE最好不要或者很不方便重启,只需要等待就行。

4 验证

使用如下任意命令验证是否成功获取到IPV6

ip -6 a show vmbr0

或者

ip a|grep inet6

如果看到 240开头的IPV6,说明获取成功。在PVE8和PVE9验证成功。

当然前提使你的路由器、光猫配置要正确。

添加SSL证书

Web界面找到当前节点,菜单 系统-凭证

在ACME栏

1 添加账户

首先添加ACME账户

填写你的Email地址,ACME目录选择Let's Encrypt V2,勾选接受服务条款,注册。这一步也可以用命令行完成:

pvenode acme account register default em***@********in.com

email地址用自己的。

出现账户信息时,证明成功。

2 添加DNS验证插件

目前PVE9在Web界面直接添加会比较麻烦,以下用命令行添加:

添加CloudFlare密钥

新建一个文件并写入cf的密钥

echo 'CF_Token="uBqPsFzA7fm7UNUassZkjLrSaGrHdONjo6tget90W"' > /root/cf-token-token.txt
chmod 600 /root/cf-token-token.txt

Tocken 改为你自己的,这个token是示例,无效。

然后添加CloudFlare插件

pvenode acme plugin add dns cftoken --api cf --data /root/cf-token-token.txt

下一步可以用web界面,也可以用命令行

web界面,ACME下点击添加,质询类型选择DNS,插件选择刚刚我们添加的cf-token,域名添加你想部署SSL的域名,然后点创建即可。

用命令行如下:

pvenode config set -acmedomain0 pve.yourdomain.com,plugin=cftoken

多个域名就分多次,-acmedomain0参数递增即可。

最后Web界面点立即预定即可申请SSL证书

用命令行的话如下:

pvenode acme cert order --force

完成后会重载Web界面,如果还显示不安全,重启浏览器即可解决。

PVE内置了pve-daily-update.service,不需要手动再次运行即可保证证书不过期。

总结

 # 1. 创建密钥文件
echo 'CF_Token="YOURTOKEN"' > /root/cf-token-token.txt
chmod 600 /root/cf-token-token.txt

# 2. 添加 Cloudflare ACME插件
pvenode acme plugin add dns cftoken --api cf --data /root/cf-token-token.txt

# 3. (可选) 检查插件配置
pvenode acme plugin config cftoken

# 4. 将域名添加到节点
pvenode config set -acmedomain0 pve.domain.com,plugin=cftoken

# 5. 注册ACME账户
pvenode acme account register default em***@********in.com

# 6. 订阅证书
pvenode acme cert order --force

#

发布评论

评论

标注 * 的为必填项。