【java入门到放弃】网络

防火墙

防火墙既可以是硬件,也可以是软件,本质上是一种安全功能/技术,而不是只能对应某一种形态。

NAT和VPN

NAT

一、NAT(Network Address Translation,网络地址转换)

1、 NAT 是干什么的?

把私有 IP 转换成公网 IP(或反之)

核心目的

  • 解决 IPv4 地址不够用
  • 隐藏内部网络结构

2、NAT 的工作方式

当内网主机访问外网时:

复制代码
192.168.1.10:12345  →  8.8.8.8:53
↓ NAT 转换
公网IP:50001       →  8.8.8.8:53

防火墙 / 路由器维护一张 NAT 映射表

3、NAT 的常见类型

🔹 静态 NAT

  • 一个私有 IP ↔ 一个公网 IP
  • 用于对外提供服务的主机

🔹 动态 NAT

  • 私有 IP ↔ 公网 IP 池
  • 不固定

🔹 PAT(端口地址转换 / NAPT)

  • 多个内网 IP 共用 一个公网 IP
  • 靠端口区分(最常用

4、 NAT 的特点

✅ 节省公网 IP

✅ 一定程度"隐藏"内网

❌ 不提供真正的加密安全

❌ 可能影响某些协议(如 FTP、IPSec)

VPN

VPN(Virtual Private Network,虚拟专用网络)

1️⃣ VPN 是干什么的?

👉 在不安全的公网中建立"加密隧道"

核心目的

  • 数据加密
  • 身份认证
  • 安全访问内网资源

2️⃣ VPN 的工作方式

复制代码
用户 →【加密】→ 公网 →【解密】→ 内网

外人即使截获数据,也看不懂内容


3️⃣ VPN 的常见类型

🔹 按使用场景

  • 远程访问 VPN(个人 → 公司)
  • 站点到站点 VPN(公司 ↔ 分支)

🔹 按技术

  • IPSec VPN(网络层)
  • SSL VPN(应用层)
  • L2TP / PPTP(较老)

4️⃣ VPN 的特点

✅ 数据机密性高

✅ 可安全访问内网

❌ 有加密/解密性能开销

❌ 配置复杂

包过滤防火墙

第一代:包过滤防火墙(Packet Filter Firewall)

原理

1️⃣ 工作层级

  • OSI 模型
    • 网络层(IP)
    • 传输层(TCP / UDP / ICMP)

不涉及:

  • 会话层
  • 应用层(HTTP、FTP、DNS 等)

2️⃣ 检查的数据包字段

典型会检查以下信息:

字段 说明
源 IP 数据包来自哪里
目的 IP 数据包发往哪里
协议类型 TCP / UDP / ICMP
源端口 客户端端口
目的端口 服务端口(80、443 等)
TCP 标志位 SYN、ACK、FIN 等

缺陷

无法识别IP欺骗

无法识别应用层的病毒

包过滤防火墙不记录网络连接的状态信息,无法区分合法的连接响应和未经授权的访问尝试。这导致它可能误判或漏判某些连接请求。

1、无法识别基于状态的协议(如FTP、SIP)

2、无法区分连接请求和响应

3、容易受到会话劫持和端口扫描攻击

状态检测防火墙

第二代网络防火墙,通常称为状态检测防火墙(Stateful Inspection Firewall)

可跟踪活动连接的状态。通过观察网络流量,他们使用上下文来识别和应对可疑行为。

安全域

安全域 说明
Trust 内网,高可信(员工办公)
Untrust 外网,低可信(公网)
DMZ 半可信区(对外 Web)
Management 管理区(运维登录)
Server 服务器区(数据库)

其他代

第三代:应用代理防火墙(Application Gateway)

解决什么问题

  • 第二代"不懂应用"

核心变化

  • 防火墙 终止连接

  • 作为中间人:

复制代码
  客户端 → 防火墙 → 服务器

能做什么

  • FTP 命令控制
  • HTTP 方法限制
  • 协议合规性检查

代价

  • 性能开销大
  • 协议支持有限

👉 安全强,但不通用


第四代:应用识别防火墙(2005+)

背景

  • 应用不再"端口固定"
  • QQ / 微信 / BT / Skype

解决什么问题

  • 端口 ≠ 应用

核心能力

  • DPI(深度包检测)
  • 应用指纹识别

典型能力

  • 禁止 QQ,但允许 HTTPS
  • 限制 P2P,不影响 Web

👉 这是从"端口思维"到"业务思维"的跃迁


第五代:下一代防火墙(NGFW)

本质

不是新技术,而是"安全能力融合平台"

融合了什么

  • 状态检测
  • 应用识别
  • IPS
  • 防病毒
  • URL 过滤
  • SSL 解密
  • 用户识别

策略表达

复制代码
用户 + 应用 + 内容 + 行为 → 动作

👉 从"网络安全"变成"业务安全"

单位

1 bit = 最小信息单位(比特)(位)

1 Byte = 8 bit (Byte,字节)

1 KB = 1024 B

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 Kbps = 1000 bit/s

1 Mbps = 1000 Kbps = 1,000,000 bit/s

1 Gbps = 1000 Mbps = 1,000,000,000 bit/s

1 Tbps = 1000 Gbps = 1,000,000,000,000 bit/s

兆:指带宽速度,单位是 Mbps(Megabits per second)。1 Mbps = 每秒传输 1 兆比特(Megabit)

存储速度 ↔ 网络速度:一个以字节为基准,一个以比特为基准

1 B/s = 8 bit/s

1 MB/s = 8 Mbps

1 GB/s = 8 Gbps

IP

手机上网

手机使用运营商流量上网时:大部分情况下拿到的是 私网 IP,通过运营商的 NAT 映射到公网 IP

这里私网IP和公网IP都不是固定的。

路由器上网

模式 英文 功能特点 典型用途
路由模式 Router 核心 NAT、防火墙、DHCP、Wi-Fi 家庭上网主路由,连接光猫或运营商网络
桥接模式 Bridge 关闭路由/NAT,只做网络透传 光猫 + 独立路由器组合,避免双 NAT
AP 模式 Access Point 关闭路由/NAT,只提供无线接入 扩展无线覆盖,多层楼 Wi-Fi 或企业无线扩展
中继/扩展模式 Repeater / Extender 无线信号中继,扩大 Wi-Fi 覆盖 家庭多楼层或信号盲区

路由模式:最常用,家用主路由器上网必备

桥接模式:当光猫也有路由功能时,为避免双 NAT 常用

AP模式:扩展无线覆盖,非常普遍

中继模式:解决楼层/盲区 Wi-Fi 信号弱的问题

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)一句话解释:DHCP 负责自动给网络里的设备分配 IP 地址和网络参数,让设备"开机就能上网",不需要手动设置 IP。

