如何禁用从 IPv6 到 IPv4 的 IP 转发

如何禁用从 IPv6 到 IPv4 的 IP 转发

我的网卡上有 IPv4 和 IPv6 地址,当我使用 curl 发送请求时,我只希望使用相应的 IPv4 或 IPv6,并且没有后备,例如当 IPv6 到 IPv4 发生时。

curl --interface XXXX: c020: XXXX: e601: XXXX: 596c: XXXX: db97 http://ip4only.me/api/

curl: (45) bind failed with error 22: Invalid argument

curl -x http: // [2603: XXXX: 8003: e601: XXXX: 596c: XXXX: db97]: 8080 http://ip4only.me/api/

IPv4,130.XX.XXX.81

如果站点仅接受 IPv4 地址,我会收到错误,就像 --interface 变体一样。

IPv4 转发已关闭。

ubuntu @ app-1: ~ $ sudo grep -r ip_forward / etc
/etc/ufw/sysctl.conf:#net/ipv4/ip_forward=1
/etc/sysctl.conf:#net.ipv4.ip_forward=1

显然,当我通过端口发送它时,无论如何都会发生转发。

答案1

-4您可以使用和选项覆盖所使用的 IP 协议栈-6,分别将其限制为 IPv4 或 IPv6。请考虑:

$ curl -6 http://ip4only.me/api/
curl: (6) Could not resolve host: ip4only.me

$ curl -4 http://ip4only.me/api/
IPv4,198.51.100.84,Remaining fields reserved for future use,,,

相关内容