1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 花生壳 || FRP实现玩客云 树莓派...内网穿透 外网访问

花生壳 || FRP实现玩客云 树莓派...内网穿透 外网访问

时间:2024-01-01 12:03:03

相关推荐

花生壳 || FRP实现玩客云 树莓派...内网穿透 外网访问

一:内外网穿透简介

内网穿透也叫做内网映射,也叫“NAT穿透”。就是让外网能访问你的内网;把自己的内网(主机)当成服务器,让外网能访问。下面是我用过的两种内网穿透。个人认为FRP更好用些

二:花生壳内网穿透

思路:

1、到官网注册用户,注册成功即可获取免费域名。

此处略。

2、安装客户端

根据自己的机器下载适合的客户端 /download,选择对应的版本,提供了下载命令,复制就好。

以centos7为例

#下载wget /fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz#授权chmod u+x phddns_5.2.0_amd64.rpm#安装rpm -ivh phddns_5.2.0_amd64.rpm

安装好后会提示Phtunnel Service Install Success。记得保存好SN 和 password ,在关联的时候需要用到。

3、账号和客户端进行关联

登录花生壳官网,点击右上角'管理平台',点击'设备列表','添加设备',此处就用到了安装完成时的'SN'。此时完成了账号和客户端的关联。建议下载APP使用,方便直观。

4、配置访问地址

点击'内网穿透',点击'新增映射',剩下的就是根据自己的需求进行配置了,每月有1G的免费流量可以用。映射类型可用的有TCP、UDP、HTTP(免费)以上是免费的花生壳使用方法,我用这个方法对搭建在树莓派上的私有云盘进行内网映射,优点是免费,简单易配置。缺点是,流量不够用,并且只能配置HTTP,HTTPS需要氪金。所以我转用了FRP。

三:FRP内网穿透

1、Github上下载服务器版本对应的包

#选择适合的版本包 ,下载后将包分别放到服务器和客户端。/fatedier/frp/releases/#下载/fatedier/frp/releases/download/v0.42.0/frp_0.33.0_linux_amd64.tar.gz

2、服务端配置FRP

#解压后进入目录tar -zxvf frp_0.33.0_linux_amd64.tar.gz -C /opt/cd /opt/frp_0.33.0_linux_amd64/#解压后的目录

#服务端vi frps.ini[common]# frp监听的端口bind_port = 7000# 授权码,客户端配置文件中需要和这个一致 ,自己修改,配置复杂一点token = 123456 # frp管理后台端口dashboard_port = 7500# frp的web管理后台用户名和密码,自己修改dashboard_user = admindashboard_pwd = adminenable_prometheus = true# frp日志配置log_file = /var/log/frps.loglog_level = infolog_max_days = 3

启动服务端

cd /opt/frp_0.33.0_linux_amd64/#启动命令nohup ./frps -c frps.ini &#或者注册系统服务,不需要在进入目录启动。sudo mkdir -p /etc/frpsudo cp frps.ini /etc/frpsudo cp frps /usr/binsudo cp systemd/frps.service /usr/lib/systemd/system/sudo systemctl enable frpssudo systemctl start frps

3、客户端配置FRP

#前面下载的包,传输一份到内网客户端(需要穿透的机器)cd /opt/frp_0.33.0_linux_amd64/vi frpc.ini # 客户端配置[common]server_addr = frps_ip #根据实际修改server_port = 7000token = 123456 #与frps.ini的token一致[ssh] #此处配置一个对ssh端口的穿透,同样道理可以配置 http服务type = tcplocal_ip = 127.0.0.1 local_port = 22remote_port = 6000 #客户端启动nohup ./frpc -c frpc.ini &

注意:服务端防火墙中需要的开通的端口都放开!!!

下面附上客户端配置文件详解,根据需求自行配置

[common]#服务器的IP地址server_addr = frps_ip#服务监听端口server_port = 7000#这个和服务端的token保持一致token = 123456# 客户端日志log_file = ./frpc.log # 指定日志文件;log_level = info # 指定日志等级;log_max_days = 3# 设置管理地址,用于通过http api控制frpc的动作,如重新加载;admin_addr = 127.0.0.1admin_port = 7400admin_user = adminadmin_passwd = admin# 初始连接池的数量,默认为0;#pool_count = 5 # 是否启用tcp复用,默认为true;tcp_mux = true # frpc的用户名,用于区别不用frpc的代理;#user = your_name # 首次登录失败时退出程序,否则连续重新登录到frps;login_fail_exit = true# 用于连接服务器的协议,支持tcp、kcp、websocket;protocol = tcp # 为frp 客户端指定一个单独的DNS服务器;#dns_server = 8.8.8.8 # 要启用的代理的名字,默认为空表示所有代理;# start = ssh,dns# 心跳检查# heartbeat_interval = 30 # 失败重试次数# heartbeat_timeout = 90 # 超时时间#TCP的配置随便加[ssh_home]# 协议默认tcp,可选tcp,udp,http,https,stcp,xtcp;type = tcp# 本地地址local_ip = 127.0.0.1# 本地端口local_port = 3389# 在服务器端开启的远程端口;remote_port = 8021# 是否加密服务端和客户端的通信信息,默认为不加密;use_encryption = false# 是否开启压缩,默认不开启;use_compression = false# 负载均衡配置#group = test_group# 负载均衡组名,会将同一组内的客户端进行负载;#group_key = 123456# 负载均衡组密钥; [web2]# 协议默认tcp,可选tcp,udp,http,https,stcp,xtcp;type = tcp# 本地地址local_ip = 127.0.0.1# 本地端口local_port = 80# 在服务器端开启的远程端口;remote_port= 8811# 是否加密服务端和客户端的通信信息,默认为不加密;use_encryption = false# 是否开启压缩,默认不开启;use_compression = false# 负载均衡配置#group = test_group# 负载均衡组名,会将同一组内的客户端进行负载;#group_key = 123456# 负载均衡组密钥; #https和http 的端口在服务器上面已经定好了的,所以这里不能指定[web]type = httpslocal_ip = 127.0.0.1local_port = 88# 是否加密服务端和客户端的通信信息,默认为不加密;use_encryption = false# 是否开启压缩,默认不开启;use_compression = true# 访问web页面启用认证,用户名adminhttp_user = admin# 密码 http_pwd = admin# 子域名,需要服务端配置了subdomain_host参数;#subdomain = web01 # web的域名,和subdomain二选一custom_domains = domains.online # 指定用于路由的URL前缀;#locations = /,/pic# 配置http包头域名重写; host_header_rewrite = # 添加包头信息X-From-Where: frp;header_X-From-Where = frp [web1]type = httplocal_ip = 127.0.0.1local_port = 80custom_domains = domain.online

4、配置启动脚本,测试地址

假设我的公网服务器地址是66.66.77.88 ,那么我可以通过 ssh 66.66.77.88 6000 访问到基于上面配置的那台内网机器。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。