Linux网络 NAT、代理服务、内⽹穿透

目录

[一. NAT技术](#一. NAT技术)

[二. 代理服务](#二. 代理服务)

[1. 正向代理](#1. 正向代理)

[2. 反向代理](#2. 反向代理)

[3. 内网穿透](#3. 内网穿透)

[4. 内网打洞](#4. 内网打洞)


一. NAT技术

以上的图是一个例子解释NAT技术:路由器连接两个子网,在边的子网要和右边的子网进行通信,由于子网内的IP是私有iP只在局域网内有效,所以假设客户端A此时要向右边的服务器发送信息,此时传递到路由器的时候,会在网络层,把私用IP替换成路由器的WAN口IP(图中只显示中间只跨过了一个路由器,其实有很多个,这种替换也是一层层的替换的,最后一个替换的IP地址是出入口的路由器),在路由器的内部形成一个表结构,里面保存了私有IP和公有IP的映射关系,然后再发送给服务器,路由器处理后,发送回客户端A,此时到达了出入口路由器,然后根据之前建立的那张表的映射关系,找出下一个阶段要发送回的路由器IP,一层层的替换,直到返回给客户端A的指定端口。

那么问题来了, 如果局域⽹内, 有多个主机都访问同⼀个外⽹服务器, 那么对于服务器返回的数据中, ⽬的IP都是相同的。那么NAT路由器如何判定将这个数据包转发给哪个局域⽹的主机?

这时候NAPT来解决这个问题了. 使⽤IP+port来建⽴这个关联关系

二. 代理服务

1. 正向代理

正向代理(Forward Proxy)是⼀种常⻅的⽹络代理⽅式,它位于客⼾端和⽬标服务器之间,代表 客⼾端向⽬标服务器发送请求。正向代理服务器接收客⼾端的请求,然后将请求转发给⽬标服务 器,最后将⽬标服务器的响应返回给客⼾端。通过这种⽅式,正向代理可以实现多种功能,如提⾼ 访问速度、隐藏客⼾端⾝份、实施访问控制等。

2. 反向代理

反向代理服务器是⼀种⽹络架构模式,其作为Web服务器的前置服务器,接收来⾃客⼾端的请求, 并将这些请求转发给后端服务器,然后将后端服务器的响应返回给客⼾端。这种架构模式可以提升 ⽹站性能、安全性和可维护性等。

基本原理:反向代理服务器位于客⼾端和Web服务器之间,当客⼾端发起请求时,它⾸先会到达反向代理服务器。反向代理服务器会根据配置的规则将请求转发给后端的Web服务器,并将Web服务器的响应返 回给客⼾端。在这个过程中,客⼾端并不知道实际与哪个Web服务器进⾏了交互,它只知道与反向代理服务器进⾏了通信。

3. 内网穿透

我们在局域网内的一台主机和一个云服务器设置NAPT(相当于内网IP和特定的端口和服务器的IP和特点的端口,建立映射),然后建立起链接,然后外网(不再这个局域网内的)的一台主机,和这个云服务器建立链接,然后把这台主机发的请求,通过服务器转给这个局域网内部的主机。

4. 内网打洞
相关推荐
B站_计算机毕业设计之家14 小时前
基于大数据的游戏数据可视化分析与推荐系统 Steam游戏 电子游戏 娱乐数据 Flask框架 selenium爬虫 协同过滤推荐算法 python✅
大数据·python·深度学习·游戏·信息可视化·1024程序员节·steam
云望无线图传模块14 小时前
无线图传模块:引领科技未来的创新突破
1024程序员节·无线通信模块·无线模块·远距离无线模块
impossible199472714 小时前
如何开发一个自己的包并发布到npm
node.js·1024程序员节
周杰伦_Jay15 小时前
【计算机网络核心】TCP/IP模型与网页解析全流程详解
网络·网络协议·tcp/ip·计算机网络·算法·架构·1024程序员节
啊吧怪不啊吧15 小时前
SQL之表的增删
服务器·数据库·sql·1024程序员节
小马爱打代码15 小时前
堆外内存泄漏排查:K8s中Java容器频繁OOM被重启,但堆dump无异常
1024程序员节
终焉代码15 小时前
【C++】C++11特性学习(1)——列表初始化 | 右值引用与移动语义
c语言·c++·学习·1024程序员节
ganshenml16 小时前
【Android】 Gradle 下载后本地使用方式(macOS / Windows通用)
1024程序员节
codeyanwu16 小时前
Excel 学习笔记
学习·excel·1024程序员节