Addrtype
--match addrtype [options]
--match addrtype [options]
--match
可以简写为-m
。常用的options
有
[!] --src-type <type>
源地址类型,前面加
!
表示“源地址不是<type>
类型”[!] --dst-type <type>
目的地址类型,前面加
!
表示“目的地址不是<type>
类型”
type
的值有LOCAL
、MULTICAST
等
示例
源地址为
LOCAL
类型
目的地址为
LOCAL
类型
实际场景
场景一:kubernetes之nodeport
在k8s中,我们有时候会用NodePort
的方法对外暴露一个服务。也就是说我们可以通过主机的IP加端口来访问这个服务。这个IP有很多,命令ip addr
看到的都可以用。比如
那么我们可以在本机上通过127.0.0.1:port
、192.168.1.103:port
或172.17.0.1:port
来访问这个服务;在其他主机上可以通过192.168.1.103:port
来访问这个服务。
在访问IP:Port
时,由于最终要转换到Pod的IP与Pod的Port,也就是说,当从外面访问本机的包到达时,要先进入一条链判断是否做DNAT,而这条链就是KUBE-NODEPORTS
,当然目地地址不是本机就不需要进入KUBE-NODEPORTS
链了。所以k8s会在KUBE-SERVICES
链中加入这样一条规则:
这个LOCAL
就是上面ip addr
显示的IP地址的集合
我们可以查看这条规则:
场景二:calico
to be continued
Last updated