纯 IPv6 LXC 容器使用备忘

 

1. 了解机器信息

# 1. ping
root@wap:~# ping -4 google.com
root@wap:~# ping -6 google.com 
# 2. 查看当前 DNS
root@wap:~# cat /etc/resolv.conf
search wap.ac
nameserver 2606:4700:4700::1111
nameserver 8.8.8.8
root@wap:~# cat /etc/resolv.conf
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
nameserver 2606:4700:4700::1111
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 1.1.1.1
# 3. LXC 查看 tun/tap 是否开启,ls /dev/net/, 如果返回 tun 则正常,否则未开启
root@wap:~# ls /dev/net
tun
# 4. 查看宿主机创建容器数
root@wap:~# ls /sys/devices/virtual/block | grep dm | wc -l
1375  
root@wap:~# ls /sys/devices/virtual/block

2. 实现访问 ipv4 功能

目前仍有一些主流网站如 GitHub 尚未完全支持 IPv6,纯 IPv6 环境可能无法正常使用部分软件或脚本,可以通过 NAT64 服务或者 Cloudflare WARP 解决部分软件因没有 IPv4 网络无法使用的问题。

  • 使用 NAT64 服务将会使你的上网流量通过对方的服务器转发,当对方服务器距离过远或负载过高时可能会严重影响网络速度,请酌情使用。
  • NAT64 是全局的,但速度可能较慢,warp 往往有着更快的速度,但并非是全局的,需要进行配置才可使用,建议先使用 NAT64 进行开局,安装所需要的脚本,再使用 warp 作为为日常使用。

2.1. 设置 Github 代理

如果只为了使用 github,可以使用 Github IPv6 proxy 提供的 github ipv6 proxy 即可。

root@wap:~# cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
# --- BEGIN PVE ---
2400:8a20:112:1::389 wap.OuNrfh wap
# --- END PVE ---

# >> 追加
cat >> /etc/hosts <<-'EOF'
2a01:4f8:c010:d56::2 github.com
2a01:4f8:c010:d56::3 api.github.com
2a01:4f8:c010:d56::4 codeload.github.com
2a01:4f8:c010:d56::5 objects.githubusercontent.com
2a01:4f8:c010:d56::6 ghcr.io
2a01:4f8:c010:d56::7 pkg.github.com npm.pkg.github.com maven.pkg.github.com nuget.pkg.github.com rubygems.pkg.github.com
EOF

放到 /etc/hosts 里就可以用 github 各种脚本。

2.2. 添加 nat64

通过 DNS64,修改 nameserver 实现 ipv6 能访问 ipv4 网络。

DNS64 解析器是 Web 浏览器和其他程序使用的递归 DNS 服务器,用于将主机名映射到数字地址,反之亦然。DNS64 规范定义了一种方法,服务器用于将在 A 记录中找到的 IPv4 地址转换为解析器在 AAAA 记录中提供的 IPv6 地址,否则将没有 AAAA 记录。

一些可用的 NAT64 服务地址

# Cloudflare: 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
# Google:     8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
# Quad9:      9.9.9.9 2620:fe::fe
# Trex        2001:67c:2b0::4 2001:67c:2b0::6
# Nat64       2a00:1098:2c::1 2a01:4f8:c2c:123f::1 2a00:1098:2b::1

修改 DNS 启用 NAT64 服务:修改文件 /etc/systemd/resolved.conf 或者 /etc/resolv.conf 添加对应的 nameserver。

一键设置

# 备份添加
mv /etc/resolv.conf /etc/resolv.conf.bak && echo -e "nameserver 2001:67c:2b0::4\nnameserver 2001:67c:2b0::6" > /etc/resolv.conf
# 追加添加
echo "nameserver 2a00:1098:2c::1" >> /etc/resolv.conf

DNS 设置持久化

LXC 容器 DNS 修改可能会在重启后被覆盖。如果你希望修改永久生效,使用以下命令:

touch /etc/.pve-ignore.resolv.conf

2.3. 非全局 warp

2.3.1. 安装 cloudflare-warp(Proxy 模式)+ proxychains4

一键脚本

