Frp服务器搭建--内网穿透

  • 如果CSDN和知乎无法看到图片,欢迎来到我的博客~

Frp服务器搭建–内网穿透

1.它是什么?干嘛用的?

  • 先假设这样一个场景,在仅有的IPV4的环境下,你身处外面使用手机数据流量,想访问家里的路由器界面(如192.168.1.1),但奈何路由设备仅仅存与家庭局域网中,无法访问,怎么让路由器管理界面在世界各地都可以访问呢?
  • Frp内网穿透工具就是为了解决这样一个问题的,可以在有网络的任何地方访问到你家庭的设备。
  • 家里头无法在外面访问的网络,我们以下称为内网
  • 公网:与内网相反,为什么我们都可以在任何地方访问百度?因为百度的服务器放在了一个大家都可以访问到底网络,公共使用的网络–公网

2. Frp工具是如何做到的?

  • 简单的说转发,它需要一台在公网设备的帮助转发;画张图就懂了
  • Frp服务器部署在公网中,它是一个中间商,你想发数据给路由,先发给Frp服务器,Frp再转发给路由,路由发你的数据也是如此
    Frp服务器搭建--内网穿透_第1张图片
  • IP:网络地址,字面意思,网络的地址,有地址才找到一个地方
  • 域名: 方便访问,为什么我们输入"baidu.com"就能访问百度呢?为什么大家不直接通过百度IP访问呢?不是所有人都能记住那一串数字的{IP地址:xxx.xxx.xxx.xxx}

3. 服务器部署流程

  • 千万别怕,很简单的,真的非常非常简单!

3.1 所需条件

  • 一台具有公网IP的设备(阿里云服务器)
  • 一个属于你的域名
  • 等等等!是不是又要放弃了!公网服务器和域名价格都非常低,公网服务器一个月10元/月,域名甚至有1元/年,没错!是年!越好看的域名越贵,个人用大概10-26元/年
  • 域名备案麻烦?:现在已经非常方便了!在线备案,手机拍身份证上传等就行,三天左右完成!

3.2 购买服务器和域名

  • 购买这部分不会出什么问题,如果你被繁杂的购买界面卡住,资本家比你还着急
  • 域名购买
  • 服务器购买10/月需要24岁以下,或者24岁以上研究生在读,推荐买轻量级应用服务器,其有5M的带宽(创建虚拟机的时候记下管理密码)
  • 这个时候你就有一台挂在阿里家的电脑,Linux系统,其拥有一个公网IPv4地址,可通过ssh链接控制

3.3 部署

现假设你购买的服务器IP是YourIP,域名是:yourname.xx

  1. 所需软件Winscp:点击普通下载哦~
  2. Frp下载
  3. 根据你的服务器操作系统下载对应的压缩包:
    windows 64位:XXX_windows_amd64.zip
    windows 32位:XXX_windows_386.zip
    linux 64位:XXX_linux_amd64.tar.gz
    linux 32位:XXX_linux_386.tar.gz)
  • 其中包括有frpc(客户端),frpc.ini(客户端配置),frps(服务器),frps.ini(服务器配置)
  1. 打开winscp链接你的阿里云服务器,填上IP和密码,密码就是创建虚拟机的时候设置的密码,或者有个随机密码,阿里云控制台能看到,上传刚刚下载的frp
  • winscp上传文件像Windows一样,鼠标点击拖上去就行,拖到root用户目录下
    Frp服务器搭建--内网穿透_第2张图片
  • 设置权限,Windows电脑(Win+R)输入cmd,接着输入ssh Yourip 然后输入你的密码,给frp文件夹权限
chmod 777 -R /root/frp
  1. 设置frp服务器参数
  • 打开frp文件夹下的frps.ini
    Frp服务器搭建--内网穿透_第3张图片
  • 代码如下,按照注释的意思填,端口可以自己选,但是不要冲突就行,如果不想你就填括号里的(密码就不要抄了了哦)
