FRP内网穿透配置使用

作者: admin 分类: Linux 发布时间: 2022-10-14 14:51 浏览:2,109 次    

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,客户端支持Windows、Mac、Linux;可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

项目开源地址:https://github.com/fatedier/frp

1、下载软件

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

2、解压

[root@qunniao-1 opt]# tar -xf frp_0.44.0_linux_amd64.tar.gz

3、配置

[root@qunniao-1 opt]# cd frp_0.44.0_linux_amd64/
[root@qunniao-1 opt]# mkdir -p /usr/local/frp/
[root@qunniao-1 frp_0.44.0_linux_amd64]# mv * /usr/local/frp/
[root@qunniao-1 frp_0.44.0_linux_amd64]# cd !$
[root@qunniao-1 frp]# vim frps.ini
[common]                      # 必须项
bind_port = 7000              # frp服务端端口
token = xunyin                # 身份验证,客户端连接时验证
vhost_http_port = 80          # 自定义http访问端口(可选)
vhost_https_port = 443        # 自定义https访问端口(可选)
dashboard_port = 7001         # 管理控制台端口,查看到frp服务的运行情况(可选)
dashboard_user = admin        # 管理端用户名(可选)
dashboard_pwd = 123456        # 管理端密码(可选)
log_file = /var/log/frps.log  # frp日志(可选)
log_level = info              # 日志级别(可选)
log_max_days = 5              # 日志保留天数(可选)
max_pool_count = 10           # 最大连接数(可选)
[ssh]                         # ssh反代(可选)
list_port = 6000              # 设定ssh访问端口

[web]                         # http反代,[]内容自己定义(可选);
type = http                   # 服务协议,可以设为http,https
custom_domains = web.churuo.cn    # 要映射的域名
[RDP]                         # widows远程桌面            
list_port = 8000              # (可选)

4、启动(启动方式根据需要选择)

./frps -c ./frps.ini          # 不能关闭终端,关闭后中断
# 后台启动
nohup ./frps -c ./frps.ini &  # 后台运行
  • 配置systemctl管理
[root@qunniao-1 ~]# vim /usr/lib/systemd/system/frp.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target
[root@qunniao-1 ~]# systemctl daemon-reload
[root@qunniao-1 ~]# systemctl start frp.service
[root@qunniao-1 ~]# systemctl enable frp.service

5、客户端配置(客户端只需要frpc frpc.ini两个文件即可)

  • Linux端frpc.ini配置
  • 访问内网ssh配置
[common]
server_addr = frp.churuo.cn      # frp服务器ip或域名
server_port = 7000               # frp服务器端口
token = xunyin                   # frp服务器token
[ssh]                            # 模块名,与服务端必须相同
type = tcp                       # 协议类型
local_ip = 127.0.0.1             # 本地地址
local_port = 22                  # ssh端口
remote_port = 6000               # frp服务器ssh项端口
  • 访问内网http/https服务
[common]
server_addr = frp.churuo.cn # frp服务器ip或域名
server_port = 7000 # frp服务器端口
token = xunyin # frp服务器token
[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = web.churuo.cn # 自定义域名
  • 启动
./frpc -c ./frpc.ini
# 后台启动
nohup ./frpc -c ./frpc.ini &
  • 访问
内网http/https服务访问:custom_domains:vhost_http_port或frp服务器ip:vhost_http_port
例:http://web.churuo.cn 
ssh访问:ssh 用户名@服务端ip  -p 端口号
例:ssh root@frp.churuo.cn -p 6000 
  • Windows端(RDP)frpc.ini配置:
[common]
server_addr = frp.churuo.cn
server_port = 7000
token= xunyin
[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 8000
  • CMD启动frpc
frpc.exe -c frpc.ini
  • 开启windows电脑远程桌面

桌面 -> 此电脑 -> 图标右键 -> 属性 -> 远程设置 -> 修改为允许远程连接到此计算机

%title插图%num

访问方式:打开windows远程桌面程序,服务器IP:remote_port,例 frp.churuo.cn:8000,就可以连接到内网的windows了。

%title插图%num

注:直接输入用户名可能会出现凭据不工作问题,可以输入 “.\用户名”方式

%title插图%num
  • Mac端(VNC)frpc.ini配置:
[common]
server_addr = frp.churuo.cn
server_port = 7000
token = xunyin
[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5900
use_encryption = true
use_compression = true
  • 开机启动配置(注意文件中的frpc 和 frpc.ini 路径)
touch ~/Library/LaunchAgents/frpc.plist
vim ~/Library/LaunchAgents/frpc.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>frpc</string>
    <key>ProgramArguments</key>
    <array>
     <string>/usr/local/bin/frpc/frpc</string>
         <string>-c</string>
     <string>/usr/local/bin/frpc/frpc.ini</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
sudo chown root ~/Library/LaunchAgents/frpc.plist
sudo launchctl load -w ~/Library/LaunchAgents/frpc.plist

在Mac 的【系统偏好设置】->【共享】,勾选“屏幕共享”和“远程登录”,用户为“所有用户”

%title插图%num


温馨提示:如无特殊说明,本站文章均为作者原创,转载时请注明出处及相应链接!

发表评论