frp内网穿透
介绍
frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
市面上一些主流的内网穿透工具有:Ngrok,Natapp,花生壳,Ssh、autossh,Frp,Lanproxy,Spike
frpc参考
https://zhuanlan.zhihu.com/p/521448626?utm_id=0
Ubuntu 设置frp开机自启动_ubuntu frp自启动-CSDN博客
下载
https://github.com/fatedier/frp/releases
下载客户端和服务端二进制文件,所有文件被打包在一个压缩包中
有两个名称文件frpc(c结尾代表client)和frps(s结尾代表server),分别是服务端程序和服务端配置程
root@ubuntu:~/frp_0.44.0_linux_amd64# ls
frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE
客户端
/home/xxx/frp中放入
frpc frpc_full.ini frpc.ini
修改配置文件 frpc.ini
[common]
server_addr = 123.3.456.789 #服务器的公网IP
server_port = 7000 # frp监听的端口,与服务端配置保持一致
token = 123456 # 授权码,与服务端配置保持一致
[ssh-100] #名字修改,唯一
type = tcp
local_ip = 127.0.0.1 #本地ip
local_port = 22 # 本地映射的端口
remote_port = 100 # 远程ssh访问时对应的端口,这里根据自己需要更改
配置开机自启
sudo vim /etc/systemd/system/frpc.service
其中ExecStart需要修改为自己的文件路径:
[Unit]
Description=frpc
After=network.target syslog.target
Wants=network.target
[Service]
Restart=on-failure
RestartSec=5
ExecStart=/home/xxx/frp/frpc -c /home/xxx/frp/frpc.ini
ExecReload=/home/xxx/frp/frpc reload
-c /home/xxx/frp/frpc.ini
#ExecStart=/bin/bash -c '/home/xxx/frp/frpc -c /home/xxx/frp/frpc.ini'
[Install]
WantedBy=multi-user.target
开机自启frp服务:sudo systemctl enable frpc
启动frp服务
sudo systemctl start frpc
常用指令
sudo systemctl start frpc # 启动frp服务
sudo systemctl stop frpc # 停止frp服务
sudo systemctl restart frpc # 重启frp服务
sudo systemctl status frpc # 查看frp服务状态
systemctl enable frpc.service # 设置开机自启
systemctl is-enabled frpc.service # 查看是否设置开机自启
systemctl disable frpc.service # 关闭开机自启
systemctl daemon-reload # 刷新服务列表
关于服务的设置
服务可能会在开机时启动失败。因此在设置开机自启命令时,最好在[Service]中定义Restart和RestartSec。
更多服务相关知识网络搜索: ubuntu 自启动service
服务端
/home/xxx/frp中放入
frps frps_full.ini frps.ini
修改配置文件 frps.ini
[common]
bind_port = 7000
token = 12345
vhost_http_port = 10012
dashboard_user = ab
dashboard_pwd = ab1234
dashboard_port = 10011
- bind_port:frp监听的默认端口号,用来与客户端通信,这个端口号是可以自己改的。
- token:授权码,后面客户端也需要填这个。
(3)vhost_http_port:这个端口对应本地的web服务。http服务端口,浏览器域名里后面要加:8080
(4)dashboard_user:frp管理后台用户名。 # 控制面板的端口、账号、密码
(5)dashboard_pwd:frp管理后台密码。
(6)dashboard_port:frp管理后台端口。
配置开机自启
sudo vim /etc/systemd/system/frps.service
其中ExecStart需要修改为自己的文件路径:
[Unit]
Description=frpc
After=network.target
Wants=network.target
[Service]
Restart=on-failure
RestartSec=5
ExecStart=/home/xxx/frp/frps -c /home/xxx/frp/frps.ini
[Install]
WantedBy=multi-user.target
设置frp服务开机自启:sudo systemctl enable frps
启动frp服务
sudo systemctl start frps
./frps -c frps.ini
使用
- 远程ssh使用(可以命令行,也可以使用vscode进行远程编程。)
- 参考指令: ssh -p 100 user_namer@123.3.456.789,其中 -p对应客户端frpc.ini中ssh配置中的 remote_port, user对应内网电脑的用户名,@后面为公网服务器ip.
- 远程登陆web服务。浏览器访问 http://123.3.456.789:10012,即可访问到内网电脑上的web服务。对应ip为公网服务器ip,端口为客户端frpc.ini中web配置中的 remote_port.
其它frp
运行:
服务端
./frps -c frps.ini
客户端
./frpc -c ./frpc.ini
停止
ps -aux|grep frp
kill -9 进程号
客户端frpc
systemctl status frpc
cat /lib/systemd/system/frpc.service
# 刷新服务列表
systemctl daemon-reload
# 设置开机自启
systemctl enable frpc.service
# 启动服务
systemctl start frpc.service
#执行上述命令服务即可设置frp开机自启动并启动服务;
#服务可能会在开机时启动失败。因此在设置开机自启命令时,最好在[Service]中定义Restart和RestartSec。
常用的systemctl命令
# 关闭开机自启
systemctl disable frpc.service
# 停止服务
systemctl stop frpc.service
# 重启服务
systemctl restart frpc.service
# 查看状态
systemctl status frpc.service
# 查看是否设置开机自启
systemctl is-enabled frpc.service
systemctl start frpc
systemctl stop frpc
systemctl restart frpc
systemctl status frpc
systemctl enable frpc # 配置 frps 开机自启
https://zhuanlan.zhihu.com/p/370162016
https://zhuanlan.zhihu.com/p/370167629
开机自启动 Ubuntu18.04设置frp开机自启动_frp 自动重启-CSDN博客
进程监护supervisorctl
frpc
百度安全验证
ps -aux|grep frpc #查看是否运行frpc
sudo systemctl status frpc #查看frpc状态
sudo systemctl start frpc #启动frpc
设置开机自启
sudo systemctl enable frpc
进入到存放开机自启文件的路径:
cd /etc/systemd/system
sudo touch frpc.service
sudo vim frpc.service
[Unit]
Description=My Frp Client Service - %i
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/bin/bash -c '/home/hsp/Desktop/frpc/frp_0.42.0_linux_amd64/frpc -c /home/hsp/Desktop/frpc/frp_0.42.0_linux_amd64/frpc.ini'
[Install]
WantedBy=multi-user.target
/lib/systemd/system/frpc.service
cat /lib/systemd/system/frpc.service
# 关闭开机自启
systemctl disable frpc.service
# 停止服务
systemctl stop frpc.service
# 重启服务
systemctl restart frpc.service
# 查看状态
systemctl status frpc.service
# 查看是否设置开机自启
systemctl is-enabled frpc.service
# 刷新服务列表
systemctl daemon-reload
# 设置开机自启
systemctl enable frpc.service
# 启动服务
systemctl start frpc.service
#执行上述命令服务即可设置frp开机自启动并启动服务;
#服务可能会在开机时启动失败。因此在设置开机自启命令时,最好在[Service]中定义Restart和RestartSec。