< 返回

0成本获取朝鲜IPv6并开设LXC小鸡教程

2026-09-07 14:34 作者:miniduo 阅读量:45

本文介绍如何通过 HE TunnelBroker 配合油猴脚本锁定朝鲜(KP)GeoIP,并利用 Linux LXC 切分出一个拥有独立公网 IPv6 的 Alpine 小鸡,全程 0 成本

前期准备

  • 支持油猴脚本的浏览器,并安装 TunnelBroker 修改地区脚本
  • 一个域名邮箱(没有的话可用临时邮箱)
  • 一台拥有公网 IPv4 的 Linux 宿主机(Ubuntu / Debian)

一、注册并获取朝鲜地区 IPv6

  1. 进入 TunnelBroker 官网注册账号,地区随意选择,其余信息正常填写,注册后验证邮箱。
  2. 登录后进入 Account Info 页面,确保油猴脚本生效,在地区下拉列表最下方选择 将军の老家(朝鲜) 选项并保存。
  3. 点击 Create Regular Tunnel
    • IPv4 Endpoint 填写你的 VPS 公网 IP(VPS 必须允许 ICMP Ping)。
    • Tunnel Server 选择距离最近的节点(如香港、东京或洛杉矶)。
  4. 创建成功后,点击 Assign /48 申请一段 /48 子网。
  5. 等待数据库同步:HE 分配后,各大 IP 数据库同步国家代码需要一定时间(短则 2-3 周,长则 1-3 个月)。通过 IP 查询网站监控,直到 IPv6 段国家标识变为 KP (North Korea)

二、宿主机绑定隧道

GeoIP 识别成功后,登录宿主机运行一键配置脚本:

bash <(curl -fsSL https://raw.githubusercontent.com/zhuanwan0905/tunnelbroker-auto-bind/main/tb_ipv6_autobind.sh)

输入 TunnelBroker 账号、密码及 Tunnel ID,完成隧道创建。绑定后宿主机上会出现名为 he-ipv6 的隧道虚拟网卡。

三、创建与配置 LXC 小鸡

假设分配到 /48 网段为 2001:db8:1234::/48,规划一个 /64 网段分配给网桥和小鸡(例如 2001:db8:1234:101::/64):

  • 网桥网关: 2001:db8:1234:101::1/64
  • 小鸡公网 IP: 2001:db8:1234:101::2/64

1. 准备宿主机网络与转发

apt update && apt install -y lxc lxc-templates bridge-utils uidmap curl iproute2 iptables

sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.default.forwarding=1
sysctl -w net.ipv6.conf.all.proxy_ndp=1
sysctl -w net.ipv6.conf.default.proxy_ndp=1

ip link add name lxcbr0 type bridge 2>/dev/null
ip link set dev lxcbr0 up
ip -6 addr add 2001:db8:1234:101::1/64 dev lxcbr0

2. 创建 LXC 容器(Alpine 3.21)

lxc-create -t download -n node101 -- -d alpine -r 3.21 -a amd64

3. 编辑容器配置文件

/var/lib/lxc/node101/config 替换为以下内容(注意替换 IPv6 前缀):

lxc.include = /usr/share/lxc/config/common.conf

lxc.arch = linux64
lxc.uts.name = node101
lxc.rootfs.path = dir:/var/lib/lxc/node101/rootfs

lxc.tty.max = 0
lxc.pty.max = 1024
lxc.console.path = none

lxc.mount.auto = proc:mixed sys:ro cgroup:mixed
lxc.apparmor.profile = unconfined

lxc.cgroup2.memory.max = 134217728
lxc.cgroup2.memory.swap.max = 0
lxc.cgroup2.cpu.max = 10000 100000

lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = lxcbr0
lxc.net.0.name = eth0
lxc.net.0.ipv6.address = 2001:db8:1234:101::2/64
lxc.net.0.ipv6.gateway = 2001:db8:1234:101::1

4. 启动容器并配置 DNS

lxc-start -n node101
lxc-attach -n node101 -- sh -c "echo -e 'nameserver 2001:4860:4860::8888\nnameserver 2606:4700:4700::1111' > /etc/resolv.conf"

5. 打通宿主机路由与防火墙

ip6tables -I FORWARD -i lxcbr0 -o he-ipv6 -j ACCEPT
ip6tables -I FORWARD -i he-ipv6 -o lxcbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -I FORWARD -d 2001:db8:1234:101::2 -p tcp --dport 22 -j ACCEPT
ip -6 neigh add proxy 2001:db8:1234:101::2 dev he-ipv6

测试容器网络连通性:

lxc-attach -n node101 -- ping -6 -c 3 2001:4860:4860::8888

6. 在小鸡内安装并启用 SSH

lxc-attach -n node101

进入容器终端后执行:

apk update
apk add openssh curl

ssh-keygen -A
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config

passwd root
rc-update add sshd default
/usr/sbin/sshd
exit

四、测试连接

在本地终端(需具备 IPv6 环境)连接小鸡:

ssh root@2001:db8:1234:101::2

排障指南

  • Ping 不通或丢包:检查 net.ipv6.conf.all.forwarding 是否为 1,确认 he-ipv6 网卡名称是否正确。
  • 大包/连接中断(MTU 问题):隧道存在封装损耗,可在宿主机执行以下命令钳制 MSS:
ip6tables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

如需更多技术教程或网络配置支持,请访问三欧科技官网