利用阿里云服务器公网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的监听端口;跳转过去;

相关推荐
Huangjin007_10 小时前
【Linux 系统篇(二十一)】进程(九):进程等待 wait/waitpid、status状态参数
linux·运维·服务器
ao-weilai10 小时前
Linux网络编程:Socket UDP
linux·服务器·网络·c++
曦夜日长11 小时前
Linux系统篇,进程概念(四):内核链表的深度理解、进程优先级的底层理解
linux·运维·服务器·php
Wang's Blog11 小时前
Java 接入Redis: Redis下载与源码编译安装
java·服务器·redis
Ivanqhz11 小时前
矩阵引擎的数据流模式与 BM1684X 架构
java·服务器·网络·深度学习·神经网络
ITxiaobing202311 小时前
IP 地理定位数据库的技术选型:数据源、格式与精度对比
tcp/ip
其实防守也摸鱼13 小时前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
边境悍匪13 小时前
蜗牛学苑 Java 智能体学习 Day44|Vue 前端项目搭建 思维导图复盘
java·开发语言·spring boot·学习·阿里云
Wang's Blog13 小时前
Java 接入Redis: 密码认证与远程连接配置
java·服务器·redis