Set
--match set [options]
--match set [options]
--match
可以简写为-m
。常用的options
[!] --match-set <set> src
源地址在
<set>
中,前面加!
表示“源地址不在<set>
中”[!] --match-set <set> dst
目的地址在
<set>
中,前面加!
表示“目的地址不在<set>
中”
<set>
的值可以通过命令ipset list <set>
查看
示例
在k8s集群中,我们有时希望Pod能够访问外网,而Pod本身的IP又是一个内部IP,此时我们就需要做SNAT。但是,我们又想Pod访问Pod时,不做SNAT。假设Pod的地址段为172.26.0.0/16
。那么我们可以如下进行手动设置
首先创建一个名字为pod-cidr
、类型为hash:net
的set
然后添加172.26.0.0/16
这个net
到pod-cidr
中
查看pod-cidr
的详情,发现已经添加了一个条目
接下来我们在POSTROUTING
中添加一条规则,使Pod到外网的包要做SNAT、Pod到Pod的包不做SNAT
查看刚刚添加的规则
Reference
Last updated