apt install -y curl && bash <(curl -Ls https://raw.githubusercontent.com/Lynn-Becky/v6_only/main/v4.sh)

选择使用 warp 服务,根据提示执行。

2.3.2. 测试 warp 可用性

curl -4 -x socks5://127.0.0.1:1835 ip.sb

正常输出: 104.28.*.* 或 2a09:bac5:*:*:* 如出现错误或其它,请检查注册与设置 warp 部分是否出现错误。

2.3.3. 使用 warp 代理

2.3.3.1. 临时为部分软件启用代理

适合软件支持读取环境变量中的代理设置,常用软件大多数支持自动读取代理,如 curl、wget 等工具。如果不确定或不支持请参考后续的强制代理部分。

# 首选
export all_proxy=socks5://127.0.0.1:1835 && export ALL_PROXY=socks5://127.0.0.1:1835

# 不推荐,可能会遇到问题
export http_proxy=http://127.0.0.1:1835 && export https_proxy=http://127.0.0.1:1835 && export HTTP_PROXY=http://127.0.0.1:1835 && export HTTPS_PROXY=http://127.0.0.1:1835

# 查看 proxy 相关的环境变量
env | grep -i proxy
# 取消终端代理
unset all_proxy && unset ALL_PROXY

如果希望以上设置永久生效,可以通过使用 vi ~/.bashrc 命令编辑 BASH 配置文件,选择一种方式加到文件最后一行。

2.3.3.2. 为不支持的软件强制启用代理

对于不支持设置代理的软件,可以通过使用 proxychains4 的方式为它们强制启用代理,但注意这种方式只支持 TCP 连接

在你需要代理的命令前加入 proxychains4 使用, 例如:

proxychains4 curl ip.sb
proxychains4 python example.py

2.3.3.3. 卸载

# 卸载
warp-cli delete
apt remove --purge cloudflare-warp
apt remove --purge proxychains4

2.4. 全局 warp

使用 f 佬新的 warp 脚本解决全局 warp

cp /etc/resolv.conf{,.bak}; echo -e "nameserver 2a00:1098:2b::1\nnameserver 2a01:4f9:c010:3f02::1\nnameserver 2a01:4f8:c2c:123f::1\nnameserver 2a00:1098:2c::1" > /etc/resolv.conf
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh 4
# ipv6 only 的机器选择第一项,然后一路回车全部默认即可。

3. 建站

安装 nginx,套 cf 并且打开小云朵同时支持 ipv4 和 ipv6 访问。

《Nginx 使用》,效果可看 wap HK IPv6 only 探针

4. 科学

4.1. x-ui

  • 因为只有 ws 才能套 cf 可以 ipv4/ipv6 使用,采用 vless+ws+tls+cf。

  • 入站端口使用 Cloudflare 默认代理的网络端口,如 8443、2052

  • Cloudflare 常用项

    • 网站 - DNS , 设置域名解析及是否开启代理
    • 网站 - SSL/TLS,设置 SSL/TLS 加密模式(关闭/灵活/完全/完全严格)
    • 网站 - 规则,创建配置规则来按主机名自定义这些设置
    • 网站 - SSL/TLS - 客户端证书,使用 Cloudflare 公钥基础结构 (PKI) 创建客户端证书。
  • 使用 acme.sh 自签证书,给 x-ui 使用

# 部署 x-ui
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)
# 错误1
# 检测 x-ui 版本失败,可能是超出 Github API 限制,请稍后再试,或手动指定 x-ui 版本安装
# 解决1:
# warp 给的 ipv4 被 github 限制了不能访问 api 检测版本,导致中途退出
# 修改代码取消版本检测即可以
# 或者更换脚本(未实践)
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

# ygkkk 提供了一个可以直接在 ipv6 环境下部署的脚本
# 不推荐,好像版本旧,少了比如投域名自动填写等功能
bash <(wget -qO- https://gitlab.com/rwkgyg/x-ui-yg/raw/main/install.sh 2> /dev/null)

# 查看配置
root@wap:~# cat /usr/local/x-ui/bin/config.json

4.2 Hysteria2

《VPS 自建 Reality 和 Hysteria2 机场节点》

4.3 sba(sing-box + argo)

# 未实践
bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/sba/main/sba.sh)

5. 解决 debain11上 ssh 连接慢问题

更新: 2014/01/14,wap.ac 已更新 lxc 模板解决连接慢问题。

来源 https://gist.github.com/charlyie/76ff7d288165c7d42e5ef7d304245916

systemctl mask systemd-logind
pam-auth-update

第二个命令出来的界面,按键盘上下键移到 Register user sessions in the systemd control group hierarchy 项,按空格键取消选中,然后回车即可。退出ssh再连就可以实现秒进了。

评论

此博客中的热门博文

Clash Verge系列使用最佳实践

X-UI 安装使用教程,支持多协议多用户的 Xray 可视化面板

非 root 用户自建 v2ray 梯子 (serv00-vmess)

使用一键脚本,部署 Hysteria 2(歇斯底里)协议节点-尚未完成小火煎的配置

Telegram RSS机器人-Flowerss bot比较全面的安装教程

使用x-ui面板中转流量解锁流媒体-服务器端分流节点

最新11个可用的TG代理,请收藏!

Serv00搭建各种服务

VPS挂机流量

X-for-Serv00 让你的 Serv00 节点获得更好的体验