[common]
bind_addr = 0.0.0.0
bind_port = 服务器监听端口(10000)
bind_udp_port = UDP端口(10001)
kcp_bind_port = KCP端口(10002)
vhost_http_port = 80
vhost_https_port = 443
subdomain_host = 你的域名(如:yourname.xxx)
dashboard_addr = 0.0.0.0
dashboard_port = 后台管理端口(11000)
dashboard_user = 管理用户名(root)
dashboard_pwd = 管理密码(你自己填一个)
token = 链接密钥(你自己想一个,别照抄啊!如:ABCDEFG)
max_pool_count = 100
log_file = ./frps.log
log_level = info
log_max_days = 3
  1. 启动Frp
  • ssh中运行他们
nohup ./root/frp/frps -C /root/frp/frps.ini
exit

这时候就运行了,但是如果需要开机自启动可以修改/etc/rc.local文件,加入启动命令
/root/frp/frps -c /root/frp/frps.ini &
不同的系统自启动会不太一样
百度搜索"你的系统 开机运行程序(ubuntu 开机运行程序)"有答案
7. 添加域名解析
需要添加两条解析记录

  • 1.泛域名解析(*.yourname.xxx
  • 2.frp服务器域名(frp.yourname.xxx)
    如何打开这个页面域名设置教程
    打开阿里云控制台,找到域名设置入门,添加记录如下
第一条(*.yourname.xxx)
记录类型:A(将域名指向一个IPV4地址)
主机记录:___*__yourname.xxx(空填入一个'*'就好)
解析记录:默认
记录值:YourIP
TTL:10分钟

第二条(frp.yourname.xxx)
记录类型:A(将域名指向一个IPV4地址)
主机记录:___frp__yourname.xxx(空填入"frp"就好)
解析记录:默认
记录值:YourIP
TTL:10分钟
  1. 设置阿里云服务器防火墙
  • 需要将相应的端口打开,如80,443等等,大概流程参考防火墙
  • 根据上述服务器设置,打开相应的端口如下
  • 如果嫌麻烦,直接打开全部端口
  1. 检查是否成功
  • 在浏览器中随便输入xxx.yourname.xxx(如:casojie.yourname.xxx)是否有界面显示如下
    Frp服务器搭建--内网穿透_第4张图片
  • 登录Frp服务管理界面
  • (浏览器输入frp.yourname.xxx:11000(后面的11000根据你设置的dashboard_port = 后台管理端口确定)),你就会看到登录界面,写入服务器配置那设置的密码
    Frp服务器搭建--内网穿透_第5张图片

4.客户端如何连接?

  • 在下载的frp程序,其中包括有frpc(客户端),frpc.ini(客户端配置),frps(服务器),frps.ini(服务器配置),客户端使用frpc,frpc.ini,打开frpc.ini;
[common]
server_addr = frp.yourname.xxx(刚刚设置的域名解析)
server_port = 服务器监听端口(10000)
token = 链接密钥(你自己想一个,别照抄啊!如:ABCDEFG)//你服务器设置的token
user = 客户端名称(可以随便填一个英文字符串,给这个客户端命名)

[web]   //代理内网的网站
type = http //类型http
local_ip = 127.0.0.1    //内网设备IP
local_port = 80         //端口
subdomain = http         //子域名:如此时填入的是http,则浏览器输入(http.yourname.xxx)就会访问到此设备

[ssh]
type = tcp              //内网TCP代理
local_ip = 127.0.0.1    //内网设备IP
local_port = 22         //要代理的端口
remote_port = 11022      //代理所生成的端口,如此时填入11022,则此时你的服务器端口11022与内网的设备22端口连接起来
  • 如果你的路由器是openwrt,或者padavan就更方便了,直接填入这些参数,脚本生成这些配置文件

6.后续

  • Frp还要好多应用场景,如局域网游戏代理,我的世界服务器,Windows远程控制,内网web服务器代理,等等等等~用处多多,不过局限在于服务器端带宽只有5M,或者找人合租一个大的带宽服务器

你可能感兴趣的:(折腾之路,神秘工具,局域网,网络,代理模式)