内网穿透:frp映射多客户端配置分享

目录

场景说明

首先你需要一台云服务器,frp官方推荐为阿里的

frp能干什么?(可跳过)

【服务端配置:云服务器】

【客户端配置:linux1】

测试效果

拓展

关闭frp

frp映射不同局域网内的主机


场景说明

映射同一设备多个端口、或同一局域网中的多台设备。

(ps:想要映射不同局域网内主机的方法见文末。)

在家ssh登录公司内网里的服务器

 

首先你需要一台云服务器,frp官方推荐为阿里的

frp能干什么?(可跳过)

frp能干什么?
frp是一款内网穿透工具,只要你有一台云服务器
运行正确的frp配置,你就可以在任何地方访问内网中的设备
比如,在公司ssh家里的ubuntu,树莓派
或者你有智能家居平台,你也可以在任何地方查看家里的监控信息,甚至控制家居开关。

 

【服务端配置:云服务器】

环境说明:

云服务器商:腾讯

云服务器系统:CentOS 7.4.1708

云服务器frp安装目录:/usr/local

登录你的云服务器,在这里下载frp压缩包并解压到指定位置

# cd /usr/local
# wget http://diannaobos.iok.la:81/frp/frp-v0.20.0/frp_0.20.0_linux_amd64.tar.gz
# tar -zxvf frp_0.20.0_linux_amd64.tar.gz
# cd frp_0.20.0_linux_amd64

查看frp目录下的文件

# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE

编辑frps.ini中的bind_port值,默认是7000,由于7000被占用所以改为了7055,可不修改

# cat frps.ini
[common]
bind_port = 7055

启动frps,'&'为后台运行:

# ./frps -c frps.ini &

【客户端配置:linux1】

环境说明:

客户端系统:centos7

客户端安装目录:/usr/local

将服务端下载的frp压缩包同样下载至客户端linux1上

# cd /usr/local
# wget http://diannaobos.iok.la:81/frp/frp-v0.20.0/frp_0.20.0_linux_amd64.tar.gz
# tar -zxvf frp_0.20.0_linux_amd64.tar.gz
# cd frp_0.20.0_linux_amd64

修改frpc.ini 如下

# cat frpc.ini
[common]
server_addr = 云服务器IP
server_port = 7055

[ssh55]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2255

[ssh56]
type = tcp
local_ip = 192.168.1.56
local_port = 22
remote_port = 2256

参数解释:

server_addr:云服务器地址

server_port:和云服务器中frps.ini的bind_port值一致

[ssh55]:一个配置组名,可以随意配置字符串,只要和其他组名区分开就行

type:tcp或者udp,映射web或者ssh端口都是tcp

local_ip:需要映射的内网主机ip,本机写127.0.0.1就可以

local_port:需要映射的内网主机端口

remote_port:使用云服务器哪个端口访问linux1

[ssh56]:配置组名,每个配置组名必须不同

type:同上

local_ip:内网中linux2的IP

local_port:linux2上需要映射的端口,此处配置的是ssh的22端口

remote_port:使用云服务器哪个端口访问linux2,每个配置组中的remote_port不能相同

启动frpc,'&'为后台运行:

# ./frpc -c frpc.ini &

测试效果

以linux1为例,打开你的ssh工具,输入云服务器ip,端口为[ssh55]中的remote_port:2255,账号密码都是linux1的。

登录测试吧。

如果登陆后长时间没反应,或者提示connect failed

检查云服务器的安全组配置(阿里云安全组配置、腾讯云和阿里配置规则相似),是否开放端口

检查客户端防火墙是否开放端口

拓展

文中举例的两个配置组都是映射的ssh端口,若果你还想访问linux1的80或8080 web端口

只需要在linux1上的配置文件frpc.ini最后一行新加一个配置组:

(编辑前若客户端frpc已经启动,先停止掉)

[web8080]
type = tcp
local_ip = 192.168.1.56
local_port = 8080
remote_port = 28080

启动frpc,在浏览器使用     云服务器IP:28080     进行访问。

页面加载的速度受限于云服务带宽。

关闭frp

云服务器端结束frps进程:

# ps -aux | grep frps
root     11565  0.0  0.3  23540  6916 ?        Sl    2018   6:43 ./frps -c frps.ini
# kill -9 11565

客户端结束frpc进程:

# ps -aux | grep frpc
root       6171  0.0  0.2 112704   972 pts/0    R+   13:58   0:00 grep --color=auto frpc
# kill -9 6171

frp映射不同局域网内的主机

这里只做提示,有时间详细说明。

tips:在云服务器端复制frps.ini为frps_1.ini、frps_2.ini,将其中bind_port值改为不同,分别启动

 


如果哪里有不明或误导,烦请留言说明。


版权声明:本文为womenrendeme原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。