Я пытаюсь выяснить, как использовать все адреса, которые у меня есть на моем VPS с префиксом /64 ipv6. Однако, когда я пытаюсь отправить сообщения, они всегда выходят через адрес, назначенный интерфейсу, я не могу понять, как заставить их выходить через определенный IP.
Вот мой вывод ifconfig для соответствующего интерфейса:
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 51.x.y.z netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::i:j:k:1c0 prefixlen 64 scopeid 0x20<link>
inet6 2607:a:b:c::55 prefixlen 64 scopeid 0x0<global>
ether fa:16:l:m:n:o txqueuelen 1000 (Ethernet)
Когда я проверяю свой IPv6 через CLI, я получаю следующее:
# curl icanhazip.com
2607:a:b:c::55
Если я правильно понимаю, 2607:a:b:c:1::55 также является IP-адресом из моего диапазона. Как мне отправить сообщение через этот IP-адрес? Тогда мой ожидаемый результат будет следующим:
# curl icanhazip.com
2607:a:b:c:1::55
Спасибо!
решение1
Если вы хотите использовать другой адрес IPv6 для одноразового задания или короткого периода, вы можете просто добавить (или изменить) IP-адрес с помощью команды, ip
например:
ip addr add 2607:a:b:c:1::55 dev eth0 valid_lft 120 preferred_lft 120
В этом примере вы добавляете IP-адрес к интерфейсу eth0 со временем жизни всего 2 минуты.
Вы также можете указать Curl использовать определенный интерфейс/исходящий IP-адрес с помощью--interface
вариант. Также посмотрите на директивы valid_lft
& preferred_lft
.