web-dev-qa-db-ja.com

wlan0とeth0間のトラフィックを最も簡単に透過的にブリッジするにはどうすればよいですか?

私はRaspberry Piでこれを行うことを探していますが、どのオペレーティングシステムをインストールする必要があるかは気にしないので、Pidora(Fedora 20 Remix)、Raspbian(Debian)またはアーチは私が欲しいものです。

私は、保護されたワイヤレスネットワークを介してインターネットアクセスが提供されている大学の建物に住んでいます。このワイヤレスネットワークはWPA2-Enterprise PEAPを使用して承認されており、ユーザー名、パスワード、認証証明書を提供する必要があります。大学では、このネットワーク用にLinuxマシンを自動的に構成するスクリプトを提供しています。このスクリプトは、wpa_supplicantまたはnetwork-managerのどちらでも問題なく機能します。両方試してみました。

私はたくさんのマシン(LinuxとWindowsの混合物)を持っており、それらはすべて自分のプライベートワイヤレスルーターを介して相互に通信します。このルーターには、インターネット接続に接続するためのWAN=ポートがあり、その接続をワイヤレスネットワーク上のすべてのマシンと共有します。

私の目的は、Raspberry Piを大学の保護されたワイヤレスネットワークに接続してから、プライベートワイヤレスルーターのWANポートにインターネット接続を提供することです。RaspberryPiを使用することにしたのは、これは、私の大学の保護されたワイヤレスネットワークに接続できる、アクセスが最も低いオーバーヘッドデバイスです。

私のプライベートワイヤレスネットワークでRaspberry Piを見ることができる必要はありません(できれば問題はありませんが、可能な限り最も簡単な構成が必要です)。必要なのは、Raspberry Piが大学のワイヤレスネットワークへの認証を処理し、eth0とwlan0の間でデータを透過的に渡すことだけです。イーサネットケーブルを使用してRaspberryPiに接続されているデバイスにとって、RaspberryPiは単純なインターネットゲートウェイのように見えるはずです。

要約すると、私は探しています、

(WPA2 PEAPを使用した大学Wi-Fi)->(RPi wlan0)---(RPi eth0)->(プライベートルーター上のWAN)

Debianでbridge-utilsを使用してみましたが、これは常にRaspberryPiのワイヤレス接続をノックアウトしているようです。

Iptablesとebtablesの使用についても読んだことがありますが、まだ、そこで何をするつもりなのかよくわかりません。インターネットで見つけた構成のいくつかは、互いに矛盾しているようです。

接続するたびに、大学のワイヤレスネットワークがwlan0のRaspberry Piに動的にIPアドレスを割り当てることを付け加えておきます。私のプライベートルーターは、すべてのマシンの動的IPアドレス割り当てを処理します。

誰かが私が求めているセットアップを達成するためのいくつかの簡単で明確な指示を概説することができれば、私はとても感謝しています。もちろん、これを実行するために必要なことをすべて読んで学びますが、ソリューションをできるだけシンプルで簡単に再現できるようにしたいと思っています。設定したいデバイスはRaspberryPiだけです。

私のWindowsラップトップのイーサネットポートを介して大学のワイヤレスネットワークを共有するのは非常に簡単なので、私がやろうとしていることが可能になるはずです。

よろしくお願いします!

6
snoopy91

これは可能な限り簡単です。ブリッジングは必要ありません。 RPiでローカルネットワークをマスカレードするだけです。

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

トラフィックの転送を有効にします。

echo 1 > /proc/sys/net/ipv4/ip_forward

RPiは目に見えないバンプオンザワイヤーとしては機能しませんが、RPiのeth0のIPアドレスをゲートウェイとして使用するプライベートルーターとの間にネットワーク設定が必要になります。

したがって、次のようになります。

(RPi wlan0) -- MASQUERADE -- (RPi eth0;192.168.99.254/24) → (WAN on Private Router,192.168.99.1/24)

乾杯、

5
Scyld de Fraud