内网涉透工具配置 – frp
frp 简介
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议
frp 的作用
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
架构
在具有公网IP的服务器或VPS上安装运行 frp 的服务端程序frps,并在处于内网的目标主机上面安装运行 frp 的客户端程序 frpc ,然后 User 就可以通过公网服务器来实现内网穿透从而访问内网主机。
场景
外网服务器:
CentOS 7
内网:
- CentOS 7
- Ubuntu 18
- Windows Server 2008
配置
frp 下载地址 https://github.com/fatedier/frp/releases
外网服务器配置:
下载 frp_0.26.0_linux_amd64.tar.gz: wget https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_linux_amd64.tar.gz
解压:
tar -xzvf frp_0.26.0_linux_amd64.tar.gz cd frp_0.26.0_linux_amd64
删除客户端文件:
rm frpc rm frpc.ini
根据需要修改配置文件,默认监听端口是 7000
vim frps.ini: [common] bind_port = 7000 #vhost_http_port = 10080 #内网web服务,需要服务器有域名
后台启动程序:
nohup ./frpc -c frpc.ini &
查看 nohup.out 的信息,tail -f nohup.out,显示 success 则启动成功
内网 1 配置:
下载 frp_0.26.0_linux_amd64.tar.gz: wget https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_linux_amd64.tar.gz
解压:
tar -xzvf frp_0.26.0_linux_amd64.tar.gz cd frp_0.26.0_linux_amd64
删除服务端文件:
rm frps rm frps.ini
根据需要修改配置文件,默认监听端口是 7000
vim frpc.ini:
[common] server_addr = www.crs811.com #外网服务器地址,可以填ip或者域名 server_port = 7000 #frp服务端端口,需要与服务端配置中的 bind_port 一致 [ssh_01] #修改名称为 ssh_01 type = tcp #连接类型,填tcp或udp local_ip = 127.0.0.1 #填127.0.0.1或内网ip都可以 local_port = 22 #需要转发到的端口,Linux一般是ssh的端口 remote_port = 6000 #外网服务器的包转发端口,即服务端的remote_port(6000)端口对 #应内部local_port(22)端口 #[web] #开放内网的web服务 #type = http #local_ip = 127.0.0.1 #local_port = 80 #custom_domains = www.crs811.com #域名
后台启动程序:
nohup ./frpc -c frpc.ini &
查看 nohup.out 的信息,tail -f nohup.out,显示 success 则启动成功
内网 2 配置:
与内网 1步骤一致,不同的是配置文件:
vim frpc.ini:
[common] server_addr = www.crs811.com server_port = 7000 [ssh_02] #修改名称为 ssh_02 type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6001 #修改为6001
后台启动程序:
nohup ./frpc -c frpc.ini &
查看 nohup.out 的信息,tail -f nohup.out,显示 success 则启动成功
内网 3 配置:
下载:
https://github.com/fatedier/frp/releases/download/v0.26.0/frp_0.26.0_windows_amd64.zip
解压后,删除 frps.exe, frps.ini
修改配置文件:
[common] server_addr = www.crs811.com server_port = 7000 [ssh_03] #修改名称为 ssh_03 type = tcp local_ip = 127.0.0.1 local_port = 3389 #修改为windows的远程桌面默认端口 3389 remote_port = 6002 #修改为6002
使用命令行启动程序:
Win徽标+r: cmd
frpc -c frpc.ini
外网服务器端口配置:
服务端还需要打开相应的端口,否则连接不上的:
firewall-cmd --zone=public --add-port=7000/tcp --permanent firewall-cmd --zone=public --add-port=6000-6002/tcp --permanent #firewall-cmd --zone=public --add-port=10080/tcp --permanent firewall-cmd --reload
登录
完成前面三步的配置就可以登录对应的内网机器了,执行 ssh 命令:
ssh -p 6000 username@server_addr
其中 username 是内网机器的登录用户名,server_addr是公网服务器的IP,port 6000就是设置的 remote_port,之后输入的密码是内网机器的登录密码。