奇点灰烬

简单搭建FRP内网穿透服务
按理来说,现在ipv6普及了,我们应该使用ipv6+ddns,而不是frp内网穿透。 ::paopao:1:: 可...
扫描右侧二维码阅读全文
13
2021/11

简单搭建FRP内网穿透服务

按理来说,现在ipv6普及了,我们应该使用ipv6+ddns,而不是frp内网穿透。
可最近有一酷友QQ上跟我说,他还在折腾frp,且搭建不起来,要我帮他搭建.....。
那好吧,楼主以前使用frp不知道是什么时候了,正所谓孔子曰,温故而知新,所以写下心得。


FRP内网穿透,顾名思义,就是外网服务器为内网需要暴露的机器提供端口转发服务。
其原理就是利用了反向连接,内网的机器先连接服务器,然后别人请求服务器,最后服务器为其转发到内网的机器。
5I7Dg.png


frp搭建较为简单,到GitHub下载好对应系统的软件包,里面已经包含了服务端frps和客户端frpc,分别将其放置到对应的机器就可以。
linux和windows的搭建方法是一样,改好配置文件,输入启动命令就好了。
本文以3389远程桌面,http,ssh三合一整合搭建,其他服务可自行添加。


服务端修改 frps.ini

[common]
bind_port = 7000
vhost_http_port = 80

进入frp所在目录,注意windows按住shift,右键用powershell打开,不要用cmd。

./frps -c ./frps.ini

客户端修改 frpc.ini

[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[3389]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6001

[web]
type = http
local_port = 80
custom_domains = 123.com

进入frp所在目录,注意windows按住shift,右键用powershell打开,不要用cmd。

./frpc -c ./frpc.ini

服务器防水墙放行7000,6000,6001,80。
客户端防水墙放行相关服务的端口即可。
域名123.com解析到x.x.x.x服务器ip。
这样访问123.com的6000,6001,80就会分别到达内网的ssh,3389远程,80网站了。


开机启动

以服务端为例,客户端对照frpc即可

  • Linux

把软件包文件夹systemd里的frps.service放到/etc/systemd/system/这里。
frps放到/usr/bin/,把frps.ini放到/etc/frp/

systemctl enable frps.service
  • Windows

打开运行窗口,输入shell:Common Startup,即可打开开机启动文件夹。
在里面新建一个批处理文件,后缀为.bat,输入如下内容:

cd \
cd E:\frp\
frps.exe -c frps.ini

第二行为frp所在目录,保存,开机即可启动。

结语:如果单单只为了解决内网问题,建议ipv6+ddns,简单粗暴,直连。如果是反向代理,为什么不选择nginx,同样可以转发tcp和http,还省去了反向连接的过程。当然,无论怎样,frp在ipv4时代,确实是一个不错的选择。
最后修改:2021 年 11 月 13 日 12 : 21 PM

2 条评论

  1. YYDS

    有才 有文采

    1. 奇点灰烬
      @YYDS

      没有没有

发表评论