利用阿里云服务器公网IP+FRP搭建内网穿透

1 必要条件:

一台公网IP服务器,这里采用阿里云ECS服务器。

此处将IP定义为:serverA-IP

2 服务器下载代码:

bash 复制代码
# mkdir /data
# cd /data
# git clone  https://github.com/fatedier/frp.git
# cd frp

3 编译代码

编译需要时间

复制代码
# make
go fmt ./...
env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o bin/frps ./cmd/frps
env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o bin/frpc ./cmd/frpc

在项目下,关注目录:

复制代码
bin/
conf/

1 服务器A

复制文件到指定目录:

复制代码
# mkdir /data/frp-server
# cp /data/frp/bin/frps /data/frp-server/
# cp /data/frp/conf/frps.ini /data/frp-server/
# ls /data/frp-server
total 15312
-rwxr-xr-x 1 root root 15675392 Aug 27 14:20 frps
-rw-r--r-- 1 root root       26 Aug 27 14:20 frps.ini
# cat frps.ini
[common]
bind_port = 7000

启动服务器:

复制代码
# ./frps -c frps.ini

打开ECS服务器防火墙:

复制代码
#   iptables -A INPUT -j ACCEPT

打开阿里云防火墙:

2 客户端B

在另外一台服务器B(此处为客户端B)上

复制代码
# mkdir -p /data/frp-client

将服务器A上的另一个文件传递到当前文件

复制代码
# scp /data/frp/bin/frpc root@serverB-ip:/data/frp-client
# scp /data/frp/conf/frpc.ini root@serverB-ip:/data/frp-client

此时客户端B上有了两份文件:

复制代码
# ls /data/frp-client
# ls -l
total 13500
-rwxr-xr-x 1 root root 13819904 8月  27 14:22 frpc
-rw-r--r-- 1 root root      287 8月  27 16:43 frpc.ini
# cat frpc.ini
# frpc.ini
[common]
server_addr = serverA-IP
server_port = 7000

[ssh_1]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001

启动客户端:

复制代码
# ./frpc -c frpc.ini &

3 测试机器C

此时A是公网,B和C分别是公司内网和家里NAT网

家里的台式机C登录公司机器B:

复制代码
# ssh root@serverA-ip -p 6001

注意:这里C要登录服务器A,但是要指向B的监听端口;跳转过去;

相关推荐
blasit11 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao17 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean5 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩5 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰5 天前
【免费】PHP主机=域名+解析+主机
服务器
不是二师兄的八戒5 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五5 天前
Nginx 高性能Web服务器笔记
服务器·nginx
gihigo19985 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
失重外太空啦5 天前
Tomcat
java·服务器·tomcat