frp实现内网穿透

1.所需准备

  1. 有公有IP的服务器,比如阿里云服务器 (以下简称服务端)
  2. linux 本地服务器 (以下简称客户端)
  3. fpr软件

所需的fpr软件可以从下面的链接下载:
https://github.com/fatedier/frp/releases
我下载的是frp_0.33.0_linux_amd64.tar 这个版本
分别上传到 服务端 和 客户端
也可以用以下命令,直接下载到linux系统里,客户端和服务端都需要

cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar xzvf  frp_0.33.0_linux_amd64.tar.gz
mv frp_0.33.0_linux_amd64 frp

2.目录结构

  • frpc:客户端可执行程序
  • frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)
  • frpc.ini:客户端配置项
  • frps:服务端可执行程序
  • frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)
  • frps.ini:服务端配置项
  • LICENSE:许可证

服务端只需要编辑frps.ini文件
客户端只需要编辑frpc.ini文件
所以,在客户端执行:

rm -f frps frps.ini frps_full.ini

删除服务端配置,同理,在服务端执行:

rm -f frpc frpc.ini frpc_full.ini

删除客户端配置。

3.TCP穿透

这种穿透方式可以实现从外网访问linux服务器

3.1 配置

服务端:

vim frps.ini

[common]
bind_port = 7000 # 穿透和客户端链接用到的端口

客户端:

vim frpc.ini

[common]
server_addr = 云服务器地址
server_port = 7000 # 穿透和服务器链接用到的端口

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 # 虽然配在客户端,却是服务端向外界暴露的端口

3.2 运行

服务端运行:

./frps -c frps.in

客户端运行:

./frps -c frps.ini

3.2 测试

在这里插入图片描述
点击连接后出现
在这里插入图片描述
说明穿透成功

4. Web穿透

这种穿透方式可以实现从外网 本地linux上运行的 Web程序

4.1 配置

服务端:

vim frps.ini

[common]
bind_port = 7000  # 这个不用改,还是和客户端绑定的端口
vhost_http_port = 80  # http暴露端口
vhost_https_port = 443 # https暴露端口
token = xxxxxx # 自己定义的token,类似于客户端和服务端确认的一个密码

客户端:

vim frpc.ini

[common]
server_addr = 云服务器地址
server_port = 7000 # 穿透和服务端链接用到的端口
token = xxxxxx # 与服务端token保持一致

# 这个不变
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 # 虽然配在客户端,却是服务端向外界暴露的端口

# 增加一个web的
[webtest]
type = http
local_ip = 127.0.0.1
local_port = 8888 # 本地web应用使用端口
custom_domains = # 没域名可以用 服务端IP,不写好像是访问不了

4.2 运行

服务端运行:

./frps -c frps.in

客户端运行:

./frps -c frps.ini

因为手头没任何Web项目,就不测试了…

5. linux后台运行

nohup command &

如果想要退掉shell 也可以进行穿透,则执行:

$ nohup ./frps -c frps.ini &
$ nohup ./frpc -c frpc.ini &

6. 参考

https://www.cnblogs.com/chywx/p/10939966.html

https://www.it235.com/%E5%AE%9E%E7%94%A8%E5%B7%A5%E5%85%B7/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/pierce.html

### Windows 上使用 FRP 实现内网穿透 #### 安装与下载 为了在 Windows 平台上部署 FRP 进行内网穿透,首先需要获取适用于 Windows 的 FRP 版本。可以从官方 GitHub 页面下载最新版本的 FRP 压缩包[^1]。 ```powershell Invoke-WebRequest -Uri "https://github.com/fatedier/frp/releases/latest/download/frp_0.58.1_windows_amd64.zip" -OutFile "$env:USERPROFILE\Downloads\frp.zip" Expand-Archive -Path "$env:USERPROFILE\Downloads\frp.zip" -DestinationPath "$env:USERPROFILE\Downloads\frp" ``` #### 服务端配置 (VPS) 对于服务端而言,在远程 VPS 中安装并运行 `frps` 是必要的。创建或编辑位于 `/path/to/frp/frps.ini` 文件来设置基本参数: ```ini [common] bind_port = 7000 token = your_token_here dashboard_port = 7500 allow_ports = 2000-3000,3001,3003,4000-50000 subdomain_host = example.com ``` 此部分涉及的服务端配置应放置于拥有公网 IP 地址的服务器上执行[^2]。 #### 客户端配置 (Windows PC) 接着转向本地机器即作为客户端的部分。同样地修改或者新建名为 `frpc.ini` 的文档用于指定连接细节以及转发规则: ```ini [common] server_addr = x.x.x.x ; 替换成实际VPS地址 server_port = 7000 ; 对应上面绑定端口 token = your_token_here [ssh] type = tcp local_ip = 127.0.0.1 ; 默认即可 local_port = 22 ; 要映射的服务端口号 remote_port = 6000 ; 外部访问时使用的端口号 ``` 上述配置实现了通过外部网络访问内部 SSH 服务的功能示例[^3]。 启动客户端可以通过命令提示符下输入如下指令完成: ```batchfile start "" "C:\path\to\frp\frpc.exe" -c "C:\path\to\frp\frpc.ini" ``` 这会开启一个新的窗口保持后台进程持续工作直到手动关闭为止。 #### 测试验证 最后一步就是确认一切正常运作了。尝试利用新开放出来的端口去建立到目标主机上的连接,比如这里是以测试SSH为例,则可以这样做: ```bash ssh user@your_vps_public_ip -p 6000 ``` 如果成功登录则说明整个流程已经正确无误地完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值