
利用frp穿透技术,来实现你要的功能,不需要公网IP。毕竟现在公网IP运营商有很多限制:
以下文章转载自吴昊博客
frp内网穿透是通过一个带有公网IP的服务器进行中转,对被控主机实现反向代理,用户通过访问frps(中转服务器)来实现对frpc(被控主机)的远程访问。
frp流程图如下:
frp项目地址:>
本实验环境以阿里云服务器作为中转机,中转服务器使用Centos76,被控主机使用Centos76,用户使用Windows10由于网络原因,文中链接已经替换成了本地链接,如不放心,请自行去GitHub下载
frps中转服务器配置
1、下载frp
在一台有公网IP的主机上配置frps,我这里以阿里云Centos7x主机为例
1 wget >
2 tar xf frp_0270_linux_amd64targz
3 mv frp_0270_linux_amd64 /usr/local
4 cd /usr/local/frp_0270_linux_amd64
5 rm -f frpc
2、配置frps
这里使用最基础的配置,bind_port 表示frp面板的监控端口,dashboard_user表示面板的登陆帐号,dashboard_pwd表示面板的登陆密码,其它不动。
1 vi
frpsini
配置文件说明:
1 [common]
2 bind_port = 7000
3
4 dashboard_user = whsir
5 dashboard_pwd = blogwhsircom
6 dashboard_port = 8000
3、启动frps
配置启动服务
1 vi /etc/systemd/system/frpsservice
1 [Unit]
2 Description=frps daemon
3 After=syslogtarget networktarget
4 Wants=networktarget
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0270_linux_amd64/frps -c /usr/local/frp_0270_linux_amd64/frpsini
9
10 [Install]
11 WantedBy=multi-usertarget
技行以下两个命令
1 systemctl enable frps
2 systemctl start frps
4、访问监控平台
>
账号whsir
密码blogwhsircom
如果访问不了,请使用ss -lnt命令检查端口是否启动,是否因为防火墙原因拦截。
至此frps中转服务器配置完成
frpc内网主机配置
1、内网主机下载frp
1 wget >
2 tar xf frp_0270_linux_amd64targz
3 mv frp_0270_linux_amd64 /usr/local
4 cd /usr/local/frp_0270_linux_amd64
5 rm -f frps
2、配置frpc
其中xxxx表示frps中转服务器IP地址
ssh字段:local_port = 22示被控(内网)主机的ssh端口,remote_port = 6000表示ssh中转端口
web字段:local_port = 80表示被控(内网)主机的web端口,remote_port = 8081表示web中转端口
1 vi frpcini
1 [common]
2 server_addr = xxxx
3 server_port = 7000
4
5 [ssh]
6 type = tcp
7 local_ip = 127001
8 local_port = 22
9 remote_port = 6000
10
11 [web]
12 type = tcp
13 local_ip = 127001
14 local_port = 80
15 remote_port = 8081
3、启动frpc
配置启动服务
1 vi /etc/systemd/system/frpcservice
1 [Unit]
2 Description=frpc daemon
3 After=syslogtarget networktarget
4 Wants=networktarget
5
6 [Service]
7 Type=simple
8 ExecStart=/usr/local/frp_0270_linux_amd64/frpc -c /usr/local/frp_0270_linux_amd64/frpcini
9
10 [Install]
11 WantedBy=multi-usertarget
执行如下命令
1 systemctl enable frpc
2 systemctl start frpc
至此frpc被控主机配置完成
此时可通过xxxx:6000连接内网ssh,通过>
这时候,内网主机就映射到外网去了,然后,用域名指定你的frp主机ip就可以了。这样就可以实现你的功能了。
简单说就是内网中的一台计算机具有自己的内部IP,外网的计算机具有公共的IP,而内部IP是无法直接通过外网来访问的,这就需要一种方式来将外网的IP转化为内部的合法IP来进行合法访问。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, >frp内网穿透的需求现在非常大。原因如下:
首先,从技术上来说,frp内网穿透技术可以帮助用户方便地远程访问家庭或公司的设备,比如远程访问家庭路由器、监控摄像头、服务器等。这对于需要远程办公、远程监控、远程管理设备的用户来说非常方便,可以大大提高工作效率和便捷性。
其次,从市场需求来说,随着越来越多的企业和个人开始将自己的业务托管在云服务器上,内网穿透技术也逐渐成为了必备技能。内网穿透技术可以帮助企业或个人将内部的服务或应用快速、安全地对外发布,这对于企业或个人的业务拓展和发展具有非常重要的意义。
此外,随着物联网技术的不断发展,越来越多的设备需要通过互联网进行远程控制和访问,内网穿透技术也成为了物联网领域中不可或缺的一部分。因此,可以预见,未来frp内网穿透技术的需求会越来越大。
总之,随着人们对远程访问和远程管理的需求不断增加,frp内网穿透技术的需求也会随之而来。
说明: FrpMgr是一个基于Frp的快速配置Web面板,可以一键配置生成客户端的Frp配置文件,远程安装Frp服务到任意一台服务器,让我们在使用配置Frp上方便很多。对于类似这种带Web面板的穿透工具,之前也发过不少,比如nps、lanproxy等,都挺不错的,有兴趣可以去了解下,这里就介绍下FrpMgr安装及使用。
截图
安装
Github地址: >frpsini
服务器需要用到的配置,其中bind_port是frp的服务端口
开启特权连接后可以在客户端设置想要的端口,增加新的客户端不用修改服务端,比较方便
特权密码建议自己修改
启动命令 nohup frps -c frpsini & 此命令可以在终端退出后依旧后台运行
frpcini
common项目是客户端每个服务的共有属性设置好不用改变
差不多想要新增实例的话只要复制example及以下的字段
并修改两个端口和实例的名字就行
启动命令 nohup frpc -c frpcini &
一般来说将这两个配置文件分别保存为frpsini和frpcini,分别复制到服务器和客户端的执行目录下,frpcini需要吧service_ip替换成服务器的IP地址,按照命令启动起来就能用
[common]
是不可或缺的部分
[必须]服务器IP
bind_addr = 0000
0000为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中的一个服务器IP,支持IPV6
[必须]FRP通讯端口
bind_port = 7000
用于和客户端内网穿透传输数据的端口,可自定义。
用于KCP协议UDP通讯端口
kcp_bind_port = 7000
也可以和“bind_port”共用同一端口,如果没有设置,则kcp在frps中被禁用,可自定义。
UDP通讯端口
bind_udp_port = 7001
以帮助使UDP打洞穿透NAT,可自定义。
[必须]连接认证密钥-特权模式
privilege_token = > 如果你想支持>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)