光猫都会被分配一个 IP,但普通家庭用户通常是动态 IP(公网或私网 NAT 映射),固定 IP 一般需要申请企业或高端套餐。

路由器的两个口就是"外网口和内网口"

  • WAN口:路由器的出口,连互联网或上级网络
  • LAN口:路由器的局域网接口,连你的电脑、手机和下级网络
  • WAN 口动态即可,LAN 口一般固定,作为子网网关

LAN口一般固定

  1. LAN 口 是路由器提供给内网设备的接口,也就是子网网关。

  2. 固定 IP 的原因

    • LAN 口的 IP 是子网内设备访问路由器的地址(网关地址)
    • DHCP 服务器、静态路由、端口映射、子网管理都依赖这个固定网关

    3.举例

    子网 IP 段:192.168.2.0/24
    路由器 LAN口:192.168.2.1 ← 网关
    内网设备:192.168.2.100~150 ← 默认网关指向 192.168.2.1

  • 如果 LAN 口 IP 改变,子网设备无法访问网关,整个子网通信会出问题
相关推荐
博语小屋2 小时前
TCP:协议、序列化与反序列化、JSON 数据和jsoncpp
linux·网络·网络协议·tcp/ip·json
阿里嘎多学长2 小时前
2025-12-28 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Roye_ack2 小时前
【微服务 Day2】SpringCloud实战开发(微服务拆分步骤 + Nacos注册中心 + OpenFeign + 微服务拆分作业)
java·spring cloud·微服务·nacos·openfeign
wniuniu_2 小时前
blob是啥
java·服务器·网络
.生产的驴2 小时前
DockerCompoe 部署注册中心Nacos 一键部署 单机+Mysql8
java·linux·运维·spring boot·缓存·docker·doc
zmzb01032 小时前
C++课后习题训练记录Day58
开发语言·c++
会员果汁2 小时前
算法-并查集-C
c语言·开发语言·算法
hgz07102 小时前
MyBatis插件(拦截器)
java·tomcat
熊猫钓鱼>_>2 小时前
基于Trae/Whisper/FFmpeg与Knowledge Graph MCP技术开发语音生成会议纪要智能应用
开发语言·人工智能·python·深度学习·ffmpeg·whisper·trae