frp实现内网穿透和UDP打洞
一、frp实现内网穿透
1、准备
(1)一台公网服务器、一台内网PC
(2)去下载frp Releases · fatedier/frp · GitHub 或者
在linux上使用 wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
2、安装
(1)解压 tar zxvf frp_0.35.1_linux_amd64.tar.gz
(2)可以先删除frpc 和 frpc.ini 因为这两个是客户端,我们需要关注的是frps和frps.ini这两个是服务端的
3、配置
(1)公网服务器(服务器端)
①vim frps.ini
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口(客户端也要填写这个端口)
dashboard_port = 7500 #frp的管理页面端口号
dashboard_user = admin #登录管理页面的用户名
dashboard_pwd = admin #登录管理页面的密码
token = 123456 #token
bind_udp_port = 7001 #udp打洞的端口号
②启动命令(去到frp的安装目录)
前台启动
./frps -c frps.ini
后台启动
nohup frps -c frps.ini &
③管理页面(服务器地址+7500端口号)
(2)客户端配置(现在使用的客户端是win的)
①配置frpc.ini
[common]
server_addr = 120.xxx.xxx.xxx #公网服务器地址
server_port = 7000 #frp的端口
token = 123456 #token
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 127.0.0.1 #内网服务器ip
local_port = 22 #ssh默认端口号
remote_port = 6000 #自定义的访问内部ssh端口号
②使用cmd 到安装目录
执行frpc.exe -c frpc.ini
4、测试
(1)放行端口
注意:先把需要用到的端口(7000、7500、6000)在阿里云上加入安全组放行,并且在服务器的防火墙上放行
(2)ssh连接 (服务器ip+自定义端口号)
二、 frp实现UDP打洞(实现远程桌面)
1、准备
一台公网服务器、两台内网服务器
2、实现
(1)公网服务器(服务器端)
在frps.ini配置文件中加上这一行
bind_udp_port = 7001 #udp打洞的端口号
(2)在内网服务器上的配置
在frps.ini配置文件加上
[common]
server_addr = 120.xxx.xxx.xxx
server_port = 7000
token = 123456
[p2p_mstsc]
type = xtcp #选择xtcp协议
sk=123456 #访问的sk
local_ip = 127.0.0.1 #需要监听的ip
local_port = 3389 #需要监听的端口
(3)在另一台内网主机上配置
[common]
server_addr = 120.xxx.xxx.xxx
server_port = 7000
token = 123456
[p2p_mstsc_visitor]
type = xtcp #选择相同的xtcp协议
role = visitor #角色是visitor
server_name = p2p_mstsc #要与需要连接的名字相同
sk = 123456 #访问的sk
bind_addr = 127.0.0.1 #需要通过本地ip
bind_port = 2323 #本地的端口去发送UDP包
3、测试