curl -4 -s https://ifconfig.co
curl -6 -s https://ifconfig.cocurl -s https://ipv4.icanhazip.com
curl -s https://ipv6.icanhazip.comФлаги работают, только если у сервиса есть обе записи. Если AAAA нет, -6
вернёт пустую строку — и непонятно, дело в сервисе или в вашей сети. Так молча
проваливаются api.ipify.org и ipinfo.io: у них только A. Отдельные хосты
(ipv4. / ipv6., v4. / v6.ident.me, api-ipv4. / api-ipv6.ip.sb/ip)
дают однозначный ответ — сервис физически доступен по одному семейству.
Зачем разделять: на dual-stack машине это два разных адреса, и геолокация у них не обязана совпадать. Реальный пример — VPS, у которого IPv4 определяется как Латвия, а IPv6 того же провайдера и той же автономной системы — как Болгария. Одинаковый ASN одинаковую страну не гарантирует, гео-базы ведут префиксы независимо.
Отсюда практическое следствие: если сервис ходит наружу по IPv6 (а на dual-stack многие клиенты предпочитают именно его), удалённая сторона видит не тот адрес и не ту страну, которые вы ожидаете, глядя на «IP сервера». Проверять надо то семейство, которым реально устанавливается соединение.
curl -4 -s https://ifconfig.co/json
curl -4 -s "http://ip-api.com/json?fields=countryCode,city,isp,as,query"Через прокси флаги значат не то
curl -6 -s -x http://proxy:3128 https://ifconfig.co # проверяет путь ДО прокси
curl -s -x http://proxy:3128 https://ipv6.icanhazip.com # проверяет выход проксиС -x флаг семейства управляет соединением «клиент → прокси». Каким протоколом
прокси пойдёт дальше, он не задаёт вовсе. Поэтому -6 через прокси может
упасть просто потому, что до самого прокси нет IPv6-маршрута — и это ничего не
говорит о его точке выхода.
Чтобы проверить именно выход, семейство задают именем цели: запрос на
ipv6.icanhazip.com через прокси удастся ровно тогда, когда прокси умеет
наружу по IPv6.