如何在我的前缀下从不同的地址发送 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)

当我通过 CLI 检查我的 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

谢谢!

答案1

假设您想要在一次性作业或短时间内使用不同的 IPv6 地址,则可以使用以下命令简单地添加(或更改)IP 地址,ip例如:

ip addr add 2607:a:b:c:1::55 dev eth0 valid_lft 120 preferred_lft 120

在此示例中,您向接口 eth0 添加一个 IP 地址,其有效期仅为 2 分钟。

您还可以使用以下方式告诉 Curl 使用特定的接口/出站 IP 地址--interface选项。另请查看valid_lft&preferred_lft指令。

相关内容