海豚 |
2019-04-12 17:50 |
frp免费开源内网穿透工具使用说明详解
一.什么是frp
frp是一款免费开源的内网穿透套件。是client/server模式。 二.怎么获取frp
通过开源代码托管平台GitHub,即可获取frp工具。地址为 frp GitHub 三.frp使用准备
1.想要内网穿透,必须要有一台公网IP的主机(例如阿里云主机/腾讯云主机/百度云主机/或者其他) 2.下载frp,目前最新版为022 3.需要穿透的内网主机 四.frp安装配置
前面说了frp是client/server模式,下载下来的frp压缩包包含server以及client。 4.1首先安装配置frp server
server是安装到有公网IP的主机上的, 这里以Linux 64位系统为例子
登陆Linux系统,切换至root用户 获取022Linux版frp 复制 wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz 下载完成后解压文件 复制 tar -xzvf frp_0.22.0_linux_amd64.tar.gz 在解压的文件中找到frps.ini(server配置文件) server最简配置为: 复制 [common] bind_port = 7000 以上配置即可启动,需要注意的是保证上方配置的端口未被其他应用使用 启动frp server 复制 ./frps -c ./frps.ini 看到success字样即启动成功。注意当前窗口不能关闭,如果需要后台启动,则命令为: 复制 ./frps -c ./frps.ini &
4.2安装配置frp client client则是安装到内网机器上,这里同样以Linux 64位操作系统为例 登录内网主机,切换至root用户 获取022Linux版frp 复制 wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz 下载完成后解压文件 复制 tar -xzvf frp_0.22.0_linux_amd64.tar.gz 在解压的文件中找到frpc.ini(client配置文件) client简单穿透某个tcp端口配置: 复制 [common] #有公网IP的主机的公网IP地址,也可以配置域名 server_addr = x.x.x.x #frp 服务端的端口,必须与server一致 server_port = 7000
[testtcp] type = tcp local_ip = 127.0.0.1 local_port = 3306 remote_port = 6000 上面的配置为,将本地的3306 TCP协议端口转发至公网主机的6000端口。需要注意的是保证公网主机的6000端口未被使用 4.3安装frp访问
细心的你可能已经发现,上面的server/client之间没有加密操作,任何人知道了你的公网IP和server端口都可以接入。这里我们可以配置一个简单的密钥进行认证 首先是server 复制 [common] bind_port = 7000 token=abab123456
其次是client 复制 [common] #有公网IP的主机的公网IP地址,也可以配置域名 server_addr = x.x.x.x #frp 服务端的端口,必须与server一致 server_port = 7000 #必须与server配置一直才能通过认证 token=abab123456 [testtcp] type = tcp local_ip = 127.0.0.1 local_port = 3306 remote_port = 6000 启动frp client
复制 ./frpc -c ./frpc.ini 看到success字样即启动成功。注意当前窗口不能关闭,如果需要后台启动,则命令为: 复制 ./frpc -c ./frpc.ini & 五.其他配置及版本说明
一位网友的总结 复制 [common] server_addr = *.*.*.* #已安装好frp服务端frps的服务器Ip地址 server_port = 5443 #与之前frp服务端的设置保持一致,即Bind Port token = ************** #与之前安装服务端时给出的token保持一致
[web1] type = http local_ip = 192.168.1.1 #表示要穿透的为路由器IP local_port = 80 use_encryption = true use_gzip = true custom_domains = *.*.* #表示远程访问192.168.1.1需要的域名,可以为二级域名。如果没有域名建议提前申请,并指向服务器所在IP http_user = *** #可选项,随便填写,表示访问域名时需要用这个用户名验证通过后,才能连接到内网,加了一道防护,更安全 http_pwd = ****** #可选项,随便填写,同上,用户名对应这个密码,输入正确才能连接到内网
[web2] type = http local_ip = 192.168.1.111 #按需填写,填写需要远程访问的第二个内网设备IP local_port = 80 use_encryption = true use_gzip = true custom_domains = *.*.* #表示远程访问192.168.1.111需要的域名,需要与上文的域名有所区别 http_user = *** #可选项,用户名 http_pwd = ****** #可选项,用户密码
log_file = /dev/null log_level = info log_max_days = 3 |
|