
为什么我们需要用frp做socks5代理
很多做网络业务的朋友肯定遇到过这种情况:手头有一台内网机器,上面跑了一些程序,或者你想把这台内网机器当成一个跳板来用,但是内网机器没有公网IP,外面的人根本连不进来。这时候frp就成了神器。frp不仅能做端口映射,它还自带了socks5代理插件。这意味着你可以直接把一台内网机器变成一个socks5代理服务器,通过公网服务器中转,让你的本地流量或者业务流量走内网机器出去。
从代理IP的角度来看,这种玩法相当于自己搭建了一个专属的代理节点。自己搭的代理出口IP往往是机房IP或者家庭宽带IP,如果业务对IP纯净度要求高,还得配合高质量的代理IP服务来用。后面我们会详细讲到怎么把frp和ipipgo的代理IP结合起来,打造一个既稳定又纯净的代理通道。
Pré-configuration
在动手之前,咱们得把工具和物料准备齐:
1. 一台带有公网IP的服务器:比如你买的云服务器,这台机器负责接收外部的连接请求,然后转发给内网机器。
2. 一台内网机器:也就是你想要作为socks5代理出口的那台电脑或服务器,它能够访问外网。
3. frp安装包:去开源社区下载对应系统版本的frp压缩包,分清楚哪个是服务端(frps),哪个是客户端(frpc)。
服务端(公网服务器)配置步骤
服务端的配置非常简单,核心就是设定一个监听端口,让客户端能连上来。登录你的公网服务器,解压下载好的frp文件,找到里面的frps可执行文件和frps.ini配置文件。
用文本编辑器打开frps.ini,改成下面这样:
[common]
frp服务端监听的端口,客户端连接这个端口
bind_port = 7000
为了安全,建议设置一个鉴权token,客户端必须一致才能连接
token = your_secure_token_123
配置好之后,在命令行里启动frps:
./frps -c ./frps.ini
看到启动成功的提示,并且没有报错,服务端就算搞定了。
客户端(内网机器)配置socks5代理
接下来是重头戏,在你的内网机器上操作。解压frp文件,找到frpc可执行文件和frpc.ini配置文件。我们要在这里使用frp内置的socks5插件。
打开frpc.ini,按照下面的格式填写:
[common]
你的公网服务器的IP地址
server_addr = 123.45.67.89
公网服务器上设置的bind_port
server_port = 7000
和服务端的token保持一致
token = your_secure_token_123
[socks5_proxy]
代理类型必须是tcp
type = tcp
这是你映射到公网服务器的端口,别人连这个端口就能用代理了
remote_port = 1080
启用socks5插件
plugin = socks5
可选:给socks5代理加上账号密码验证,更安全
plugin_user = my_proxy_user
plugin_passwd = my_proxy_pass
为了让大家看得更明白,我整理了一个参数说明表格:
| paramètres | Description du rôle | 是否必填 |
|---|---|---|
| server_addr | 公网服务器的IP地址 | être |
| server_port | frps监听的端口 | être |
| remote_port | 暴露在公网上的代理端口 | être |
| plugin | 指定使用的插件,这里是socks5 | être |
| plugin_user | 代理的验证用户名 | bouché |
| plugin_passwd | 代理的验证密码 | bouché |
配置保存后,在内网机器命令行启动frpc:
./frpc -c ./frpc.ini
启动后,控制台会提示连接成功。这时候,你的frp socks5代理就已经跑起来了。你可以用其他设备,填入公网IP和1080端口,加上你设置的用户名密码,测试一下代理是否通畅。
进阶玩法:结合ipipgo代理IP提升业务纯净度
自己用frp搭的socks5代理虽然方便,但出口IP是固定的,而且如果是云服务器,IP属性往往是机房IP,很多业务直接用这种IP容易被风控。这时候,我们就需要在frp的链路后面,接上一个高质量的代理IP服务。
这里强烈推荐使用ipipgo的代理IP服务。ipipgo提供动态住宅代理和静态住宅代理,IP资源全部来自真实的家庭网络,纯净度极高,能有效保护你的网络访问隐私。
具体怎么结合使用呢?
有两种常见思路:
思路一:链式代理转发
你可以在内网机器上装一个代理转发工具(比如proxifier或者一些支持上游代理的软件),把frp进来的socks5流量,再转发给ipipgo的代理IP。这样最终出去的流量,出口IP就是ipipgo的住宅IP了。你可以选择ipipgo的动态住宅(标准)套餐,享受9000万+的IP池轮换;或者使用静态住宅套餐,保持固定纯净的ISP出口。
思路二:直接在业务端配置ipipgo代理
如果你只是想用frp把内网机器当个跳板,其实可以不用frp的socks5插件,直接在公网服务器和内网机器之间建立frp隧道,把内网机器的某个端口映射出去。然后你的业务直接在本地配置ipipgo的SOCKS5代理地址,通过frp隧道把代理请求送到内网机器,再由内网机器去请求ipipgo的代理IP。
需要特别注意的是,ipipgo的常规代理IP服务不能直连,使用我们的IP必须要客户自己先有海外网络环境。也就是说,你的内网机器或者公网服务器,本身得具备访问海外网络的能力,才能连上ipipgo的代理节点。如果你没有海外网络环境,但又有TikTok相关业务需求,可以直接选择ipipgo的TikTok专线,这个是支持多终端一键直连的,不需要你自己搭海外网络环境。
Foire aux questions Module AQ
Q1: frp启动后,客户端提示连接被拒绝怎么办?
首先检查公网服务器的安全组或者防火墙,有没有放行7000端口(bind_port)和1080端口(remote_port)。很多人都是因为防火墙没开导致连不上。其次确认frps是否正常运行,token是否填写一致。
Q2: socks5代理能连上,但是无法上网是什么原因?
这种情况大概率是内网机器本身的网络出了问题,或者内网机器的DNS解析失败了。你可以在内网机器上ping一下外网域名看看通不通。如果配置了plugin_user和plugin_passwd,客户端使用代理时必须填对账号密码,否则也会导致无法上网。
Q3: 我想用ipipgo的代理IP,但是我的服务器在国内,能直接用吗?
常规的ipipgo代理IP是不能直连的,必须要有海外网络环境。如果你的服务器在国内,你需要先通过其他方式具备海外网络访问能力,然后再去调用ipipgo的动态住宅或静态住宅代理。如果是做TikTok直播或运营的,可以直接用ipipgo的TikTok专线,那个是支持直连的,采用原生纯净IP和独享高速通道,不需要你自己折腾海外网络环境。
Q4: ipipgo的代理支持哪些协议?
ipipgo的住宅代理产品全面支持HTTP(S)和SOCKS5协议,无论你是做数据采集、账号多开防封,还是电商环境搭建,都能完美兼容。你可以根据业务需求选择动态住宅(标准)、动态住宅(企业)或者静态住宅套餐。

