一个内网穿透如何映射全端口(内网穿透 端口复用)

有时候我们需要在外网访问内网中的内容,比如公司内网git 、数据库、远程操作。有时候为了方便调试一些三方服务,比如微信、支付宝这一类需要异步回调的调试的服务内容,我们通常需要一个外网服务器,但是外网服务器对代码调试不是太方便,虽说PHP有像 Xdebug这一类的开发工具,但是配置远程调试却是非常麻烦,而且还很容易失败。

所以,我们需要一个方便好用的内网穿透服务。今天给大家带来的是在腾讯云轻量应用服务器上运用FRP搭建内网穿透服务器。

FRP是什么

这是一个专注于内网穿透的高性能的反向代理应用,支持 TCPUDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

为什么使用FRP?

通过在具有公网 IP 的节点上部署 FRP 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

-客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。

-采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。

-代理组间的负载均衡。

端口复用,多个服务通过同一个服务端端口暴露。

-多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。

-高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。

-服务端和客户端 UI 页面。

部署环境准备

外网服务器1台:个人推荐使用腾讯云的轻量应用服务器

一个内网穿透如何映射全端口(内网穿透 端口复用)

轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。

轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选 、内网机器1台。

三、服务器安装FRP

下载地址 下载linux版本

wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz

一个内网穿透如何映射全端口(内网穿透 端口复用)

解压到/usr/local/frp目录

tar zxf frp_0.31.1_linux_amd64.tar.gz

mv frp_0.31.1_linux_amd64 /usr/local/frp

配置服务端frps.ini

vim frps.ini

[common]

bind_port = 7000

vhost_http_port = 8080

使用ins或i插入,完成复制完成之后,按esc退出 :wq 保存退出

一个内网穿透如何映射全端口(内网穿透 端口复用)

启动

cd /usr/local/frp

./frps -c ./frps.ini

一个内网穿透如何映射全端口(内网穿透 端口复用)

四、客户端配置

下载地址https://github.com/fatedier/frp/releases 下载win版本

解压到C:\Program Files\frp目录

配置frpc.ini

[common]

server_addr = xxx.xxx.xxx.xxx

server_port = 7000

[RDP]

type = tcp

local_ip = 0.0.0.0

local_port = 3389

remote_port = 6666

在命令行中启动frp客户端(建议用管理员模式运行)

C:\Program Files\frp\frpc.exe -c C:\Program Files\frp\frpc.ini

等待启动完成

2020/01/11 13:18:22 [I] [service.go:250] [e126185cb2716a8e] login to server success, get run id [e126185cb2716a8e], server udp port [0]2020/01/11 13:18:22 [I] [proxy_manager.go:144] [e126185cb2716a8e] proxy added: [RDP]2020/01/11 13:18:22 [I] [control.go:164] [e126185cb2716a8e] [RDP] start proxy success

连接测试

一个内网穿透如何映射全端口(内网穿透 端口复用)

五、 配置服务开机启动

linux下配置服务

vim /etc/systemd/system/frps.service

[Unit]

Description=frps daemon

After=syslog.target network.target

Wants=network.target

[Service]

Type=simple

ExecStart=/usr/local/frp/frps -c /usr//local/frp/frps.ini

Restart= always

RestartSec=1min

[Install]

WantedBy=multi-user.target

一个内网穿透如何映射全端口(内网穿透 端口复用)

启动frps

sudo systemctl start frps

# 启动服务

sudo systemctl enable frps

# 开机自启

sudo systemctl status frps

# 状态查询

sudo systemctl restart frps

# 重启服务

sudo systemctl stop frps

一个内网穿透如何映射全端口(内网穿透 端口复用)

win下配置服务

借助 winsw 工具可以将frpc注册为windows系统中的服务

将下载的winsw.exe放到frpc.exe同目录下,并填写winsw.xml配置文件

<service>

<id>frp</id>

<name>frp</name>

<description>用frp发布本地电脑网站到外网</description>

<executable>frpc</executable>

<arguments>-c frpc.ini</arguments>

<logmode>reset</logmode></service>

然后使用winsw install将frpc安装为系统服务。

winsw 下载地址: https://github.com/kohsuke/winsw/releases

创建与winsw同名的配置文件,后缀为xml

此处以配置FRP客户端为例:

<service>

<!– 该服务的唯一标识 –>

<id>frp</id>

<!– 该服务的名称 –>

<name>frp0.27.1-windows-amd64</name>

<!– 该服务的描述 –>

<description>frpc客户端 这个服务用 frpc 实现内网穿透</description>

<!– 要运行的程序路径 –>

<executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>

<!– 携带的参数 –>

<arguments>-c frpc.ini</arguments>

<!– 第一次启动失败 60秒重启 –>

<onfailure action="restart" delay="60 sec"/>

<!– 第二次启动失败 120秒后重启 –>

<onfailure action="restart" delay="120 sec"/>

<!– 日志模式 –>

<logmode>append</logmode>

<!– 指定日志文件目录(相对于executable配置的路径) –>

<logpath>logs</logpath></service>

使用的方法

//注册服务

winsw.exe install//卸载服务

winsw.exe uninstall//启动服务

winsw.exe start//停止服务

winsw.exe stop//重启服务

winsw.exe restart//查看状态

winsw.exe status

以上所有的操作都最好是管理员模式运行。

至此所有教程部分到此结束。安利一下,腾讯云限时秒的活动,优惠力度非常大,当前买到就是赚到了,1核2G的配置最低99元一年。

本文参考来源/青阳

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.dasum.com/107830.html