ipv6 only的小鸡配置全局双栈SOCKS5代理

萝莉工坊 11 0

我选择了gost,使用的是redir协议,这个基本等同于redsocks,仅支持TCP转发,
如果需要UDP,可以用gost里的tproxy,具体看gost文档:https://gost.run/tutorials/redirect/
查了一下xray里面这个dokedemo-door也可以udp的。

具体操作:

1.双栈小鸡上搭建socks5代理。

使用你喜欢的方式搭建socks5代理,我一般用面板3x-ui或者gost

安装最新版本 https://github.com/go-gost/gost/releases

bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install

运行

#用户名JTBvTZ08Rw,密码OsnfPBgbZd,端口12345

gost -L socks5://JTBvTZ08Rw:OsnfPBgbZd@:12345

需要Systemd后台运行的自己设置(下面步骤都忽略Systemd设置),参考(gost文档)和坛友的帖子。

2.在ipv6only的小鸡用gost转发代理

安装最新版本gost

bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install

#运行,这里我的双栈小鸡ip是 [2a0b:4141:820:14b::abc]

gost -L redir://:12345 -F 'socks5://JTBvTZ08Rw:OsnfPBgbZd@[2a0b:4141:820:14b::abc]:12345'

3.iptables设置转发

开启转发

echo "net.ipv4.ip_forward=1" | tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" | tee -a /etc/sysctl.conf
sysctl -p

iptables添加规则

  • ipv4设置
  1. 清除现有规则(如果你有其它规则就不要随便清除):
iptables -t nat -F
iptables -t nat -X
  1. 配置规则: (RETURN排除转发的ip,可以自己根据情况添加):
iptables -t nat -N SOCKS
iptables -t nat -A SOCKS -d 127.0.0.1/8 -j RETURN
iptables -t nat -A SOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A SOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j SOCKS
  1. 查看规则
iptables -t nat -L -v -n
  1. 保存规则:
iptables-save > /etc/iptables/rules.v4
  1. 停用添加的SOCKS规则
iptables -t nat -D OUTPUT -p tcp -j SOCKS
iptables -t nat -F SOCKS
iptables -t nat -X SOCKS
  • ipv6设置(如果仅需要ipv4,ipv6也可以不做转发)
  1. 清除现有规则:
ip6tables -t nat -F
ip6tables -t nat -X
  1. 添加规则
ip6tables -t nat -N SOCKS
ip6tables -t nat -A SOCKS -d ::1/128 -j RETURN
ip6tables -t nat -A SOCKS -d fc00::/7 -j RETURN
ip6tables -t nat -A SOCKS -d 2a0b:4141:820:14b::abc/128 -j RETURN
ip6tables -t nat -A SOCKS -p tcp -j REDIRECT --to-ports 12345
ip6tables -t nat -A OUTPUT -p tcp -j SOCKS
  1. 查看规则
ip6tables -t nat -L -v -n
  1. 保存规则:
curl -6 ip.sb
应返回 2a0b:4141:820:14b::abc

curl -4 ip.sb
应返回 193.233.134.xxx

说明已经成功

5.补充ipv6only连内网ipv4都没有,需要自己添加一个ipv4

我的ipv6only小鸡连内网ipv4
临时添加:

# 接口 eth0 添加一个临时的 IPv4 地址10.0.0.2:
ip addr add 10.0.0.2/24 dev eth0

# 添加默认网关10.0.0.1
sudo ip route add default via 10.0.0.1 dev eth0

永久添加,写进在网卡配置文件

#debian的编辑网络配置 /etc/network/interfaces
nano /etc/network/interfaces

#添加:
auto eth0
iface eth0 inet static
    address 10.0.0.2/24
    gateway 10.0.0.1

其他系统可能不一样,自己看情况设置

6.最后

因为我之前用的是公共DNS6to4,想想这个会不会更简单?顺便问了AI,这两方法的区别
具体区别,需要的自己去搭建(看起来搭建更复杂,但客户端使用更简单)

特性 gost + SOCKS5 代理 DNS64 + NAT64
工作层级 应用层(SOCKS5 协议) 网络层(IPv6 到 IPv4 转换)
支持的流量 IPv4 和 IPv6 仅 IPv4(IPv6 原生支持)
性能 中等(代理加密和转发有开销) 高(网络层转换,延迟低)
配置复杂度 中等(gost + ip6tables/iptables) 较高(tayga + bind9 + iptables)
部署时间 快(单命令 + 规则 较慢(需配置网络服务)
灵活性 高(支持多种协议和目标) 中等(仅限 IPv4 转换)
安全性 支持认证(用户名/密码) 无额外认证(依赖网络安全)
依赖 双栈 VPS 的 SOCKS5 服务 双栈 VPS 的 NAT64 和 DNS64 服务
IPv4 地址需求 无需(依赖 SOCKS5 处理 双栈 VPS 需公网 IPv4 地址
适用场景 通用代理(IPv4+IPv6) IPv6-only VPS 访问 IPv4

发表评论 取消回复
表情 图片 链接 代码

分享