当前位置: 首页 > news >正文

外网穿透到内网---访问公网IP映射到内网IP---frp使用

公网ip访问内网ip

方案适用场景所需条件复杂度
1. 端口映射(DNAT)企业有防火墙/NAT设备可配置防火墙规则⭐⭐
2. VPN打通网络无公网IP,需安全连接可部署VPN服务器⭐⭐⭐
3. 反向代理 + SSH隧道临时测试/低安全性需求云服务器可SSH连接⭐⭐
4. 内网穿透工具(frp/ngrok)无防火墙控制权有中转服务器⭐⭐⭐

方案1:端口映射(DNAT)

适用场景:企业有防火墙/NAT网关,可将公网IP的流量转发到内网。操作步骤
1.在防火墙/NAT设备上配置DNAT规则:
text
公网IP:80 → 内网IP:192.168.1.71:80
a.华为/思科防火墙示例:

nat server global <公网IP> 80 inside 192.168.1.71 80

2.云服务器Nginx配置:

server {listen 80;server_name test1.cdy.cn;location / {proxy_pass http://192.168.1.71:80;  # 直接指向内网IP}
} 

3.验证连通性:

curl http://192.168.1.71:80  # 在云服务器上测试能否访问内网

方案2:VPN打通网络

适用场景:无公网IP映射权限,需加密通信(如WireGuard/OpenVPN)。
操作步骤
1.在内网部署VPN服务器(如WireGuard):

#内网服务器(192.168.1.1)上安装WireGuard
apt install wireguard
wg genkey | tee privatekey | wg pubkey > publickey

2.云服务器连接VPN:

ini
# /etc/wireguard/wg0.conf(云服务器配置)
[Interface]
PrivateKey = <云服务器私钥>
Address = 10.8.0.2/24[Peer]
PublicKey = <内网VPN服务器公钥>
Endpoint = <内网VPN公网IP>:51820
AllowedIPs = 192.168.1.0/24  # 允许访问内网段

3.Nginx直接代理内网IP:

nginx
proxy_pass http://192.168.1.71:80;  # 通过VPN隧道可达

方案3:SSH隧道(临时测试)

适用场景:快速临时访问,无需复杂配置。
操作步骤
1.从内网服务器建立SSH反向隧道:

# 在内网机器(能访问192.168.1.71)执行:
ssh -N -R 8080:192.168.1.71:80 root@<云服务器IP>

2.云服务器Nginx配置:

nginx
location / {proxy_pass http://127.0.0.1:8080;  # 转发到SSH隧道端口
}

方案4:内网穿透工具(frp)

适用场景:无防火墙控制权,需通过中转服务器。
操作步骤
1.在中转服务器(云)安装frp服务端:

ini
# frps.ini
[common]
bind_port = 7000

2.内网机器运行frp客户端:

ini
# frpc.ini
[common]
server_addr = <云服务器IP>
server_port = 7000[web]
type = tcp
local_ip = 192.168.1.71
local_port = 80
remote_port = 60080

3.云服务器Nginx配置:

nginx
proxy_pass http://127.0.0.1:60080;  # 转发到frp暴露的端口

本人使用的是方案4:内网穿透工具(frp)

具体如下:

安装frp

1.安装文档:https://gofrp.org/zh-cn/docs/setup/

服务端

准备一台公网上能正常访问的服务器,例如:49.100.101.88

1.下载frp解压之后

在这里插入图片描述

2.修改frps.toml文件

这里绑定端口为7000
在这里插入图片描述

3.在服务端启动frps服务

自行去配置并且启动frp服务

4.本地修改frpc.tom文件

在这里插入图片描述

serverAddr = “47.100.101.88” #服务器IP
serverPort = 7000

在这里插入图片描述

5.本地运行frpc.exe

在这里插入图片描述

6.浏览器登录服务端查看

在这里插入图片描述
在这里插入图片描述

ps:

根据以上的配置直接访问
49.100.101.88:7003 会转到内网的 192.168.10.176:8002


文章转载自:

http://raR0qhQC.qrmyd.cn
http://rbHvVCoN.qrmyd.cn
http://1bmNF2pp.qrmyd.cn
http://tHa3rWYp.qrmyd.cn
http://kIbhrnXy.qrmyd.cn
http://U2UnA3Mf.qrmyd.cn
http://3q3sXCDG.qrmyd.cn
http://qlaA0pHr.qrmyd.cn
http://pLRhQozR.qrmyd.cn
http://f0UddwVO.qrmyd.cn
http://1Rjx64UB.qrmyd.cn
http://aoNTARX3.qrmyd.cn
http://SeheXs3l.qrmyd.cn
http://PyA5GlXk.qrmyd.cn
http://aqUSLcks.qrmyd.cn
http://lIyDXxYq.qrmyd.cn
http://JS43XJox.qrmyd.cn
http://W0QxbGBn.qrmyd.cn
http://6hiRIZtb.qrmyd.cn
http://6sU4u2yD.qrmyd.cn
http://UbiRHts7.qrmyd.cn
http://wvRJiD8D.qrmyd.cn
http://FfuKVkSN.qrmyd.cn
http://QM6MIvwR.qrmyd.cn
http://UOVvLzDL.qrmyd.cn
http://snllDR6T.qrmyd.cn
http://NqkVBBKa.qrmyd.cn
http://CM4FPhDD.qrmyd.cn
http://jA7jcITq.qrmyd.cn
http://cSxzvY3p.qrmyd.cn
http://www.dtcms.com/a/387648.html

相关文章:

  • Google Veo 3 实战指南:三步告别AI视频“PPT感”
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置指南
  • 【Android】进程间如何通信
  • 从代码源码角度 解读 open-vla 算法架构
  • javaweb Tomcat及运行/HTTP
  • 深入解析 HTTP 状态码
  • PHP 常用函数及用法
  • WordPress 网站邮件通知功能实现指南:以 WP Mail SMTP 插件与 QQ 邮箱为例
  • 【CF】Day144——杂题 (交互 + 思维 | 整除分块)
  • Unity 实验功能实现:天敌捕食猎物(含对象池 + 点击交互)
  • 【docker】——docker国内可用的源
  • React Zustand存储token报错解决方案
  • I/O 多路复用器(select、poll、epoll)与 Reactor 模式详解
  • pytorch自定义算子转tensorrt
  • Springboots上传文件的同时传递参数用对象接收
  • Next.js 中表单处理与校验:React Hook Form 实战
  • 国标GB28181视频平台EasyGBS如何解决安防视频融合与级联管理的核心痛点?
  • Web 页面 SEO 审计自动化 - 基于 n8n 和 Firecrawl
  • arcgis文件导出显示导出对象错误
  • PPT中将图片按比例裁剪
  • React + Zustand 状态管理
  • 复位开关芯片 EY412-A07E50国产低功耗延时芯片方案超低功耗
  • 动态规划-详解回文串系列问题
  • C语言基础学习(五)——进制
  • 如何在C#中将 Excel 文件(XLS/XLSX)转换为 PDF
  • 【Error】django-debug-toolbar不显示:Failed to load module script
  • Windows 版本 WDK 版本 Windows SDK Visual Studio各版本对应关系
  • WPF 快速布局技巧
  • K8S YAML 功能详解:让容器配置更灵活
  • CAD迷你看图下载安装教程(2025最新版)