利用frp实现内网穿透

利用frp实现内网穿透

简介

内网穿透指的是从外网穿透到内网,也叫NAT 穿透。
如:
服务器A(位于外网)公司阿里云服务器
服务器B(位于内网)私有化部署服务器
服务器C(位于外网)客户浏览器

此场景使用于远程办公, 客户给了你一台远程机器(用于向日葵或者Todesk连接), 通过Windows上面的shell工具连接服务器image.png

实际操作

  1. 首先你需要购买一台云服务器(阿里云, 腾讯云)

  2. 在云服务器上面跑一个frp的server端口frp下载地址

  3. server端配置参考

[common]
bind_port = 7000
dashboard_user='admin'  # dashboard登录的账号和密码
dashboard_pwd ='admin'
dashboard_port = 12342
token = aaaaa           # 需要和客户端的token对应
  1. 在server端上面通常建议开机自启动这个服务, 不然重启机器的话, 会导致所有的代理失效, Linux上面开机自启动参考, 在解压的文件夹下面有systemd的文件夹下面, 照着改动, 然后移动到/etc/systemd/system/frpc.service,
  • systemctl daemon-reload # 刷新服务列表
  • systemctl enable frpc # 开机自启开启
  • systemctl disable frpc # 关闭开机自启
  • systemctl start frpc # 启动服务
  • systemctl stop frpc # 停止服务
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=cd /root/frp_server/frp_0.38.0_linux_amd64/;./frps -c frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
  1. 在windows启动frp的客户端就可以通过远程桌面连接(windows自带)远程Windows机器了
[common]
server_addr = 你的云服务器IP
server_port = 7000
token = aaaaa   需要和server端的token对应

[range:ssh-3389]  # 名字随便, 只要不冲突就可
type = tcp
local_ip = 127.0.0.1      # Windows能连接到的Linux主机的IP
local_port = 3389     # 需要暴露出去的端口
remote_port = 6666  # 远程对应的端口
use_encryption = true  # 启用加密
use_compression = true
  1. 将内网的服务器通过这台windows转发到公网
[common]
server_addr = 你的云服务器IP
server_port = 7000
token = aaaaa   需要和server端的token对应

[range:ssh-3389]  # 名字随便, 只要不冲突就可
type = tcp
local_ip = 192.168.1.1      # Windows能连接到的Linux主机的IP
local_port = 22     # 需要暴露出去的端口
remote_port = 6666  # 远程对应的端口
use_encryption = true  # 启用加密
use_compression = true


[range:ssh-40]  # 这个是批量暴露端口的写法
type = tcp
local_ip = 192.168.44.140
local_port = 22,15000-15010
remote_port = 9040,15000-15010
posted @ 2022-07-18 19:35  つつつつつつ  阅读(1499)  评论(0编辑  收藏  举报