Назад | Перейти на главную страницу

Как отправлять пакеты 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

Спасибо!

Предполагая, что вы хотите использовать другой 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 директивы.