
Tengo direcciones IPv4 e ipv6 en mi tarjeta de red, cuando envío una solicitud con curl quiero que solo se use el IPv4 o IPv6 respectivo y no haya ningún respaldo, por ejemplo, cuando se realiza IPv6 a 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
Me gustaría recibir un error si el sitio solo acepta direcciones IPv4, como ocurre con la variante --interface.
El reenvío IPv4 está desactivado.
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
Aparentemente, de todos modos se produce un reenvío cuando lo envío con un puerto.
Respuesta1
Puede anular qué pila de protocolo IP se utiliza con las opciones -4
y -6
, que la restringen a IPv4 o IPv6 respectivamente. Considerar:
$ 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,,,