因为docker在是通过这玩意管理网络的,做下笔记。
网上介绍有表的概念,但我没有找到。
输入命令
iptables -nvL
可以看到很多信息,特别是有docker的时候。找到关键字 “Chain”也就是链的意思(我理解就是一个组)
一般都换了一个行。
Chain下面就是规则,规则的模版都是一样,有这些列
pkts
对应规则匹配到的报文的个数
bytes
对应匹配到的报文包的大小总和
target 触发操作
意思是规则生效之后,进行怎样的处理。下面是对应的值的意思
ACCEPT:允许数据包通过。
DROP:直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间才会有反应。
REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。
SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题。
MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的ip上。
DNAT:目标地址转换。
REDIRECT:在本机做端口映射。
LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配。
prot
表示规则对应的协议,是否只针对某些协议应用此规则
opt
表示规则对应的选项
in
表示数据包由哪个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则
out
表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则
source
表示规则对应的源头地址,可以是一个IP,也可以是一个网段
destination
表示规则对应的目标地址。可以是一个IP,也可以是一个网段