FRP搭建内网穿透

1.概述:

frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。

2.简单的图解:

3.准备工作:

1.一个域名(www.test.xyz)

2.一台有公网IP的服务器(阿里云、腾讯云等都行)

3.一台内网主机

4.下载frp,选择适合的版本下载

解压如下:

我这里服务器端和客户端都放在了/usr/local/frp/目录下

4.执行命令

# 服务器端给执行文件添加权限
cd /usr/local/frp
sudo chmod 777 frps# 客户端给执行文件添加权限
cd /usr/local/frp
sudo chmod 777 frpc

5.修改配置文件

1.公网服务器端:

# 打开服务器端配置文件
vim ./frps.ini# 我的填写内容如下:
[common]
bind_port = 7000         # 服务端与客户端通信端口
dashboard_port = 7500    # 后台管理端口
dashboard_user = admin   # 后台登录用户名
dashboard_pwd = adminvhost_http_port = 7002   # http穿透端口
vhost_https_port = 7003  # https穿透端口
max_pool_count = 50token = aaa123         # 身份验证令牌,frpc要与frps一致
tcp_mux = truelog_file = /usr/local/frp/frps.log  # 日志相关
log_level = info
log_max_days = 3authentication_timeout = 0  # 服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = test.xyz   # 注册的域名
privilege_mode = true

注意:访问的端口一定要开放

启动frps:

# 前台启动
./frps -c ./frps.ini# 后台启动
./frps -c ./frps.ini &

启动成功后,可以访问后台管理界面(这里举例地址:www.test.xyz:7500)

2.客户端(内网主机):

# 打开客户端配置文件
vim ./frpc.ini# 我的填写内容如下:
[common]
server_addr = 10.10.xxx.xxx  # 公网服务器ip
server_port = 7000         # 公网服务端通信端口token = aaa123              # 令牌,与公网服务端保持一致
tcp_mux = truelog_file = /usr/local/frp/frpc.log  # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0             # 服务器与客户端时间相差15min会连接失败,0表示不验证[ssh]                          # 添加ssh节点
type = tcp
local_ip = 192.168.xxx.xxx
local_port = 22
remote_port = 7001             # 指明由公网服务器的7001端口代理[web01]                          # 添加web节点
type = http
local_ip = 192.168.xxx.xxx
local_port = 8080              # 本地8080端口可以通公网服务器7002端口访问,这里我的8080跑着tomcat
subdomain = web01              # 自定义子域名

启动frpc

# 前台启动
./frpc -c ./frpc.ini# 后台启动
./frpc -c ./frpc.ini &

frpc启动成功示例如下:

6.最终结果验证:

1.测试ssh节点:

使用xshell连接通过公网服务器连接内网主机

测试连接成功:

2.测试web01节点:

请求地址:http://web01.test.xyz:7002 能访问到内网的tomcat首页

7.设置frp开启自启动

使用systemd管理frp:

1.服务端:

