跳至内容
九溪
溪水润知林,滴露启慧心
用户工具
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您在这里:
Home
»
知识标签
»
Linux
»
frps内网穿透、外网访问内网
您的足迹:
wiki:linux:linux-windows-frp-nat
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== frps内网穿透、外网访问内网 ====== ===== 概述 ===== ==== frps是什么 ==== frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。可以粗略理解它是一个中转站,帮助实现【公网】←→【FRP(服务器)】←→【内网】的连接,让内网里的设备也可以被公网访问到。只需一台有公网IP的 VPS 服务器即可愉快地进行内网穿透,来让外网与内网建立起连接,实现远程访问! ==== frps资料 ==== - github官方地址:https://github.com/fatedier/frp - 中文文档:https://gofrp.org/docs/ https://gofrp.org/docs/examples/ - Release https://github.com/fatedier/frp/releases - v0.38.0 https://github.com/fatedier/frp/releases/tag/v0.38.0 (截至20211230) - 说明:本文中使用的连接方式为kcp(基于udp协议),特此注明 ==== 准备 ==== - 公网电脑/VPS:Linux,运行frps服务端 - 内网电脑:windows,运行frpc客户端 - 注册域名、域名A记录指向服务器IP、域名备案(有需要的话) ===== 服务端配置(linux为例) ===== ==== 安装 ==== FRP 使用 Go 语言开发,可以支持 Windows、Linux、macOS、ARM 等多平台部署。FRP 安装非常容易,因为开源,只需到 Github 发布页 下载对应系统平台的软件包并解压就可用了。 <code batch> sudo mkdir -p /opt/frp cd /opt/frp sudo wget "https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz" sudo tar xzvf frp_0.38.0_linux_amd64.tar.gz sudo mv frp_0.38.0_linux_amd64/* /opt/frp </code> ==== frps.ini 配置 ==== <code ini> # frps.ini 服务端配置 [common] # bind_addr = 0.0.0.0 # 默认使用TCP连接,可能导致http域名无法访问的问题 # bind_port = 7000 # frp支持使用kcp作为底层的通讯协议,而kcp默认就是基于udp协议 kcp_bind_port = 8190 vhost_http_port = 8080 #开启tls加密 tls_enable = true #客户端也要配置一样的token token = 123456 #超时时间,如果客户端遇到服务启动认证失败,大概率是时区问题,服务器设置一下就好了 authentication_timeout = 20000 # frp 控制面板 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = passwd </code> 开启防火墙端口:7000 ==== 运行 ==== ./frps -c ./frps.ini ===== 客户端配置(windows为例) ===== ==== 下载 ==== 从官方地址下载(https://github.com/fatedier/frp/releases)最新版本,解压缩到相应目录。 https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_windows_amd64.zip ==== frpc.ini 配置 ==== 启动动前,我们需要先修改配置文件。需要修改 frpc.ini 配置文件。 <code ini> # frpc.ini 客户端配置 [common] server_addr = 100.100.100.100 server_port = 7000 # frp支持使用kcp作为底层的通讯协议,而kcp默认就是基于udp协议 protocol = kcp token = 123456 tls_enable = true [ip_a] # 适用于IP形式访问 # 形式为 server_addr:remote_port # 示例为 100.100.100.100:6655 type = tcp # 局域网IP,如果为本机,则是127.0.0.1 local_ip = 127.0.0.1 local_port = 80 remote_port = 8180 [ip_evlicensemanager] # 适用于IP形式访问 # 形式为 server_addr:remote_port # 示例为 100.100.100.100:6655 type = tcp # 局域网IP,如果为本机,则是127.0.0.1 local_ip = 172.16.0.18 local_port = 88 remote_port = 6655 [domain_a] # 适用于域名形式访问 # 形式为 custom_domains:(frps.ini)vhost_http_port # 示例为 example.com:8080 type = http # 内网 IP (如是本机,也可使用 127.0.0.1 或者这行不要) local_ip = 172.16.0.18 local_port = 88 # 必填项 custom_domains = example.com tls_enable = true </code> ==== 运行 ==== 注意程序路径,如果有空格的话,需要加引号“” ./frpc.exe -c ./frpc.ini 或 在程序目录新建文件并编辑为以下内容,然后双击运行 <code batch run_frpc.cmd> @echo off title frpc 桥接软件 正在运行... color 5e echo 启动frpc frpc.exe -c frpc.ini echo 准备退出 pause </code> ===== frps 服务端注册为服务,并自动启动 ===== 创建服务文件 sudo vim /usr/lib/systemd/system/frps.service 编辑为以下内容,并保存 <code ini> [Unit] Description=frp server After=network.target [Service] Type=simple ExecStart=/opt/frp/frps -c /opt/frp/frps.ini ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target </code> 设置开启自启 sudo systemctl enable frps 启动服务 sudo systemctl start frps 停止服务 sudo systemctl stop frps 重启服务 sudo systemctl restart frps 查看服务状态 sudo systemctl status frps ---- 参考: - frp配置实践教程 https://www.jianshu.com/p/09603d9e0b6c - [[https://dinghuang.github.io/2019/01/07/%E5%9F%BA%E4%BA%8EFrp%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E7%9A%84%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%AE%9E%E7%8E%B0%E6%9C%AC%E5%9C%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/|基于frp内网穿透反向代理的端口转发实现本地服务器]] - Frp做内网穿透访问家里的Web网站 https://netsecurity.51cto.com/art/202010/628637.htm - 利用frp 穿透到内网的http/https网站,实现对外开放(有域名和无域名时的配置情况) https://www.cnblogs.com/sanduzxcvbnm/p/8509150.html
wiki/linux/linux-windows-frp-nat.txt
· 最后更改: 2023/01/03 15:25 由
127.0.0.1
页面工具
显示页面
过去修订
反向链接
回到顶部