如何禁用Pod的源端口转换

时间:2019-06-21 13:33:24

标签: kubernetes

说明

我在eks kubernetes(v1.11)中有一个吊舱。我想从特定的源端口(例如:42000)将UDP数据包从此pod发送到群集之外的计算机。 Kubernetes转换数据包的源端口。有什么方法可以禁用此功能(仅适用于给定的pod)?

更多信息

kubernetes创建的

iptable规则:

Chain KUBE-POSTROUTING (1 references)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere             /* kubernetes service traffic requiring SNAT */ mark match 0x4000/0x4000

使用netcat从此pod发送数据包(pod位于具有公共ip 2.3.4.5的节点上):

netcat -u -p 42000 1.2.3.4 31007

在另一台计算机上接收数据包(1.2.3.4):

netcat -v -u -l -p 31007
connect to 10.100.0.1 from ec2-2-3-4-5.eu-west-1.compute.amazonaws.com [2.3.4.5] 41639

删除iptables规则后,接收端显示:

netcat -v -u -l -p 31007
connect to 10.100.0.1 from ec2-2-3-4-5.eu-west-1.compute.amazonaws.com [2.3.4.5] 42000

因此很明显,此规则更改了udp数据包的源端口。

0 个答案:

没有答案