web-dev-qa-db-ja.com

「デバイスエリアネットワーク」のプライベートアドレスの最良の選択

アプライアンス内でイーサネットで接続された複数のサブデバイスで構成されるアプライアンスを構築しています。アプライアンスはカスタマーネットワークに接続します。カスタマーネットワークはプライベートIPアドレスを使用できます。内部ネットワークとのアドレスの競合が問題になります(両方のネットワークに接続されているサブデバイスが混乱します)。 IPv6はオプションではありません。

IPv4アドレスを購入する必要がありますか?または、TEST-NET-3(203.0.113.0/24)などを使用して問題を解決できるでしょうか。ベストプラクティスは何ですか?

8
proski

@yoonixは、解決策があるかもしれないリンクを送信しました。

リンクローカル、APIPAとも呼ばれます。

169.254.0.0/16-これは「リンクローカル」ブロックです。RFC3927で説明されているように、単一リンク上のホスト間の通信に割り当てられます。ホストは、DHCPの場合など、自動構成によってこれらのアドレスを取得します。サーバーが見つかりません。

私があなたの顧客だったとしたら、これを自分で構成したり、DHCPを使用したりするオプションが欲しいと思います(つまり、私にはわかりませんが、おそらく長い間確立された標準ですか?)が、それら、これはまさにAPIPAが使用されることになっているものです。

編集-IPアドレスはゲートウェイデバイスのファイアウォールルールに対応するため、ソリューション内の個々のホストに対して静的である必要があると述べていることを考えると、リンクで機能させるには少し手間がかかると思いますローカルIPv4アドレッシング;あなたが費やさないとあなたが言う努力。したがって、基本的にhaveこれを構成可能にする必要があります。クライアントが使用する可能性が低いデフォルトで出荷することもできますが、競合が発生した場合に変更できるメカニズムが必要です。クライアントによって、または実装/ UATの一部としてあなたによって。

10
mfinni

構成可能にします。

IPv4アドレスを購入する必要がありますか?

ええそれを試してください。まず、あなたはそれらを購入せず、メンバーシップによってそれらを「リース」します。次に、これにはASと2つのアップリンクが必要です。第三に、これには理由が必要であり、「適切なネットワークインフラストラクチャを想定したくない」というのは、IPアドレスが割り当てられるのではなく、笑い(および拒否)をもたらす理由です。

または多分私はTEST-NET-3(203.0.113.0/24)を使用して逃げることができます

おそらく。ひどい過失のために誰かがoyuに物事を直す費用を尋ねる日まで。

ベストプラクティスは何ですか?

構成可能にします。または、IPV6を使用します-そこで、いくつかの予約で逃げることができます。

5
TomTom
  1. ウィキペディアから:Assigned as "TEST-NET-3" in RFC 5737 for use solely in documentation and example source code and should not be used publicly.-これは、TEST-NET-3を使用すべきではないことを示しています。

  2. 見落としているように見えることの1つ:デバイスのIPアドレスを構成しない場合、デバイスと通信できるようになる、またはデバイスが他のデバイスと通信できるようになる、またはその逆になるとどのように想定しますか。クライアントネットワークの場合?クライアントネットワークで使用されていないネットワークにIPアドレスを割り当てる場合(あなた:192.168.1.0/24-それら:10.0.0.0/8)、ネットワーク通信が機能するとどのように想定しますか?これが、DHCPを使用するようにデバイスを構成し、クライアントが後で静的に構成できるようにする必要がある理由です。

DHCPを使用できない場合は、APIPAを使用してください。

5
joeqwerty

理論的には、任意のプライベートIP範囲が任意のプライベートネットワークで使用されている可能性があるため、アドレスをハードコーディングしている場合に、ベストプラクティス、または普遍的に適用できるものが見つかるとは思えません。ベストプラクティスは、構成可能にし、クライアントネットワークがデバイスにプライベートアドレスを割り当てられるようにすることです(たとえば、DHCPを介して)。

それが不可能な場合は、172.16.0.0/12の上半分を使用する人はほとんどいないので、それを使用します。 (正確には、172.25.0.0/16で実行していると思います。)アドレスの衝突はまだ発生しておらず、多くのプライベートネットワークにVPN接続しています。

IPv4プライベートアドレスを使用する必要がある場合は、10.0.0.0/8ブロックが広く使用され、192.168.0.0/16ブロックがほとんどすべてのデフォルトであるため、これが最善の方法だと思います。残っているのは172.16.0.0/12だけです。もちろん、このブロックは、他のプライベートネットワークブロックが広く使用されているため、アドレスの衝突を回避するためにVPNによく使用されます。したがって、(私の経験では)上位アドレスはそのブロックで最も使用されていないサブネットであるため、上位アドレスを使用します。 。

4
HopelessN00b

私たちはまったく同じものを設計しており、ランダムなfc00:nnnnプレフィックスが付いたIPv6サイトのローカルアドレスを使用することにしました。

2
Michael

これらのサブデバイスのいずれもアプライアンスの外部で直接接続する必要がないと仮定すると、これにはループバックネットワーク(127.0.0.0/8)を使用する必要があります。

RFC 5735 /セクション

ウィキペディアのループバック

1
yoonix

「メインコントローラー」はDHCPサーバーを実行し、「内部」インターフェイスでDHCPリースを提供できますか?

私は過去に、私たちの会社の商用製品の1つに役立つかもしれない何かをしたことがあります。デバイスには2つのイーサネットポートがあり、そのうちの1つはPCからの「直接」接続用でした。問題は同様でした。私たちは、顧客の内部LAN(おそらくプライベートIPネットワーク上)や世界全体とのIPアドレスの競合を回避したいと考えていました。

このデバイスのロジックは、「パブリック」LANポート(eth0)での独自のIP構成に基づいて、「ダイレクト」LANポート(eth1)でDHCPサーバー(「udhcpc」、コマンドラインオプションを使用)を動的に構成することでした。デバイスがDHCPまたは静的設定を介して独自のIPアドレスを取得したかどうかに関係なく、設定を適用したモジュールは、競合を回避するためにDHCPサーバー構成も変更します。

たとえば、デバイスがアドレス192.168.0.100/netmask 255.255.255.0(eth0上)を取得した場合、次に使用可能なネットワーク192.168.1.0/255.255.255.0用に独自のDHCPサーバー(eth1上)を構成します。

これらのネットワークの1つから(優先順位で)選択します:192.168.0.0/24 ... 192.168.254.0/24 172.16.0.0/16 ... 172.31.0.0/16 10.0.0.0/8

お役に立てれば。

1
user1722483