frp内网穿透服务器搭建笔记以及免费frp内网穿透服务器的使用方法
为什么琢磨这个frp内网穿透服务,因为有一套视频监控系统使用的移动的网络,一直用的好好的,在远程也可以监控,但是突然不能用了,经过检查移动把分配的公网IP变成了内网IP,跟运营商理论也挺费劲的,所以就用了监控录像机里自带的云端转发,但是使用效果明显不行,速度太慢了,于是就想自己搭建一个内网穿透的服务器,网上虽然有这些服务,比如花生壳、国内的ngrok等等,但是觉得还是自己搭建服务器带宽有保证,下面记录frp服务器安装的笔记。
一、frp服务器搭建的准备工作
1、一台有公网IP的服务器或者VPS,我这里选择了阿里云的vps;
2、一个域名,把这个域名解析到上面所说的服务器或者VPS的IP上,根据需要可以解析泛域名,我这里用了一个frp.xxorg.com做解析,同时解析*.frp.xxorg.com
3、下载frp服务器软件https://github.com/fatedier/frp/releases ,根据自己的系统选择,我的是linux 64位的系统,所以下载了frp_0.9.3_linux_amd64.tar.gz ,文件解压后只需要frps开头的,这个服务器端的文件,frpc开头的是客户端(待穿透的内网计算机)的文件。
二、frp服务器的搭建
其实很简单,把上面下载的frps文件和frps.ini文件复制到服务器上的某个目录,加入放在 /root/frp目录下,然后修改frps文件的权限为可执行,或者直接给予777的权限。然后修改frps.ini的内容为下面的内容,可以删除原文件直接用下面的代码粘贴到frps.ini里面,这里是以特权模式运行,方便添加客户端。
1 2 3 4 5 6 7 8 9 10 |
<span class="pun">[</span><span class="pln">common</span><span class="pun">]</span><span class="pln"> bind_port </span><span class="pun">=</span> <span class="lit">7000</span> <span class="com"># 服务器监听端口</span><span class="pln"> vhost_http_port </span><span class="pun">=</span> <span class="lit">8080</span> <span class="com"># http协议穿透时使用的端口</span><span class="pln"> privilege_mode </span><span class="pun">=</span> <span class="kwd">true</span> <span class="com"># 以特权模式运行</span><span class="pln"> privilege_token </span><span class="pun">=</span><span class="pln"> keuqricjswosdpfk </span><span class="com"># 这个值随意填写,但是要与客户端的值相同</span><span class="pln"> privilege_allow_ports </span><span class="pun">=</span> <span class="lit">50000</span><span class="pun">-</span><span class="lit">60000</span> <span class="com"># 端口白名单,只有这个范围内的端口可以被使用</span><span class="pln"> max_pool_count </span><span class="pun">=</span> <span class="lit">100</span><span class="pln"> dashboard_port </span><span class="pun">=</span> <span class="lit">5500</span> <span class="com"># 管理面板的端口号 </span><span class="pln"> dashboard_user </span><span class="pun">=</span><span class="pln"> admin </span><span class="com"># 管理面板的用户名</span><span class="pln"> dashboard_pwd </span><span class="pun">=</span><span class="pln"> admin </span><span class="com"># 管理面板的密码</span> |
然后就可以运行frp服务了,先进入frp目录,然后运行,至此frp服务器就算搭建完成了。
1 2 |
<span class="pln">cd </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">frp nohup </span><span class="pun">./</span><span class="pln">frps </span><span class="pun">-</span><span class="pln">c </span><span class="pun">./</span><span class="pln">frps</span><span class="pun">.</span><span class="pln">ini </span><span class="pun">&</span> <span class="com"># nohup是为了让frp后台运行,关闭控制台后依然能运行,或者使用./frps -c ./frps.ini 关闭控制台后程序就停止了</span> |
三、内网客户端穿透设置
跟第一步下载软件一样,根据客户端电脑的系统下载对应的程序,我的待穿透的内网电脑是win7 32位系统,所以选择下载frp_0.9.3_windows_386.zip ,解压后,只需要frpc.exe和frpc.ini,这两个文件是客户端文件,同样修改frpc.ini为以下内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<span class="pun">[</span><span class="pln">common</span><span class="pun">]</span><span class="pln"> server_addr </span><span class="pun">=</span><span class="pln"> www</span><span class="pun">.</span><span class="pln">xxorg</span><span class="pun">.</span><span class="pln">com server_port </span><span class="pun">=</span> <span class="lit">7000</span><span class="pln"> privilege_token </span><span class="pun">=</span><span class="pln"> keuqricjswosdpfk </span><span class="com">#这个值要与前面服务器端设置的一致</span><span class="pln"> host_http_port </span><span class="pun">=</span> <span class="lit">8080</span> <span class="pun">[</span><span class="pln">ssh1</span><span class="pun">]</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> http custom_domains </span><span class="pun">=</span><span class="pln"> test</span><span class="pun">.</span><span class="pln">frp</span><span class="pun">.</span><span class="pln">xxorg</span><span class="pun">.</span><span class="pln">com </span><span class="com">#修改test为其他,不要重名</span><span class="pln"> privilege_mode </span><span class="pun">=</span> <span class="kwd">true</span><span class="pln"> use_gzip </span><span class="pun">=</span> <span class="kwd">true</span><span class="pln"> use_encryption </span><span class="pun">=</span> <span class="kwd">true</span><span class="pln"> local_port </span><span class="pun">=</span> <span class="lit">80</span><span class="pln"> pool_count </span><span class="pun">=</span> <span class="lit">20</span> |
然后可以运行客户端的程序进行链接服务器进行穿透了,在命令行里输入
1 |
<span class="pln">d</span><span class="pun">:</span><span class="pln">\frp\frpc</span><span class="pun">.</span><span class="pln">exe </span><span class="pun">-</span><span class="pln">c d</span><span class="pun">:</span><span class="pln">\frp\frpc</span><span class="pun">.</span><span class="pln">ini</span> |
这时访问http://test.frp.xxxx.com:8080就可以看到内网电脑上安装的http服务了。