linux
  • Introduction
  • Yum
    • 基础yum源的配置
    • 为yum源配置代理
    • Centos指定版本的yum源
    • 环境变量
    • 本地yum源
    • 制作yum源
      • 同步yum源
    • epel源
  • Iptables
    • 基本匹配条件
    • Match-Extensions
      • Addrtype
      • Set
      • TCP
    • Target-Extensions
      • DNAT
      • LOG
    • Iptables规则持久化
    • 连接追踪
  • LVS
    • Ipvsadm命令
  • 磁盘与分区
    • 创建分区
    • 格式化与挂载
    • fstab
    • LVM
      • LVM扩容
    • swap分区
    • tmpfs
  • 网络相关
    • 重命名网卡
    • resolv.conf
    • Tcpdump
    • dig与nslookup
  • Other
    • CPU与内存
    • 进程
      • 僵尸进程
    • SSH密钥登录
    • 用户管理
    • Crontab
  • Nofile
    • 原理
  • 常用软件安装篇
    • MYSQL
    • 系统与内核
      • 指定内核启动
    • NFS
    • Haproxy
    • Keepalived
    • Squid
    • Redsocks
    • Shadowsocks
    • 时钟同步
  • 内存
Powered by GitBook
On this page
  • 实验过程
  • Reference

Was this helpful?

Iptables

本文将介绍iptables的四表五链,以及入站、出站和转发所走的链

(待补充一张图,参考Reference中两个链接,会有修改)

实验过程

通过ip addr命令我们可以看到,本机上有三个IP地址127.0.0.1、192.168.1.103、172.17.0.1

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e8:b0:38 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.103/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::4876:bfe:de57:eb31/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:9d:c9:79:d8 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
4: cali3d40082289d@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP 
    link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::ecee:eeff:feee:eeee/64 scope link 
       valid_lft forever preferred_lft forever

查看路由表如下:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.2     0.0.0.0         UG    100    0        0 ens33
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.26.0.0      0.0.0.0         255.255.255.0   U     0      0        0 *
172.26.0.19     0.0.0.0         255.255.255.255 UH    0      0        0 cali3d40082289d
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens33
  • 本机 to 127.0.0.1

本机 ping 127.0.0.1,源地址是127.0.0.1,依次经过

上层协议栈 -> 路由 -> OUTPUT -> 路由 -> POSTROUTING -> lo -> INPUT -> 上层协议栈
  • 本机 to 192.168.1.103

本机 ping 192.168.1.103,源地址是192.168.1.103,依次经过

上层协议栈 -> 路由 -> OUTPUT -> 路由 -> POSTROUTING -> ens33-> INPUT -> 上层协议栈
  • 本机 to 172.17.0.1

本机 ping 172.17.0.1,源地址是172.17.0.1,依次经过

上层协议栈 -> 路由 -> OUTPUT -> 路由 -> POSTROUTING -> docker0 -> INPUT -> 上层协议栈
  • 本机 to 远程

从本机 ping 192.168.1.102,源IP是192.168.1.103,依次经过

上层协议栈 -> 路由 -> OUTPUT -> 路由 -> POSTROUTING -> ens33
  • 本机 to 本机上的Pod

本机 ping 172.26.0.19,源IP是192.168.1.103,依次经过

上层协议栈 -> 路由 -> OUTPUT -> 路由 -> POSTROUTING -> cali3d40082289d

to be continued

Reference

Previousepel源Next基本匹配条件

Last updated 5 years ago

Was this helpful?

http://www.zsythink.net/archives/1199
https://www.frozentux.net/iptables-tutorial/chunkyhtml/c962.html