Linux网络命名空间

Linux网络命名空间

简介

  • Linux network namespace是Linux上容器技术的基础之一;

  • network namespace 实现单个节点上了网络的隔离

虚拟网络

  • namespace

  • veth pair

  • 网桥(bridge)

  • tun/tap

iptables

  • iptables通过设置规则,通知内核netfilter实现;

  • netfilter是linux内核实现的网络包过滤框架,定义了5个hook点:

    • prerouting

    • postrouting

    • forward

    • input

    • output

  • 用户态可以通过iptables来为每个网络设备在这5个hook中设置处理规则,实现相应的功能;

  • iptables支持的表类型有RAW, MANGLE, NAT, FILTER,优先级依次降低;

  • 数据处理时,依次调用hook上的所有挂钩函数,直到数据包被明确拒绝或接收。

  • 操作
1
2
3
4
## 查看chain
$ iptables --list 
## 查看rules
$ iptables --list-rules

路由

  • route

tun/tap

参考

  1. https://zhuanlan.zhihu.com/p/133437144

  2. linux:iptables详解 - 简书

updatedupdated2024-08-252024-08-25