月下博客

添加ipv6支持

如有问题,欢迎到 SSR技术网 查看解决方案或发帖求助。

Shadowsocks/SS、ShadowsocksR/SSR和V2Ray三种广为人知的代理技术,除SSR自带ipv6支持,其余两种技术官方都没有明确表示支持同时监听ipv4和ipv6。目前本站提供的 Shadowsocks/SS一键脚本V2Ray一键脚本 默认只监听ipv4地址,而 ShadowsocksR/SSR一键脚本 默认同时监听ipv4和ipv6。

如果你使用了ipv6的机器(vultr官网有2.5刀每月的机器,只有ipv6,购买参考 购买vultr服务器超详细图文教程),或者想处理仅有ipv6的流量,SS和V2Ray该怎么做才有可能实现呢?

答案便是:通过代理转发!

常用的反向代理软件有Nginx、haproxy。本教程以CentOS系统上的Nginx为例,简要介绍在有ipv6地址的服务器上监听ipv6端口,然后转发流量到本地ipv4端口的步骤。

首先,安装Nginx。本网站提供的一键脚本已经默认安装了,运行过一键脚本可跳过此步。如果你的服务器没有安装,请用这条命令安装:yum install -y epel-release && yum install -y nginx

接着,配置Nginx监听ipv6流量,然后转发给后端的SS/SSR/V2ray。我们假设后端技术监听的端口是ipv4的12345并且没有监听ipv6端口,那么在 /etc/nginx/nginx.conf 文件中增加如下配置:

stream {
  server {
    listen [::]:12345;
    proxy_pass 127.0.0.1:12345;
  }
}

配置好后,用 nginx -t 测试查看有无错误。如果配置正确,用 systemctl restart nginx 重启Nginx。

通过如此简单的配置,就可以让后端的服务器支持ipv6流量啦!用 netstat -ntlp 命令查看监听的端口,能看到 12345 端口正在由 Nginx 监听:

监听ipv6流量

文章最后修改日期:2020年3月4日