web-dev-qa-db-ja.com

Linuxイーサネット/ワイヤレスブリッジ

私が取り組んでいる製品の新しい要件の1つは、イーサネットからワイヤレスへのブリッジングをサポートすることです。 eth0とath0の2つのネットワークインターフェイスがあるとします(Madwifiドライバーを使用しています)。 eth0に接続されたコンピューターがワイヤレスネットワークにアクセスできるようにするには、どのようなオプションが必要ですか?

私が最初に試したのはbrctlユーティリティでした。これはまさに私が望んでいることのようでした。そして、有線ネットワークではそうです。しかし、ワイヤレスネットワークでは、それは完全には機能しませんでした。一部のWiresharkingは、ブリッジされたパケットの送信元MACが(正しく)ブリッジの背後にあるコンピューターに設定されていることを明らかにしました。ただし、APは、そのMACアソシエートを見たことがないため、パケットをドロップします。 WDSパケットを有効にした場合(iwpriv ath0 wds 1)、パケットは送信機と受信機のアドレスで送信されますが、APによって許可されていないようです(非常に古く、変更できません)。すべてのAPがWDSを受け入れる必要はありませんよね?

したがって、何らかのイーサネットNATなどを行う必要があるのではないかと思います。しかし、それがどのように機能するのかわかりません-1つのMACアドレスをn台のコンピューター間で共有するにはどうすればよいですか? ebtablesのレベルが低すぎるようです。出入りの途中でMACアドレスを書き換えるだけで、ブリッジコンピュータがネットワークを使用できなくなります。さらに、着信パケットの最終的な宛先をどのようにして知ることができますか?少なくとも、IP層とTCP/UDP層からの詳細が必要です。

3
user35428

そうです、ブリッジングはWi-Fiでは機能しません。最も簡単な解決策は、ルーティングを使用することです。ブリッジのように感じる「透過ルーター」をセットアップできますが、実際にはisパケットをルーティングします。このために、一方のネットワークをもう一方のサブセットにします。

たとえば、有線LANが192.168.183.0/24の場合、無線LANに192.168.183.192/26を使用させることができます。

'proxyarp'をオンにする必要がある場合もあります。起動スクリプトにecho 1 > /proc/sys/net/ipv4/conf/all/proxy_arpを追加するだけです。

2
Javier

このような構成は、2つのネットワークインターフェイスをブリッジする場合に完全に機能します

# The primary network interface
allow-hotplug eth0

iface eth0 inet static
        address 192.168.0.10
        network 192.160.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 212.27.39.2
        dns-search home
        auto eth0

iface wlan0 inet static
        address 192.168.0.9
        network 192.160.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 212.27.39.2
        dns-search home
        wireless_keymode open
        wireless_mode managed
        wireless_nick srvolivier
        wireless-essid SMC2870
        wireless-key wepkey
        auto wlan0

iface br0 inet static
        address 192.168.0.8
        network 192.160.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 212.27.39.2
        dns-search home
        bridge_ports eth0 wlan0
        auto br0
1

これが私たちが取り組んでいることです(それが役立つことを願っています):

ネットワーク1 ---ワイヤレス(WDSブリッジ))))(((ワイヤレス(WDSブリッジ)---ネットワーク2

Network1とNetwork2は共通のIPアドレス空間(192.168.1.0/24)を利用しています。これは魅力のように機能します。

0
moo

「通常の」デスクトップディストリビューションではわかりませんが、netgearルーターのdd-wrtでは、ワイヤレス(仮想)インターフェイスをehternetおよびvlanインターフェイスと簡単にブリッジできます。お気に入り

brctl addif br0 wl0.1
brctl addif br0 vlan1
brctl addif br1 wl0.2
brctl addif br1 eth0

したがって、ワイヤレス「WAN」をWAN ethポートにブリッジし、ワイヤレス「LAN」を4ポートスイッチ(eth0)にブリッジします。

0
Mr Shunz

ブリッジの背後にあるPCのMACを学習し、必要に応じてsrc/dst MACを書き換えるために、一方を読み取ってもう一方に送信するリピータープログラムを作成しましたが、これは予期せぬ結果を招きます。

0
user35428