利用frp实现客户端内网穿透

一、 准备

  • 公网ip服务器 – 服务端
  • 内网服务器 – 客户端
  • frp

二、 frp下载

  • frp下载地址 https://github.com/fatedier/frp/releases

    linux平台下载的版本为:frp_版本号linux_amd64.tar.gz

  • 解压 tar -zxvf 文件名
    文件解压后: frps(frp服务端运行文件)、frps.ini(frp服务端配置文件)
    frpc(frp客户端运行文件)、frpc.ini(frp客户端配置文件)

示例

<span class="token function">wget</span> https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz <span class="token function">tar</span> -zxvf frp_0.32.1_linux_amd64.tar.gz
<span class="token function">wget</span> https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz <span class="token function">tar</span> -zxvf frp_0.32.1_linux_amd64.tar.gz 
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz tar -zxvf frp_0.32.1_linux_amd64.tar.gz

三、客户端配置

<span class="token function">mkdir</span> path/to/frpc <span class="token function">mv</span> frp_0.32.1_linux_amd64/* path/to/frpc <span class="token function">cd</span> path/to/frpc <span class="token function">chmod</span> +x frpc vim frpc.ini
<span class="token function">mkdir</span> path/to/frpc <span class="token function">mv</span> frp_0.32.1_linux_amd64/* path/to/frpc <span class="token function">cd</span> path/to/frpc <span class="token function">chmod</span> +x frpc vim frpc.ini 
mkdir path/to/frpc mv frp_0.32.1_linux_amd64/* path/to/frpc cd path/to/frpc chmod +x frpc vim frpc.ini

frpc配置如下

<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> ***.***.***.*** server_port <span class="token operator">=</span> 7000 token <span class="token operator">=</span> **** <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token function">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> 127.0.0.1 local_port <span class="token operator">=</span> 22 remote_port <span class="token operator">=</span> *****
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> ***.***.***.***  server_port <span class="token operator">=</span> 7000  token <span class="token operator">=</span> ****   <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token function">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> 127.0.0.1 local_port <span class="token operator">=</span> 22 remote_port <span class="token operator">=</span> *****  
[common] server_addr = ***.***.***.*** server_port = 7000 token = **** [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = *****

配置完成后直接运行 ./frpc -c ./frpc.ini, 连接成功,服务端提示如下:

在这里插入图片描述
可以在浏览器服务器公网ip:7500/查看客户端连接情况

四、客户端自动启动

首先 sudo vim /lib/systemd/system/frpc.service

在frpc.service里写入以下内容

<span class="token punctuation">[</span>Unit<span class="token punctuation">]</span> Description<span class="token operator">=</span>frpc <span class="token function">service</span> After<span class="token operator">=</span>network.target network-online.target syslog.target Wants<span class="token operator">=</span>network.target network-online.target <span class="token punctuation">[</span>Service<span class="token punctuation">]</span> Type<span class="token operator">=</span>simple ExecStart<span class="token operator">=</span>/your/path/frpc -c /your/path/frpc.ini <span class="token punctuation">[</span>Install<span class="token punctuation">]</span> WantedBy<span class="token operator">=</span>multi-user.target
<span class="token punctuation">[</span>Unit<span class="token punctuation">]</span> Description<span class="token operator">=</span>frpc <span class="token function">service</span> After<span class="token operator">=</span>network.target network-online.target syslog.target Wants<span class="token operator">=</span>network.target network-online.target <span class="token punctuation">[</span>Service<span class="token punctuation">]</span> Type<span class="token operator">=</span>simple  ExecStart<span class="token operator">=</span>/your/path/frpc -c /your/path/frpc.ini <span class="token punctuation">[</span>Install<span class="token punctuation">]</span> WantedBy<span class="token operator">=</span>multi-user.target 
[Unit] Description=frpc service After=network.target network-online.target syslog.target Wants=network.target network-online.target [Service] Type=simple ExecStart=/your/path/frpc -c /your/path/frpc.ini [Install] WantedBy=multi-user.target

然后启动 frpc

sudo systemctl start frpc.service

再打开自启动

sudo systemctl enable frpc.service

同时

  • 停止 sudo systemctl stop frpc.service
  • 重启 sudo systemctl restart frps
  • 查看状态 sudo systemctl status frps

可通过 ssh 用户名@ip地址 -p 端口号 判断是否连接成功

若连接成功,提示输入远程服务器密码

服务端配置类似

原文链接:https://blog.csdn.net/weixin_42783784/article/details/105493745/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享