0x00 前言
在平时进行一些挖洞、扫描或者爬虫工作的时候,被封 IP 的情况时有发生,解决这个问题较好的方法可能就是挂代理了。但是代理有时也会被封,并且有的代理质量可能还不太高,这时采用负载均衡个人觉着是一种不错的解决方法。
在开启负载均衡时,系统能够自动切换到较为优质的代理线路上;同时由于系统经常自动切换 IP ,因此个人觉着也能在一定程度上减轻被封 IP 的风险。
在 Windows 上,平时个人使用的代理工具自带就有负载均衡选项,但是无奈 Linux 下个人暂时还没能找到合适的工具,后来在网上查资料得知可以通过 Nginx 或 HAProxy 去配置负载均衡,虽然这样没有 Windows 下那样方便,但好在能解决这个问题。
通过 Nginx 或 HAProxy 的对比,HAProxy 有 Web 可视化页面,因此个人觉着会更直观些,当然这个因人而异。
在折腾了一天的时间后,终于在 Linux 下利用 HAProxy 配置好了负载均衡,下面就简单记录一下配置过程以及中间踩得一些坑。
0x01 准备工作
一些设备
- 一台 Linux 主机,用来做负载均衡服务器,这里以 Ubuntu 为例,其他 Linux 发行版基本上就一个安装命令与之不同。
- 一些可用的代理,这里以酸酸乳为例。
一些条件
所有代理的密码、加密方式、协议、混淆方式都必须一致,简而言之,除了代理的IP之外的信息都尽可能的保持一致。
达到以上条件后,就可以在 Linux 下利用 HAProxy 配置负载均衡了。
0x02 HAProxy 的安装与使用
HAProxy 可直接使用apt install
进行安装,安装之前建议先将系统apt-get update
一下。
1 | apt install haproxy |
安装之后,编辑配置文件,编辑之前建议先将配置文件进行备份。
1 | mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak |
为了便于直接复制配置文件信息,这里使用的mv
命令进行备份,因此使用vim
打开时,直接将以下配置文件信息根据自己情况修改复制到/etc/haproxy/haproxy.cfg
即可。
1 | global |
在上面的配置文件中,修改最后几行代理信息即可,即将其中的proxy_name、proxy_ip、proxy_port
替换成自己的就行。
关于配置文件中的一些注意事项
- 配置文件中的注释信息需要删除,尤其是中文,否则 HAProxy 启动时会报错
- HAProxy 启动时如果报错,建议检查配置文件中是否存在格式错误、缺字多字的情况,这都会导致报错
- 如果 HAProxy 在公网服务器上建议将 Web 管理地址与登录的账号密码设置为较难猜解的信息
- 如果想了解配置文件中的更多信息可以查看参考链接中的文章
HAProxy 配置完后,直接使用service
命令启动即可。
1 | service haproxy start |
此时,浏览器打开 HAProxy 的 Web 管理地址,输入账号密码后,看到以下页面,就说明 HAProxy 已经正在运行了。
在这个 Web 页面中,绿色的线路表示当前可用,红色线路表示当前可能是不可用状态,其他颜色所表示的意思可参考页面上方的示意信息。
0x03 代理客户端上的配置
配置好 HAProxy,就开始配置代理工具了。根据上面 HAProxy 配置文件,服务 IP 端口配置的为127.0.0.1:8880
。
打开酸酸乳的配置文件,我这里是user-config.json
文件,原文件内容如下:
1 | { |
现在需要把文件中的server
和server_port
修改为 HAProxy 的服务 IP 端口信息,即 127.0.0.1:8880
,修改后如下:
1 | { |
接下来,重启酸酸乳,使用 curl 进行一下测试。
1 | curl --socks5-hostname 127.0.0.1:1080 cip.cc |
1 | [email protected]:~# curl --socks5-hostname 127.0.0.1:1080 cip.cc |
通过测试,可以发现每次请求时,自己的 IP 都会改变,这就是 HAProxy 起到了作用。
这里只是进行一下测试,平时在Linux
下使用代理的时候,更推荐使用proxychains4
对命令进行代理。
一些注意事项
- 在修改代理客户端的代理配置文件之前,一定要确保当前配置文件是没问题的,以便于后期排错。
- 只有代理客户端的配置文件是配置的 HAProxy 服务IP端口信息,其他比如浏览器、curl 等都是和原来一样代理到代理工具的 IP、端口上即可,这个是我陷的比较深的一个坑。
0x04 总结
在平时不管挖洞还是扫描、爬虫,个人觉着开启负载均衡之后,在一定程度上应该是能降低被封 IP 的风险的,同时代理质量也能上去。
但是在涉及账号登录情况下,就建议不要开启负载均衡了,不然有的系统监测到异地登录就会把账号退出了,手动登录之后,发现系统又检测到了异地登录,然后又给账号退出了……
总的来说,以上就是我个人的一些小总结以及踩过的一些坑,希望大家碰到同类问题时,这篇文章能够对其有所帮助。
参考链接:
https://44i.im/index.php/2020/02/10/ss-ssr-v2ray-balance/
https://tianws.github.io/skill/2019/07/11/gfw/
更多信息欢迎关注我的微信公众号:TeamsSix