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

相关推荐
童话的守望者18 分钟前
matrix-breakout-2-morpheus靶机通关
linux·运维·服务器
Frank_refuel27 分钟前
Linux操作系统 -> 进程信号(上)
linux·运维·服务器
WarPigs1 小时前
SQL Server笔记
服务器·数据库·sqlserver
lwx9148522 小时前
Linux-后台运行操作符&
linux·运维·服务器
mounter6252 小时前
深度解析 Linux 内核 devlink:从硬件控制到跨功能速率调度的演进
linux·运维·服务器·网络·内核
似水এ᭄往昔2 小时前
【Linux】--进程状态
linux·运维·服务器
IMPYLH2 小时前
Linux 的 id 命令
linux·运维·服务器·bash
福尔摩斯张2 小时前
一文搞懂74HC595芯片(附详细使用方法)
linux·服务器·网络·单片机·嵌入式硬件
xlq223222 小时前
37 内核与用户_信号
linux·运维·服务器
R_.L2 小时前
【云服务器】VSCode连接云服务器
服务器·vscode