使用frp进行内网穿透

frp用来做穿透内网,将内网或防火墙之后的机器,对外网环境提供服务


实验环境

外网环境: Windows Server 2019服务器

内网环境1: CentOS 7.7服务器   应用nginx环境 端口33605

内网环境2: Windows Server2016  应用RDP 端口3389

内网环境3: Windows Server2012  应用RDP 端口3389


下载地址https://github.com/fatedier/frp/releases


Windows服务端

解压后只保留frps.exe和frps.ini,其余文件删除

编辑frps.ini

[common]
bind_addr = 0.0.0.0               #绑定所有地址
bind_port = 6001                  #与客户端进行通信的端口
#bind_udp_port = 7001
#kcp_bind_port = 7000
#vhost_http_port = 800
#vhost_https_port = 4430
#dashboard_addr = 0.0.0.0  
#dashboard_port = 7500
#dashboard_user = admin
#dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 1
disable_log_color = false
privilege_token = 1234567890
#allow_ports = 2000-3000,3001,3003,4000-50000
max_pool_count = 5
max_ports_per_client = 0
#subdomain_host = frps.com
tcp_mux = true


cmd下运行

d:\tool\frp\frps.exe -c d:\tool\frp\frps.ini


或者注册为系统服务

使用frp进行内网穿透

cd到frp所在目录
安装 winsw install
开启 winsw start

如果需要拆卸
停止 winsw stop
拆卸 winsw uninstall

使用frp进行内网穿透 frp server.zip


Linux客户端

解压后只保留frpc和frpc.ini,其余文件删除

cd /root
wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz
tar xzvf frp_0.29.1_linux_amd64.tar.gz
mv frp_0.29.1_linux_amd64 frp
chmod +x /root/frp/frpc

vim /root/frp/frpc.ini
修改为
[common]
server_addr = 222.222.222.222   #服务端公网IP
server_port = 6001                      #与服务端通信的端口
#log_file = ./frpc.log                      
#log_level = info                            
#log_max_days = 1                        
privilege_token = 1234567890    #连接密码

[web]
type = tcp
local_ip = 127.0.0.1
local_port = 33605
remote_port = 33605

这里没有使用vhost方式,因为type配置为http,必须要设置域名解析


设置为系统服务

vim /usr/lib/systemd/system/frpc.service
增加
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini
ExecReload=/root/frp/frpc reload -c /root/frp/frpc.ini

[Install]
WantedBy=multi-user.target

执行

systemctl enable frpc.service && systemctl start frpc.service
systemctl status frpc.service
systemctl is-active frpc.service
systemctl list-units  --type=service


Windows客户端

使用frp进行内网穿透 frp client.zip

解压后只保留frpc.exe和frpc.ini,其余文件删除

编辑frpc.ini

[common]
server_addr = 222.222.222.222
server_port = 6001
privilege_token = 1234567890

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 5000

其他计算机如果还要穿透RDP,配置文件需要改为

[common]
server_addr = 222.222.222.222
server_port = 6001
privilege_token = 1234567890

[RDP2]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000


测试方法

浏览器访问

http://222.222.222.222:33605  就可以看到内网的nginx默认页面


mstsc连接

222.222.222.222:6000 可以远程管理



更新日期: 2019年11月12日
文章标签: Linux
文章链接: https://www.vos.cn/os/368.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。