惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
Intezer
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
博客园_首页
量子位
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
GbyAI
GbyAI
D
Docker
M
MIT News - Artificial intelligence
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
有赞技术团队
有赞技术团队
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
Cyberwarzone
Cyberwarzone
Recorded Future
Recorded Future
H
Help Net Security
L
LINUX DO - 热门话题
罗磊的独立博客
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
SecWiki News
SecWiki News
T
Threat Research - Cisco Blogs
T
Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Security @ Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
P
Proofpoint News Feed
V2EX - 技术
V2EX - 技术
L
LangChain Blog
The Cloudflare Blog
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
B
Blog
T
The Blog of Author Tim Ferriss

披萨盒的赛博日志

谈谈工作了半年的感受 使用策略模式重构复杂业务分支 像 systemd 一样管理 MacOS 后台常驻任务 以ORM看封装的边界 Git Merge VS Git Rebase: 如何优雅地合并分支? 修改Linux内核模块以支持WG OpenLDAP折腾日记 非特权模式容器 ssh 登录问题 在 Linux 开发环境中使用网络代理 白嫖 Aseprite 像素绘图软件 MongoDB 增删改查 Python数据分析工具包-Numpy 解决 CLion 中文乱码问题 搭建 RLCraft 服务器 SpringBoot读取配置文件 Centos 配置 LNMP 环境 部署项目时遇到的坑 浅谈 xhr 请求跨域问题 JavaScript 学习笔记 Eclipse配置Web开发环境 Vue2 基本知识 Ribbon 简单使用 Nacos 简单使用 Spring Cloud Alibaba 环境搭建 什么是RSS?什么是Feed?它们有什么关系? Docker基本使用 TensorFlow启用GPU加速 Hello World! Git基本使用 Butterfly常用标签外挂
如何进行内网穿透
披萨盒 · 2022-07-01 · via 披萨盒的赛博日志

什么是内网穿透

百度百科:内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。

维基百科:在电脑科学中,NAT穿越(NAT traversal)涉及 TCP/IP 网络中的一个常见问题,即在处于使用了NAT装置的私有 TCP/IP 网络中的主机之间建立连接的问题。

我的理解:内网穿透其实就是把局域网内的资源或服务映射到公网,从而达到通过互联网访问内网的效果。

根据我的理解,可以做出如下图:

image-20220701104714835

因为内网穿透服务器是暴露在互联网(公网)的,所以它必须拥有公网IP地址。用户服务器既可以是公司内部的服务器集群,也可以是PC个人电脑。


一些常见的内网穿透工具的使用

Ngrok

官方文档:https://ngrok.com/docs

ngrok是一款非常便捷简单的内网穿透工具。内网穿透服务器由他们来提供,我们只需要指定要穿透的端口即可实现一键内网穿透

下载安装

  1. 官方下载地址下载对应版本的ngrok

image-20220701112204402

  1. 下载好后进行解压,会得到如下文件(先别急着运行)

image-20220701112307990

  1. 注册一个账号,注册地址:https://dashboard.ngrok.com/get-started/setup
  2. 登录,查看自己的token

image-20220701112832070

  1. 在刚刚文件的解压目录下打开cmd窗口

image-20220701113119264

至此,安装配置完成

使用

在刚刚文件的解压目录下打开cmd窗口,输入ngrok http [要穿透的端口号]回车即可

image-20220701113754212

红框圈住的即为穿透后的地址,通过互联网就可以访问。需要注意的是,免费版的分配的域名地址是随机的,每次穿透可能结果都不一样。


Frp

官方文档:https://gofrp.org/docs/

Frp是GitHub上的一个开源项目,使用go语言编写,速度很快,支持点对点内网穿透,功能非常强大

先决条件

  • 一台具有公网IP的服务器
  • 知道一丁点Linux相关知识

下载

Release v0.43.0 · fatedier/frp · GitHub下载对应版本的Frp。内网穿透服务器和本机服务器都要由一份。

使用frp实现http内网穿透

为了方面描述,内网穿透服务器简称为服务器,要穿透的本机服务器简称为本机

  1. 服务器端配置
  • 打开服务器端 frps.ini 配置文件,修改如下
1
2
3
[common]
bind_port = 7000
vhost_http_port = 8080
  • 放行 7000 端口和 8080 端口
  • 运行命令
1
./frps -c frps.ini
  1. 本机配置
  • 打开本机 frpc.ini 配置文件,修改如下
1
2
3
4
5
6
7
8
[common]
server_addr = [服务器ip地址]
server_port = 7000

[web]
type = http
local_port = [要代理的端口号]
custom_domains = [域名,没有解析域名的话可以填ip地址]
  • 运行命令
1
./frpc.exe -c ./frpc.ini

访问 域名.8080 即可看到本机的4000端口对应的资源/服务


版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 披萨盒的赛博日志


avatar

披萨盒

反正身体这么好,今天继续笑下去吧

个人主页