场景
- 局域网内有1台win,1台linux服务器;
- win上可以通过代理正常上网;
- win上的上网工具没有局域网广播功能,仅限本机使用;
- linux服务器没有代理,只能访问限定网站;
需求
linux服务器借用win上代理正常上网
选型
- lcx:年久失修
- Holer:2k star
- frp:8w star、国人开发、更新勤快
步骤
-
github的frp项目的release页,下载最新发行版的win和linux版本
-
win上cmd确认上网端口可用:
netstat -an | findstr 15236
可以看到,只绑定了本机IP:127.0.0.1 15236。而我们需要在linux上通过局域网IP访问15236这个端口,这显然是做不到的。因此,我们需要做内网穿透。
说下反向的意思:我想从linux访问win的上网工具。那么win就是Server,linux是Custom。但是frp服务器frps却是安装在linux上的,win上反而是客户端frpc,和实际角色相反。 -
先开下linux防火墙,放开frp C/S之间通讯需要的7000端口
firewall-cmd --add-port=7000/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=7000/tcp
-
linux服务器上启动frp服务端(不用改配置文件)
./frps -c frps.toml
-
win电脑上修改frp客户端配置文件
serverAddr = "192.168.xxx.xxx" # linux IP serverPort = 7000 [[proxies]] name = "veee" type = "tcp" localIP = "127.0.0.1" localPort = 15236 remotePort = 15000
-
win电脑上启动frp客户端
frpc.exe -c frpc.toml
-
linux服务器另起一个终端
export proxy="http://127.0.0.1:15000"
export http_proxy=$proxy
export https_proxy=$proxy
-
在linux服务器上检验:
curl -I "http://某歌官网"