我正在尝试为 kubernetes 设置网络策略,以及更一般的问题,我可以在这里找到。
出于这个特定问题的目的,这是我在 nginx 日志中得到的行:
10.244.0.0 - - [18/Mar/2020:19:47:16 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.69.1-DEV" "192.168.80.88"
注意$remote_addr
nginx 看到的,它是10.244.0.0
. 但这不是一个真实的IP地址!
我读了这个问题,看起来,有时这样的地址可能是有效的,但这不是标准的。
对于这个问题,管理的 CNI 插件10.244.0.0/16
是Calico。
对于它的价值,如果我尝试在NetworkPolicy 对象 10.244.0.0/32
中列入白名单,则上述请求将停止通过,这再次向我确认这不是真正的 IP。但是,如果我将他们列入白名单10.244.0.0/16
,他们就没有问题。
是什么让 nginx 认为请求来自这个 xy0.0 地址?我如何模仿它,用 curl 说?
10.244.0.0 是一个完全有效的 IP 地址 - 在任何前缀为 10.240.0.0/13 或更短的子网中,或在 10.244.0.0/31 点对点子网中。