/64 ipv6 プレフィックスを持つ VPS 上のすべてのアドレスを活用する方法を考えています。しかし、メッセージを送信しようとすると、メッセージは常にインターフェースに割り当てられたアドレスから送信され、特定の 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
1 回限りのジョブまたは短期間に別の IPv6 アドレスを使用する場合は、次のip
コマンドを使用して IP アドレスを追加 (または変更) するだけです。
ip addr add 2607:a:b:c:1::55 dev eth0 valid_lft 120 preferred_lft 120
この例では、有効期間が 2 分だけの IP アドレスを eth0 インターフェイスに追加します。
また、Curlに特定のインターフェース/送信IPアドレスを使用するように指示することもできます。--interface
valid_lft
オプション。 &ディレクティブも確認してくださいpreferred_lft
。