Как отправлять пакеты IPv6 с разных адресов под моим префиксом?

Как отправлять пакеты IPv6 с разных адресов под моим префиксом?

Я пытаюсь выяснить, как использовать все адреса, которые у меня есть на моем 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.

Связанный контент