Files
oneclickvirt.github.io/docs/guide/lxd_custom.md
2023-10-25 22:25:25 +08:00

13 KiB
Raw Blame History

outline
outline
deep

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网这里给出一个方法免费附加IPV6的子网。

这里使用6in4方法解决宿主机本身没有IPV6地址的问题。

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台 对应需要的安装包 协议 通道/子网数量
tunnelbroker.net ifupdown v4tunnel 3✖/64 或 5✖/64
tunnelbroker.ch ifupdown v4tunnel 3✖/64
ip4market.ru ifupdown v4tunnel 1✖/64
netassist.ua ifupdown2 sit 1✖/64

这些平台只解决IPV6有没有的问题不提供优质的IPV6带宽。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先然后查看本机使用什么管理网络执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况如果是前者active后者inactive你需要重装/DD一个不是这样配置的系统或者切换本机使用ifupdown管理网络执行

# 是否需要禁用原网络管理自行评判
# sudo systemctl stop systemd-networkd
# sudo systemctl disable systemd-networkd
# sudo systemctl stop systemd-networkd.socket
# sudo systemctl disable systemd-networkd.socket

安装ifupdown控制网络(有的平台需要安装ifupdown2控制网络,详见对应平台说明再回来)

sudo apt-get install ifupdown -y
sudo systemctl start networking
sudo systemctl enable networking

然后重启服务器,检验机器的网络是否会因为修改出现重启失联的情况,且执行uptime观察启动已超过1分钟后再进行后续步骤

如果是是前者inactive后者active则不需要切换网络管理程序直接进行后续操作即可。

tunnelbroker_net

需要安装ifupdown控制网络

结合一键开设带IPV6地址的容器的脚本就能给每个容器附加来自he的IPV6地址了

缺点是地址比较黑/脏cloudflare的cdn极有可能套不上自行测试

  1. https://tunnelbroker.net/ 注册账户,并点击左边的 Create Regular Tunnel

1

  1. 红框处填写你的服务器的IPV4地址选择物理距离近的连接点比如机器在美国洛杉矶就选美国西海岸的连接点然后显示绿框提示Create Tunnel创建即可

2

3

4

  1. 等待出以下界面,点击Example Configurations然后选择对应的系统比如LXD的宿主机那肯定就是Debian/Ubuntu了

5

6

  1. 框住的部分就是要修改的文件和需要填写的内容了

7

  1. 执行以下命令给你的网络配置文件附加IPV6的设置(或者自己用vim或者vi命令修改/etc/network/interfaces文件增加内容)
sudo tee -a /etc/network/interfaces <<EOF
# 这里修改复制粘贴一下之前红框框住的配置文件内容,然后执行此命令
EOF

然后你可以使用cat /etc/network/interfaces查看配置文件是否正常写入了

  1. 如果上面都没问题,就需要启用网络接口即可
apt-get install net-tools iproute2 -y
systemctl restart networking
  1. 然后你就可以测试IPV6网络是否已附加

执行ifconfig命令,这时应该有一个 he-ipv6 接口,类似下面这样:

8

或者执行:

curl ipv6.ip.sb

回传你绑定IPV6地址

  1. NAT VPS 的额外设置

IPv4 NAT VPS 除了前面提到的替换 IP 操作以外,可能还需要一些额外的设置,否则可能还是无法访问 IPv6 网络。

apt-get install ufw -y
ufw allow 41

添加相关的路由规则

route -A inet6 add ::/0 dev he-ipv6
  1. 如果不需要该IPV6网络了想要删除

删除 he-ipv6 网络接口配置(若没有删除重启后会自动启用),记得修改/etc/network/interfaces文件,删除之前红框添加的内容

然后重启服务器,就删除了

tunnelbroker_ch

这个平台你在切换网络管理时务必使用ifupdown该平台使用v4tunnel协议

需要安装ifupdown控制网络

sudo apt-get install ifupdown -y
sudo systemctl start networking
sudo systemctl enable networking

类似上述的操作,先在 https://www.tunnelbroker.ch/ 注册一个账户先,注册后点击激活的邮件

然后就是填写你的服务器IPV4地址

创建后需要进入Config页面而不是详情页面

见到以下页面千万别使用,先刷新一下本页面,不要弹那个浅蓝色框后再停止刷新

记录以下页面的最后一个红框的内容,准备修改宿主机配置文件

页面的最后一个红框框住的部分复制下来,不要带空行

然后打开 https://ipv6tunnel.spiritlhl.top/ 选择OptionTunnelBroker,在输入框内粘贴你复制的内容

然后点击Covert转换格式,等待页面刷新显示转换格式后的配置文件内容

