我为我的一个pod添加了一个外部ip 1.1.1.1,可以从外部网络通过1.1.1.1:1234访问pod的udp端口1234,但我发现k8s对该请求执行了SNAT,并且在我的pod中,源ip是k8s的ip 10.244.0.1:1234。当我的pod向10.244.0.1:1234响应udp pkt时,k8s没有为我做DNAT,所以外部网络根本收不到响应。我的pod应该响应什么ip和端口?有什么想法吗?
发布于 2019-09-18 08:45:19
您不需要显式的DNAT规则,因为已经为SNAT规则创建了一个具有4元组( src ip、dst ip、src port、dst port)的连接跟踪表,用于标识响应数据包的连接。您是否使用相同的4元组发送多个udp请求,我确实记得udp有一个连接表争用条件。您可以从以下link中查看竞争条件的详细信息。
https://stackoverflow.com/questions/57966881
复制相似问题