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

wireguard atrandys 5个月前 (04-15) 2764次浏览 4个评论
文章目录[隐藏]

多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、客户端不需要任何改动。


文章标题:多IP VPS配置WireGuard客户端使用不同出口IP
固定链接:https://www.atrandys.com/2019/1780.html
原创文章,未经允许,禁止转载。
喜欢 (9)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 大佬,请教您下,如何在wireguard 上搭建proxy switcher,意思是通过本地wireguard客户端,连接VPS服务端,再连接带账号密码的私人IP,上网,这时谷歌显示的ip为私人IP,非服务端VPS的IP,甚至不同客户端,同VPS服务端可以绑定不同的私人ip,盼复,万分感谢!
    henry2019-06-20 11:53 回复
  2. 请问出口的IP地址一般怎么去获得呢?
    222019-06-04 14:04 回复
    • 你买VPS的时候厂商就会给你分配的。
      atrandys2019-06-04 16:32 回复