1. 首页
  2. 学术上网
  3. wireguard

多IP VPS配置WireGuard客户端使用不同出口IP

多IP VPS配置WireGuard客户端使用不同出口IP

怎样在多IP VPS上配置WireGuard客户端使用不同的出口IP呢?这句话好像有点饶,直白点说,你的VPS有两个IP地址,IP1和IP2,让用户A(可以多个用户)访问外网时显示IP1,让用户B(可以多个用户)访问外网时显示IP2。相信有这个需求的小伙伴很多吧,像有些系统/任务需要不同的IP,再例如像有些游戏代理,为了防止IP连坐封号,使用不同的出口IP就很有必要。

适用方案

此方法适用于本站所有wireguard游戏加速方案/wireguard学术上网方案

原理

对于VPN类,非常简单就可以实现多出口IP的分配,只需要通过iptables的SNAT,指定VPN某些内网IP的数据包的源地址为某个出口IP即可。表达能力有限,试着看明白吧,囧。

另外说一下,如果你想实现SS(socks5代理)的多出口IP分配,稍微复杂一点点,参照clowwindy大大的iptables Owner Match 方案,自行谷歌之。

配置方法

1、首选你要安装好wireguard服务端,使用本站的wireguard一键脚本搭建。

2、先停止wireguard服务端程序,使用以下命令

wg-quick down wg0

然后修改/etc/wireguard/wg0.conf文件,将如下图的两条命令删掉,并保存文件。

多IP VPS配置WireGuard客户端使用不同出口IP

3、使用脚本的增加用户,生成多个用户。每个用户对对应一个内网IP,例如:10.0.0.2、10.0.0.3等。

4、增加iptables SNAT规则,指定内网IP的出口IP。例如需要10.0.0.2的用户使用93.119.178.180的出口IP,让10.0.0.3的用户使用33.23.22.33出口IP,规则如下:

iptables -t nat -A POSTROUTING -s 10.0.0.2/32 -j SNAT --to-source 93.119.178.180
iptables -t nat -A POSTROUTING -s 10.0.0.3/32 -j SNAT --to-source 33.23.22.33

需要配置其他内网IP的出口IP,操作同样,目前只能一条一条增加。

然后保存iptables规则,centos7保存iptables规则命令如下,其他版本linux自行搞定。

service iptables save

5、启动wireguard服务端

wg-quick up wg0

6、客户端不需要任何改动。

原创文章,作者:atrandys,如若转载,请注明出处:https://atrandys.com/2019/1780.html

atrandys进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

评论列表(4条)

  • henry 2019年6月20日 上午11:53

    大佬,请教您下,如何在wireguard 上搭建proxy switcher,意思是通过本地wireguard客户端,连接VPS服务端,再连接带账号密码的私人IP,上网,这时谷歌显示的ip为私人IP,非服务端VPS的IP,甚至不同客户端,同VPS服务端可以绑定不同的私人ip,盼复,万分感谢!

    • atrandys 回复 henry 2019年6月21日 下午1:11

      好复杂哦 搞不了 sorry

  • 22 2019年6月4日 下午2:04

    请问出口的IP地址一般怎么去获得呢?

    • atrandys 回复 22 2019年6月4日 下午4:32

      你买VPS的时候厂商就会给你分配的。