然后用vim或者vi命令修改/etc/network/interfaces文件增加内容,或者修改以下命令新增

sudo tee -a /etc/network/interfaces <<EOF
# 这里修改一下
EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
systemctl restart networking

保证环境无问题再进行别的操作了

ip4market_ru

这个平台你在切换网络管理时务必使用ifupdown该平台使用v4tunnel协议

需要安装ifupdown控制网络

sudo apt-get install ifupdown -y
sudo systemctl start networking
sudo systemctl enable networking

类似上述的操作,先在 https://tb.ip4market.ru 注册一个账户先注册邮箱得是非常见邮箱电话可随便写不验证的IP填上你要附加的宿主机的IPV4地址

然后就是过Recaptcha的人机验证点击注册

邮箱会收到激活邮件,里面附带有你的密码,记住它

然后在首页进行登录

然后就会进入这个页面

按住右键,然后复制红框框住的四行内容,也就是

Server IPv4:
Client IPv4
Server IPv6
Client IPv6

这四行内容按ctrl+c复制或者右键复制

然后打开 https://ipv6tunnel.spiritlhl.top/ 选择Optionip4market,在输入框内粘贴你复制的内容

然后点击Covert转换格式

然后就会自动刷新页面出现需要自己用vim或者vi命令修改/etc/network/interfaces文件增加的内容了,或者修改以下命令新增

sudo tee -a /etc/network/interfaces <<EOF
# 这里修改一下
EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
systemctl restart networking

保证环境无问题再进行别的操作了

netassist_ua

这个平台你在切换网络管理时务必使用ifupdown2而不是ifupdown2安装包该平台使用sit协议而sit协议需要在ifupdown2控制的环境中使用

需要安装ifupdown2控制网络

sudo apt-get install ifupdown -y
sudo systemctl start networking
sudo systemctl enable networking

类似上述的操作,先在 https://tb.netassist.ua/ 注册一个账户先,注册后点击激活的邮件,激活页面会有密码显示,记得记录

然后就是填写你的服务器IPV4地址这个后面可以自己修改先随便填一个都没问题

然后就到了这个页面了

a

第一个红框是你宿主机的IPV4地址需要填写的位置要修改就修改那里然后点change保存

第二个下拉红框选择Linux然后点击show

b

会出现上面的内容,全选框住的部分复制下来,不要带空行

然后打开 https://ipv6tunnel.spiritlhl.top/ 选择OptionNetAssist,在输入框内粘贴你复制的内容

然后点击Covert转换格式

c

然后就会自动刷新页面出现需要自己用vim或者vi命令修改/etc/network/interfaces文件增加的内容了,或者修改以下命令新增

sudo tee -a /etc/network/interfaces <<EOF
# 这里修改一下
EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
systemctl restart networking

保证环境无问题再进行别的操作了

转移不同服务器之间的IPV6子网

相关仓库:https://github.com/oneclickvirt/6in4

该方法将提供一种方式将A上的IPV6网段拆分一个/80的出来附加到B上使用

如果你需要在B所在的服务器上使用本套脚本给容器一键配置IPV6地址那么需要安装的是ifupdown2进行网络管理

环境准备

一个带有 至少/64大小的IPV6网段和一个IPV4地址的 双栈VPS (A) 和 一个只带有一个IPV4地址的VPS (B),下面分别称为服务端和客户端,拆分后客户端将获得一个/80的IPV6子网。

使用方法

下载脚本

curl -L https://raw.githubusercontent.com/oneclickvirt/6in4/main/6in4.sh -o 6in4.sh && chmod +x 6in4.sh

执行命令

./6in4.sh client_ipv4 <mode_type> 

mode_type: sit、gre、ipip

记得写上你需要附加IPV6的机器的IPV4地址和协议类型(不填则默认为sit类型),执行完毕后会回传你需要在客户端执行的命令,详见执行后的说明即可

为防止忘记复制命令,命令本身也将写入到当前路径下的 6in4.log 文件中

复制下来的命令,务必在 https://ipv6tunnel.spiritlhl.top/ 中选择选项6in4后进行转换

然后就会自动刷新页面出现需要自己用vim或者vi命令修改/etc/network/interfaces文件增加的内容了,或者修改以下命令新增

sudo tee -a /etc/network/interfaces <<EOF
# 这里修改一下
EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
systemctl restart networking

保证环境无问题再进行别的操作了

检测服务端

systemctl status ndpresponder
ip addr show

检测客户端

ip addr show
curl ipv6.ip.sb

删除隧道

服务端

ip link set server-ipv6 down
ip tunnel del server-ipv6

客户端

ip link set user-ipv6 down
ip tunnel del user-ipv6