Vxlan && 四表五链

我来为您详细介绍VXLAN和四表五链这两个重要的网络技术概念。

VXLAN (Virtual eXtensible Local Area Network)

基本概念

VXLAN是一种网络虚拟化技术,用于解决传统VLAN的4094个网络标识限制,并实现跨三层网络的二层网络扩展。

核心特点

  • 扩展性强:支持1600万个虚拟网络(24位VNI)
  • 跨三层传输:可以在IP网络上传输二层帧
  • 隧道技术:使用UDP封装实现Overlay网络

报文封装结构

1
原始以太网帧 + VXLAN头部 + UDP头部 + IP头部 + 外层以太网帧

主要组件

  • VTEP (VXLAN Tunnel End Point):隧道端点
  • VNI (VXLAN Network Identifier):网络标识符
  • Underlay网络:底层IP网络
  • Overlay网络:虚拟网络

应用场景

  • 数据中心网络虚拟化
  • 云计算环境租户隔离
  • 跨数据中心的二层网络互联

四表五链

四表

  1. raw表:用于数据包的早期处理,连接跟踪前的处理
  2. mangle表:用于修改数据包的特定部分(TTL、TOS等)
  3. nat表:用于网络地址转换
  4. filter表:用于数据包过滤(最常用)

五链

  1. PREROUTING:数据包刚到达时
  2. INPUT:数据包发往本机时
  3. FORWARD:数据包转发时
  4. OUTPUT:本机发出的数据包
  5. POSTROUTING:数据包即将离开时

数据流向

1
2
3
入站数据包:PREROUTING → INPUT
转发数据包:PREROUTING → FORWARD → POSTROUTING
出站数据包:OUTPUT → POSTROUTING

表链关系

  • raw表:PREROUTING、OUTPUT
  • mangle表:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING
  • nat表:PREROUTING、OUTPUT、POSTROUTING
  • filter表:INPUT、FORWARD、OUTPUT

实际应用

1
2
3
4
5
# 示例:配置NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# 示例:允许SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

这两个技术在现代网络架构中都扮演着重要角色,VXLAN主要用于网络虚拟化,而四表五链则是Linux系统中网络流量控制的核心机制。