frp的github下载地址:https://github.com/fatedier/frp
服务端配置
方式1-手动配置
到上面提供的github地址下载对应操作系统的releases包
解压后保留文件夹中的以下文件
- frps
- frps.ini
修改frps.ini按照以下格式
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> bind_port <span class="token operator">=</span> <span class="token number">7000</span> token <span class="token operator">=</span> xxxx<span class="token punctuation">[</span>common<span class="token punctuation">]</span> bind_port <span class="token operator">=</span> <span class="token number">7000</span> token <span class="token operator">=</span> xxxx[common] bind_port = 7000 token = xxxx
启动服务端用以下命令
<span class="token function">nohup</span> ./frps -c frps.ini <span class="token operator">&</span><span class="token function">nohup</span> ./frps -c frps.ini <span class="token operator">&</span>nohup ./frps -c frps.ini &
设置开机启动服务
<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frps.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frps /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frps.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frps <span class="token function">sudo</span> systemctl start frps <span class="token function">sudo</span> systemctl status frps<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frps.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frps /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frps.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frps <span class="token function">sudo</span> systemctl start frps <span class="token function">sudo</span> systemctl status frpssudo mkdir /etc/frp sudo cp frps.ini /etc/frp/ sudo cp frps /usr/bin/ sudo cp systemd/frps.service /usr/lib/systemd/system/ sudo systemctl enable frps sudo systemctl start frps sudo systemctl status frps
方式2-脚本自动配置
脚本github地址:https://github.com/MvsCode/frps-onekey
网络不好可以导入到自己的gitee仓库查看具体用法
安装的过程中会提示你输入以下配置,这里要注意的是token字段这是下面客户端要用的,其他的配置可以直接回车获取默认配置,要是想自定义也可以
bind_addr <span class="token operator">=</span> <span class="token number">0.0</span>.0.0 bind_port <span class="token operator">=</span> <span class="token number">5443</span> kcp_bind_port <span class="token operator">=</span> <span class="token number">5443</span> dashboard_port <span class="token operator">=</span> <span class="token number">6443</span> dashboard_user <span class="token operator">=</span> XXXXXX dashboard_pwd <span class="token operator">=</span> XXXXXX vhost_http_port <span class="token operator">=</span> <span class="token number">80</span> vhost_https_port <span class="token operator">=</span> <span class="token number">443</span> log_file <span class="token operator">=</span> ./frps.log log_level <span class="token operator">=</span> debug log_max_days <span class="token operator">=</span> <span class="token number">3</span> token <span class="token operator">=</span> XXX subdomain_host <span class="token operator">=</span> domain.com max_pool_count <span class="token operator">=</span> <span class="token number">50</span> tcp_mux <span class="token operator">=</span> <span class="token boolean">true</span>bind_addr <span class="token operator">=</span> <span class="token number">0.0</span>.0.0 bind_port <span class="token operator">=</span> <span class="token number">5443</span> kcp_bind_port <span class="token operator">=</span> <span class="token number">5443</span> dashboard_port <span class="token operator">=</span> <span class="token number">6443</span> dashboard_user <span class="token operator">=</span> XXXXXX dashboard_pwd <span class="token operator">=</span> XXXXXX vhost_http_port <span class="token operator">=</span> <span class="token number">80</span> vhost_https_port <span class="token operator">=</span> <span class="token number">443</span> log_file <span class="token operator">=</span> ./frps.log log_level <span class="token operator">=</span> debug log_max_days <span class="token operator">=</span> <span class="token number">3</span> token <span class="token operator">=</span> XXX subdomain_host <span class="token operator">=</span> domain.com max_pool_count <span class="token operator">=</span> <span class="token number">50</span> tcp_mux <span class="token operator">=</span> <span class="token boolean">true</span>bind_addr = 0.0.0.0 bind_port = 5443 kcp_bind_port = 5443 dashboard_port = 6443 dashboard_user = XXXXXX dashboard_pwd = XXXXXX vhost_http_port = 80 vhost_https_port = 443 log_file = ./frps.log log_level = debug log_max_days = 3 token = XXX subdomain_host = domain.com max_pool_count = 50 tcp_mux = true
配置完之后就可以执行frps start启动,要是启动失败可以试着执行fps config去掉配置文件中的vhost_http_port和vhost_https_port两个配置项再启动
客户端配置
开启客户端ssh服务,安装openssh-server
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> openssh-server<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> openssh-serversudo apt-get install openssh-server
安装之后,可以使用以下命令验证OpenSSH服务器的sshd守护进程是否已开启
pidof sshdpidof sshdpidof sshd
方式1-手动配置
到上面提供的github地址下载对应操作系统的releases包
解压后保留文件夹中的以下文件
- frpc
- frpc.ini
修改frpc.ini按照以下格式
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span><span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>[common] server_addr = x.x.x.x server_port = 7000 token=123456 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 7001
启动服务端用以下命令
<span class="token function">nohup</span> ./frpc -c frpc.ini <span class="token operator">&</span><span class="token function">nohup</span> ./frpc -c frpc.ini <span class="token operator">&</span>nohup ./frpc -c frpc.ini &
设置开机启动服务
<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frpc.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frpc /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frpc.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frpc <span class="token function">sudo</span> systemctl start frpc <span class="token function">sudo</span> systemctl status frpc<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frpc.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frpc /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frpc.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frpc <span class="token function">sudo</span> systemctl start frpc <span class="token function">sudo</span> systemctl status frpcsudo mkdir /etc/frp sudo cp frpc.ini /etc/frp/ sudo cp frpc /usr/bin/ sudo cp systemd/frpc.service /usr/lib/systemd/system/ sudo systemctl enable frpc sudo systemctl start frpc sudo systemctl status frpc
方式2-脚本配置
脚本github地址:https://github.com/stilleshan/frpc
网络不好可以导入到自己的gitee仓库查看具体用法
这个脚本在客户端执行可能需要sudo权限,在启用权限执行脚本之前为了安全起见最好先看看脚本写了什么
执行完脚本要修改frpc.ini配置如下
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span><span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>[common] server_addr = x.x.x.x server_port = 7000 token=123456 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 7001
然后再按照脚本说明重启服务:sudo systemctl restart frpc
原文链接:https://blog.csdn.net/qq_42223569/article/details/118530602