同じネットワークで2つのDHCPサーバーを実行する


9

ラズベリーpiをワイヤレスアクセスポイントに接続し、RPiでDHCPサーバーを実行して、IPとゲートウェイを正しく割り当てたいと考えています。これは、RPiがVPNへのゲートウェイとして機能するためです。残念ながら、アクセスポイントはDHCPサーバーも実行していますが、これは何らかの理由で非アクティブ化できません。RPiスプレッドからすべてのwifiユーザーに正しい設定を自動的に取得する最良の方法は何ですか?

回答:


13

楽しい質問。基本的に、同じLANに2つのDHCPサーバーがある場合、アドレスを振り分けるための競争が発生し、誰が勝つか確信が持てません。ラズベリーによって提供されるアドレス、APによって提供されるアドレス、および切断された単一のデバイスは、以前と同じアドレスを再取得しません。または、さらに悪いことに、同じアドレスを持つ2つのデバイスがある可能性があります。

したがって、2つのうちの1つをブロックすることをお勧めします。最も簡単な方法は次のとおりです。

  1. 最初に、それらがアドレスを描画する範囲が重複しないことを確認します。一方には192.168.1.11-74、もう一方には192.168.1.139-202がある場合があります。少なくとも、これは衝突を防ぎます。

  2. APが有線クライアントにIPアドレスを提供するのを防ぎます。APがeth1のラズベリーに接続されているとすると、次のコマンドで実行できます。

    sudo iptables  -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
    sudo iptables  -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP  
    

終わりました。2つのコメント:

DHCPはプロトコルUDPでポート67と68を使用します。これらの通信をブロックすることで、有線クライアントからのDHCP要求がAPのDHCPサーバーに到達するのを防ぎます。したがって、有線クライアントはラズベリーによってのみ提供されます。

次に、APをラズベリーに直接接続する必要あります(ラズベリーにはすでに使用されているイーサネットポートが1つしかないことがわかっています。USB-to-Ethernetアダプターを購入すると、ラズベリーに2つ目のイーサネットカードが装着されます)。その理由は、APをスイッチに接続した場合、DHCP要求と応答は、ラズベリーを経由せずにAPから届く/届くため、iptablesコマンドが役に立たなくなるためです。

編集:

上記のiptablesルールはdhcpリクエストがAPからラズベリーに流れるのを防ぐことを忘れていたので、現在の状況では、範囲192.168.1.0xxのDHCPアドレスがラズベリーによって有線クライアントに与えられている一方で、 192.168.1.1xxの範囲のアドレスは、APによってwifiクライアントに提供されます。少なくとも、これは整然としている。


ありがとう!しかし、これはwifi経由でAPに接続されているクライアントに関して何もできないことを意味しますよね?
ボナンザ2014

2
@bonanza Afraid so:ワイヤレスクライアントからApへのすべてのトラフィックは、要求も応答も、ラズベリーを通過することはありません。したがって、それをブロックする方法はありません。すべてがAP内で行われます。
MariusMatutiae 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.