frp内网穿透
一.frp的作用和原理图
1.首先frp分客户端和服务端,frp客户端和服务端在同一个局域网。
2.frp服务端拥有公网ip与互联网连通。
frp的作用:
通过一台公司拥有外网ip的服务器做为frp服务端,通过请求转发的形式,转发到公司局域网内的服务器(frp客户端),达到实现通过互联网访问局域网。
二.frp安装及配置
1.下载地址
首先登陆github
打开github下载地址:https://github.com/fatedier/frp/releases
通过uname命令查看系统版本来选择安装包
uname -a
aarch64:选择:frp_0.49.0_linux_arm64.tar.gz
x86_64: 选择:frp_0.49.0_linux_amd64.tar.gz
2.安装
准备:
- 一台具有公网ip的服务器,安装frp服务端。命名为服务器02
- 一台本地服务器跑程序的服务器,安装frp客户端。命名为服务器01
我的公网服务器02
内网ip为:10.xx.16.50
内网端口5024映射的外网端口为1684 (用来访问web服务)
内网端口6000映射的外网端口为1502 (用来ssh连接)
本地服务器01:
内网ip为:10.xx.16.44
(1)一台具有公网IP的机器(云服务器等),服务器02,安装服务端frps
#解压缩 tar -vxzf frp_0.49.0_linux_arm64.tar.gz cd frp_0.49.0_linux_arm64 vim frps.ini
并修改为以下内容
[common] bind_port = 8000 vhost_http_port = 5024 # 访问5024端口,映射到内网web服务
(2)安装客户端frpc,服务器01
一台本地服务器安装客户端frpc(如,部署了web服务的服务器)
#解压缩 tar -vxzf frp_0.49.0_linux_arm64.tar.gz cd frp_0.49.0_linux_arm64 vim frpc.ini
并修改为以下内容
[common] server_addr = 10.xx.16.50 #frps服务端服务器ip server_port = 8000 #和frp服务端bind_port保持一致 #ssh连接配置 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 #用来ssh远程连接客户端的端口 #web服务配置 [web] type = tcp local_port = 8080 #web服务内网端口号 local_ip = 10.xx.16.44 #web服务内网ip remote_port = 5024 #用来远程连接web服务的端口
(3)添加一下frps的自启动服务
frp客户端:
cd /usr/lib/systemd/system vi frpc.service
修改为以下内容
[Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/opt/frp_0.49.0_linux_arm64/frpc -c /opt/frp_0.49.0_linux_arm64/frpc.ini ExecReload=/opt/frp_0.49.0_linux_arm64/frpc reload -c /opt/frp_0.49.0_linux_arm64/frpc.ini LimitNOFILE=1048576 [Install] WantedBy=multi-user.target
/opt/frp_0.49.0_linux_arm64为自己的安装路径
frp服务端:
cd /usr/lib/systemd/system vi frps.service
修改为以下内容
[Unit] Description=frpc server daemon Documentation=https://github.com/fatedier/frp After=network-online.target [Service] ExecStart=/opt/frp_0.49.0_linux_arm64/frpc -c /opt/frp_0.49.0_linux_arm64/frpc.ini ExecReload=/opt/frp_0.49.0_linux_arm64/frpc reload -c /opt/frp_0.49.0_linux_arm64/frps.ini Type=simple User=nobody Group=nogroup WorkingDirectory=/tmp Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
/opt/frp_0.49.0_linux_arm64为自己的安装路径
(4)启动服务
启动frp服务端:
sudo systemctl restart frps
启动frp客户端:
sudo systemctl restart frpc
其它命令
# 启动客户端frpc sudo systemctl start frpc # 自启动客端端frpc sudo systemctl enable frpc # 重启客户端应用 sudo systemctl restart frpc # 停止客户端应用 sudo systemctl stop frpc # 停止自启动 sudo systemctl disable frps # 查看客端端应用的日志 sudo systemctl status frpc # 启动服务端端frps sudo systemctl start frps # 重启服务端应用 sudo systemctl restart frps # 停止服务端应用 sudo systemctl stop frps
3.验证
用ssh验证:
用02服务器的公网ip和端口号登陆01服务器
web服务验证:
用02服务器的公网ip和端口号登陆安装在01服务器上的web服务器
原文链接:https://blog.csdn.net/xiegongmiao/article/details/131243151