私が作業しているプロジェクト(Linuxベース)には、ネットワークに接続したり他のシステムに直接接続したりするときにmDNSを介してアクセスできるIPv6専用ネットワークインターフェイスが必要です。このインターフェイスはいくつかのWebサービスを提供し、SSHにも使用できます。 Avahiが提供したホスト名を使用して別のコンピュータに直接接続する際に問題があります。
いくつかの調査を行った結果、リンクローカルアドレスだけを設定するインターフェイスが原因で問題が発生したようです。 IPv6アドレスとインターフェイスをアドレス%インターフェイスとして指定して、デバイスにSSHで接続できます。
私の質問は、ルータに接続したときに自動的に設定し、直接接続したときに非リンクローカルアドレスを設定するようにIPv6インターフェイスを設定する方法です。それとも、設定を有効にせずにネットワークまたは直接接続をサポートする基本的な方法はありますか?
答え1
address%interface
リンクローカルアドレスはIPv6で正常に指定され、期待されます。これは、リンクローカルIPv6アドレスが機能する方法です。
IPv6の一般的なアプローチは次のとおりです。ルーター使用するネットワークアドレスとプレフィックス、使用するアドレスの自動設定方法(DHCPv6および/またはSLAAC)に関する情報を含むIPv6ルーター広告を送信します。
Non-link-local prefixが/ 64以上でルータ広告の情報がSLAACを使用できるようにする場合、クライアントはホストアドレス部分(またはEUIによるNICベースのMACアドレス)を自動的に選択できます。 64 / RFC 4291(RFC安定個人アドレス3972および7217に準拠)またはRFC 4941に準拠した一時アドレス。
直接接続でリンクローカル以外のアドレスが必要な場合は、ULAアドレス(つまり範囲内のアドレスfc00::/7
)を使用する必要があります。これはRFC 1918アドレスとIPv6に対応します。 IPv6では、インターフェイスに複数のIPv6アドレスが割り当てられることが一般的であるため、自動検出が通常どおりに機能し、直接接続用に常にULAアドレスをネットワークインターフェイスに追加するようにシステムを設定できます。検出されたアドレス。