--network=host 如何生成与无根网络不同的 HTTP 请求?

--network=host 如何生成与无根网络不同的 HTTP 请求?

我有两个命令,其中之一是

# RESOLVES TO IPV6
podman run --network=host ...

其中之一,

# RESOLVES TO IPV4
podman run --network=slirp4netns ...

有没有办法确保这两个解析到同一个地址?由于某种原因,ipv6 分辨率未列入黑名单,ipv4 分辨率已列入黑名单。

wget -4如果我指定和,就可以确认这一点wget -6。我发现这两个-6请求都可以工作并返回响应;返回-4HTTP 403 Forbidden——它已被列入黑名单。这告诉我这主要是解析器问题,但是如果我运行,

podman run -ti --network=slirp4netns alpine:3 nslookup rr4.sn-q4flrnsk.googlevideo.com.
podman run -ti --network=host alpine:3 nslookup rr4.sn-q4flrnsk.googlevideo.com.

返回的非权威答案都是一样的。

Non-authoritative answer:
Name:   rr4.sn-q4flrnsk.googlevideo.com
Address: 2607:f8b0:4000:4::9

Non-authoritative answer:
Name:   rr4.sn-q4flrnsk.googlevideo.com
Address: 173.194.24.137

但如果我跑的话

podman run -ti --network=slirp4netns alpine:3 ping -w1 rr4.sn-q4flrnsk.googlevideo.com.
podman run -ti --network=host alpine:3 ping -w1 rr4.sn-q4flrnsk.googlevideo.com.

我可以再次看到 slirp4netns 选择 ipv4 而主机选择 ipv6,

$ podman run -ti --network=slirp4netns alpine:3 ping -w1 rr4.sn-q4flrnsk.googlevideo.com.

PING rr4.sn-q4flrnsk.googlevideo.com. (173.194.24.137): 56 data bytes

$ podman run -ti --network=host alpine:3 ping -w1 rr4.sn-q4flrnsk.googlevideo.com.

PING rr4.sn-q4flrnsk.googlevideo.com. (2607:f8b0:4000:4::9): 56 data bytes

帮助这对我来说有意义,为什么--network=host默认解析为 ipv6 而不是--network=slirp4netns

相关内容