首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker的NAT表输出链规则

问Docker的NAT表输出链规则
EN

Stack Overflow用户
提问于 2014-11-16 23:31:22
回答 1查看 9.8K关注 0票数 9

我正在努力理解iptable中的一条规则:

代码语言:javascript
复制
$ sudo iptables -t nat  --list -v
...

Chain OUTPUT (policy ACCEPT 618 packets, 31267 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER     all  --  any    any     anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

...

因此,这个规则试图匹配目标地址类型"LOCAL“,而不是在127.0.0.0/8的范围内?

那么匹配的地址是什么呢?这条规则的目的是什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 10:42:47

此规则将匹配来自本地计算机的所有数据包(因为它位于OUTPUT链中),这些数据包被发送到本地托管的IP地址,而该IP地址并不以127.X.X.X开头。这样的分组被移交给DOCKER链进行进一步的处理。

不以127.X.X.X开头的本地托管IP地址与机器接口中定义的每个IP地址匹配。这还包括动态定义的IP地址,例如通过DHCP分配的IP地址。

可以通过执行命令ip route show table local type local提取机器本地托管的IP地址。

为了检查哪个IP地址实际上与此规则匹配,可以将日志规则添加到DOCKER链的开头,如下所示:

代码语言:javascript
复制
sudo iptables -t nat -I DOCKER -m limit --limit 2/min -j LOG --log-level 4 --log-prefix 'DOCKER CHAIN '

匹配的数据包将记录在文件/var/log/syslog中。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26963362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档