Docker 部署
构建
bash
docker build -f docker/Dockerfile -t ipv6-subnet-proxy .docker-compose
yaml
services:
ipv6-proxy:
build:
context: .
dockerfile: docker/Dockerfile
environment:
- API_KEY=changeme
- LOG_LEVEL=info
# - WARP_ENABLED=true
# - WARP_ACCOUNTS=8
# - HE_TUNNEL_ID=...
# - HE_TUNNEL_USERNAME=...
# - HE_TUNNEL_UPDATE_KEY=...
volumes:
- ./data:/data
cap_add:
- NET_ADMIN
restart: unless-stopped
network_mode: host宿主机前置(在宿主机上设置,不要指望 compose):
bash
# 必需:允许绑定未配置在网卡上的地址
sudo sysctl -w net.ipv6.ip_nonlocal_bind=1
echo net.ipv6.ip_nonlocal_bind=1 | sudo tee /etc/sysctl.d/99-ipv6-proxy.conf
# 仅在容器内接入免费 IPv6 时需要
sudo modprobe wireguard # WARP
sudo modprobe sit # 6in4 隧道必须使用
network_mode: host。 端口映射仅作说明,容器直接使用宿主机网络栈。host 网络下 compose 的sysctls:无效 —— 请在宿主机按上面设置ip_nonlocal_bind。sit/wireguard模块也属于宿主机内核;镜像已内置iproute2与wireguard-tools。
WARP / 隧道接入见 宿主机没有 IPv6。