Я пытаюсь выяснить, как использовать все адреса, которые у меня есть на моем 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 через интерфейс командной строки, я ясно получаю:
# 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
Спасибо!
Предполагая, что вы хотите использовать другой IPv6-адрес для одноразового задания или короткого периода, вы можете просто добавить (или изменить) IP-адрес с помощью команды ip
, например:
ip addr add 2607:a:b:c:1::55 dev eth0 valid_lft 120 preferred_lft 120
In В этом примере вы добавляете IP-адрес к интерфейсу eth0 со временем жизни всего 2 минуты.
Вы также можете указать Curl использовать определенный интерфейс / исходящий IP-адрес, используя параметр - interface
.
Также ознакомьтесь с директивами valid_lft
и preferred_lft
.