# 需要先 cd 到 frp 解压目录.
# 复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
# 编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service # 有时候需要手动创建system文件夹# frps.service内容如下
[Unit]
Description=frps
After=network.target[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target# 启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps# 部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service

2.客户端:

# 需要先 cd frp 解压目录.
# 复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
# 编写 frp service 文件,以 centos7 为例
vim /usr/lib/systemd/system/frpc.service  # 有时候需要手动创建system文件夹# frpc.service内容如下
[Unit]
Description=frpc
After=network.target[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target# 启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc# 部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

8.避坑:

尽量避开浏览器 ERR_UNSAFE_PORT,这些端口浏览器会识别为不安全端口,不能访问;例如下端口:

1, // tcpmux
7, // echo
9, // discard
11, // systat
13, // daytime
15, // netstat
17, // qotd
19, // chargen
20, // ftp data
21, // ftp access
22, // ssh
23, // telnet
25, // smtp
37, // time
42, // name
43, // nicname
53, // domain
77, // priv-rjs
79, // finger
87, // ttylink
95, // supdup
101, // hostriame
102, // iso-tsap
103, // gppitnp
104, // acr-nema
109, // pop2
110, // pop3
111, // sunrpc
113, // auth
115, // sftp
117, // uucp-path
119, // nntp
123, // NTP
135, // loc-srv /epmap
139, // netbios
143, // imap2
179, // BGP
389, // ldap
465, // smtp+ssl
512, // print / exec
513, // login
514, // shell
515, // printer
526, // tempo
530, // courier
531, // chat
532, // netnews
540, // uucp
556, // remotefs
563, // nntp+ssl
587, // stmp?
601, // ??
636, // ldap+ssl
993, // ldap+ssl
995, // pop3+ssl
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
6000, // X11
6665, // Alternate IRC [Apple addition]
6666, // Alternate IRC [Apple addition]
6667, // Standard IRC [Apple addition]
6668, // Alternate IRC [Apple addition]
6669, // Alternate IRC [Apple addition]

FRP搭建内网穿透(亲测有效)相关推荐

  1. FRP搭建内网穿透服务器畅游Internet互联网络

    FRP相关概述: **版本号:**Version-0.38.0 **支持系统:**服务器支持:Windows Server 2008/2019 全版本系统支持: Windows XP:Windows ...

  2. 使用frp搭建内网穿透服务

    什么是内网穿透?为什么要用内网穿透?内网穿透能做什么? 以上问题我只想说,如果你自己没有公网IP,但是你又想在公网上访问家里的服务,或者是在公司远程家里的电脑,那么你就需要内网穿透服务. 内网穿透需要 ...

  3. 使用 FRP 搭建内网穿透,流畅运行远程桌面!

    点击上方 终端研发部,选择 设为星标 每天9:30点,干货准时奉上! 责编:中文妹 | 来源:小岳 链接:jianshu.com/p/8589be3dd393 上一篇:接口性能优化技巧,有点硬... ...

  4. 树莓派操作及搭建frp实现内网穿透

    买了个树莓派4b,折腾玩玩 一.安装 安装方法都一样,下载镜像,烧录到内存卡,将内存卡插入树莓派,启动即可 我试过的有ubuntu,centos8,树莓派官方系统(应该是Debian的),还有个复古游 ...

  5. 阿里云服务器搭建frp -实现内网穿透

    阿里云服务器搭建frp -实现内网穿透 什么是frp 准备工作 开始搭建 服务端 客户端 什么是frp frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, ...

  6. 基于frp的内网穿透搭建指南

    目录 一.前言介绍 二.正文 1.准备事项 2.服务端配置 3.客户端配置 a.Windows端配置 b.Linux端配置 c.p2p配置 三.总结 一.前言介绍 由于全球ipv4地址资源的紧张,大多 ...

  7. 使用frp进行内网穿透的实例

    目录 为什么需要内网穿透功能 frp是什么 工具下载地址 下载的软件可参考 准备工作 VPS相关 VPS上添加入站规则 服务端设置 服务端后台运行 客户端设置 自定义规则 客户端后台运行及开机自启 为 ...

  8. Frps搭建内网穿透(服务器及客户端详细)

    目的:通过云服务器搭建内网穿透,实现外网访问内部应用或者服务(不限操作系统,服务器只需一个,客户端可以多个). 所需资源:阿里/百度/腾讯云服务器 有外网IP即可 软件下载(包含Windows.Liu ...

  9. 【内网穿透服务器】利用云服务器+FRP实现内网穿透并远程连接服务器

    应用目的:远程管理或在外网访问内网机器上的服务 这里我们是使用云服务器+FRP实现内网穿透,达到远程连接服务器的目的 准备工作 云服务器 这里我们租用的是腾讯云的服务器,类似于下图的这种,配置选择可以 ...

最新文章

  1. 【SLAM】卡尔曼滤波:究竟滤了谁?
  2. spring boot mybatis 整合_MyBatis学习:MyBatis和Spring整合
  3. java23种设计模式个人整理_java23种设计模式-行为型模式之模板方法模式
  4. html5视频抓取,js和HTML5基于过滤器从摄像头中捕获视频的方法
  5. Ardunio开发实例-WS2812B独立寻址LED调色调光
  6. Linux系统下载并安装Redis
  7. 如何写一份前端开发简历
  8. 中职学校计算机课听课记录表,中职听课记录
  9. 2017lol服务器维修时间,LOL维护公告2017最新内容 英雄联盟今天更新到几点
  10. 网页无法与服务器建立安全连接失败,“发生了SSL错误,无法与服务器建立安全连接。”...
  11. SpringBoot banner更改
  12. 三分钟快速安装 facebookresearch SlowFast
  13. 全面高效的SEO视频教程,优化自己搞定
  14. 天地图JSAPI4.0切换地图事件
  15. 获得任意风格的图片效果?深度学习算法一键P图!
  16. crazy的比较级最高级_英语小问题:crazy比较级是crazier还是more crazy?
  17. 华为,在行星的十字路口
  18. tensorflow练习8:实现Google的Deep Dream
  19. 专项训练——数量关系题
  20. 华为手机通讯录丢失如何恢复?快速恢复

热门文章

  1. Toast 消息提示框
  2. [BZOJ1050] [HAOI2006] 旅行comf (Kruskal, LCT)
  3. javafx 教程_Swing和JavaFX:使用JFXPanel
  4. Rails图像上传:使用CarrierWave和Devise
  5. Hive命令操作汇总
  6. 第一篇博客-Sql排名函数DENSE_RANK
  7. bzoj 1921: [Ctsc2010]珠宝商 后缀自动机+点分治
  8. 日记--node.js 和nginx对比环境变量立刻生效https://www.cnblogs.com/zht-blog/p/4033951.html
  9. 制作一个简单的Chrome extensions并发布到应用商店
  10. python优点是代码库支持、灵活_Google将限制Python语言的应用 开发社区热议