otm*_*otm 6 iptables nat docker
我试图了解iptables中的一个规则:
$ 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
...
Run Code Online (Sandbox Code Playgroud)
所以这个规则试图匹配目标地址类型"LOCAL"而不是127.0.0.0/8范围内?
它会匹配什么地址?这条规则的目的是什么?
谢谢!
Yoe*_*oel 10
此规则将匹配源自本地计算机的所有数据包(因为它位于OUTPUT链中),目标是本地托管的IP地址,该地址不以此开头127.X.X.X.这些分组被移交给DOCKER链以进行进一步处理.
本地托管的IP地址(不以头开头)与127.X.X.X为机器接口定义的每个IP地址相匹配.这包括动态定义的IP地址,例如通过DHCP分配的IP地址.
可以通过执行命令来提取机器的本地托管IP地址ip route show table local type local.
为了检查此规则实际匹配的IP地址,可以将日志记录规则添加到DOCKER链的开头,如下所示:
sudo iptables -t nat -I DOCKER -m limit --limit 2/min -j LOG --log-level 4 --log-prefix 'DOCKER CHAIN '
Run Code Online (Sandbox Code Playgroud)
匹配的数据包将记录在文件中/var/log/syslog.
| 归档时间: |
|
| 查看次数: |
6418 次 |
| 最近记录: |