UbuntuでWifiをイーサネットにブリッジングできない


22

Windowsを実行しているときに、ラップトップのイーサネット接続を介してwifi接続をブリッジすることができたので、イーサネットのみのデバイスの範囲がwifi(Raspberry Pi、Xboxなど)に便乗できるようになりました。私は現在、Ubuntu内で同じことをしようとしています。つまり、セットアップは次のようになります。

ワイヤレスルーター--->ラップトップ上のWifi --->イーサネットへのブリッジ--->イーサネットポートに接続されたインターネットを必要とするデバイス

今、私はこれをUbuntuでbrctlを使用して動作させようとしています

以下のコマンドを使用しました:

sudo brctl addif br0 eth0 wlan0

そして、次のエラーを取得します。

can't add wlan0 to bridge br0: Operation not supported

私は、WindowsでできることをLinuxでは非常に簡単にできないと信じることを拒否し、誰かが助けてくれることを望んでいます。

さらに情報が必要な場合はお知らせください。ありがとう


非常に同様の問題が[に扱わaskubuntu.com/questions/155041/...
Legionair

回答:


10

これはできません。WiFiクライアント接続をブリッジすることはできません。可能であれば、WDSは必要ありません。ただ橋渡しするだけです。

問題は非常に単純です-アクセスポイントは、その送信を許可しない限り、WiFi仕様でWiFiネットワークを介したトラフィックのブロードキャストを禁止されています。これは、Wi-Fiネットワークが非常に遅く、セキュリティがあったとしても貧弱だった時代の遺物です。

ブリッジには、アクセスポイントへのクライアント接続のみがあります。これは、ブリッジに向けられたトラフィックを送信するアクセスポイントのみを承認します。ブリッジに接続されているマシンはアクセスポイントのクライアントではないため、アクセスポイントは、WiFiリンクを介してトラフィックを送信する理由がありません。したがって、そうはしません。

残念ながら、WiFiはイーサネットのように十分であるため、イーサネットのように動作することは容易に予想できます。しかし、それはあなたを噛むのに十分異なるだけです。

WDS設定は、アクセスポイントがクライアントにバインドされていないトラフィックを送信するための特定の承認です。両端がWDSをサポートする場合、ブリッジエンドポイントのアドレスと宛先のアドレスが含まれ、アクセスポイントがトラフィックを送信することを許可します。

これを行うには、ブリッジング以外の何かを使用する必要があります。たとえば、NATを使用したルーティング。WiFiリンクの両端でサポートされている場合は、4アドレスモードも使用できます。


3
あなたはとMACアドレスを再書き込みすることにより、この問題を解決することができebtablesの
ccarton

私はここで一人がubuntuでできると言っていることに気づきました。そして、私は窓でも同じようなことをしました。あなたはそれは不可能だと言っていますが、おそらくあなたはそれとこれの違いを説明できます。Windowsでこれを行うと、youtube.com / watch? v = 96Z1_6rX5qU WiFiがインターネットに接続されます。イーサネットコネクタにケーブルがありません。イーサネットコネクタに別のコンプのケーブルがありません。そして、WiFiアダプターを選択し、イーサネットアダプタ、それは彼らの橋渡しを、nは、別のコンピュータが中にそのケーブルを接続し、ノートパソコンはまだ私は(とないアクセスポイント)だと思うのWiFiクライアントのインターネット接続を使用することができます
barlop

1
@DavidSchwartzインターネットにアクセスするためのワイヤレスとネットワークスイッチが接続されていないラップトップを持っている人が、別のラップトップにワイヤレスインターネットアクセスがあり、予備のワイヤレスUSBスティックがない場合。そして、唯一の解決策は、架空の架け橋であるようです。両方のラップトップに正常なワイヤレスネットワークアダプターがあれば、両方ともメインワイヤレスアクセスポイントに接続するだけで、追加のアクセスポイントやWDSは必要ありません。
barlop

1
間違っています。まず第一に、WDSはWiFi接続であり、他とは異なります。次に、クライアントブリッジまたはメディアブリッジと呼ばれるこれらのキューティーパイデバイスがあります。これらのデバイスは、APを介して接続し、ハブなどの3〜5の有線ジャックを透過的にブリッジします。 FORをブリッジできるMACの数ですが、最終的には方法があります。地獄、Linuxでも、iwコマンドを介してデバイスのモードとして4addrを設定し、ドライバーがそれを実行できる場合、STAとしてWDSモードを使用できます。あなたは橋を架けることができます...それはたった今...但し書きです。
スヴァルタルフ

1
@DavidSchwartz:ルーティング?マジ?ここにヒントがあります。アプリケーションは、ネットワーク内に500以上のノードを持つことができます。そのようにルーティングを正常に機能させることはできますか?「リアルWDS」?シスコ、アルバ、ユビキティなどで動作することを保証できますか?もしそうなら、はい...もしそうでなければ...前提はすぐに使える問題です。私はWDS-Stationモードでしようとしている狂気でかなりうまく動作しています...しかし、hostapdまたは類似の派生Linuxデバイス以外のものでも動作しますか?
スバルタルフ

3

LXCでも同様の問題があり、wifiデバイスのブリッジングの問題を回避しました。まず、コンピューターに予備のイーサネットデバイスが必要です。秘Theは、イーサネットデバイスからwifiへのルートを作成することです。

サーバーファイルで、/ etc / network / interfacesを変更し、仮想ホストの未使用のネットワーク、つまり10.0.0.0を選択します。予備のイーサネットインターフェースに1つのIPを割り当てます。ここではeth0であり、次のようにブリッジします。

auto br0
iface br0 inet static
    address 10.0.0.1
    netmask 255.255.255.0
    bridge_ports eth0
    bridge_fd 0
    bridge_maxwait 0

それが完了すると、前にKostyantynが答えたように、マスケレードの方法に進むことができます。これらは、rc.localまたは起動時または仮想ドメインを開始する前に実行する必要があるスクリプト内にある必要があります。

# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
# echo "1" > /proc/sys/net/ipv4/ip_forward

仮想サーバーの/ etc / network / interfacesで静的IPを構成します。私はネットワーク10.0.0.0を使用しています。.2から使用を開始し、おそらく3を使用する仮想ホストをさらに作成します。多数ある場合は、それらにdhcpサーバーをインストールすることを検討できます。.1は、前に構成したとおりのゲートウェイです。

auto eth0
iface eth0 inet static
    address 10.0.0.2
    netmask 255.255.255.0
    broadcast 10.0.0.255
    gateway 10.0.0.1

/etc/resolv.confで、DNSサーバーも設定します。私のものはネットワークルーターでした。

nameserver 192.168.1.1

お役に立てれば


これはレイヤー3のトリックであり、実際には「ブリッジ」ではありません。iptablesを使用している瞬間、ルーティングしています。
スヴァルタルフ

0

本当に必要なのは橋ではなく、

または

  • MASQUERADE(WLANに動的IPがある場合、つまりIPが変更される場合)

1)forwarding_enable_file.sh次のコンテンツで作成します。

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

2)ファイルを実行します:

sudo ./forwarding_enable_file.sh

3)ホストの残りの部分で、Ubuntuボックスをゲートウェイとして指定します。注:一部のボックスでもLinuxが実行されている場合は、次のコマンドで実行できます。

sudo ip route add default via ubuntu-ip

どこのubuntu-IPが 192.168.1.10つまり、あなたのubuntu-ボックスIPアドレスに置き換える必要があります

4)いくつかのIP、つまり8.8.8.8を他のホストからpingしてみてください:

ping 8.8.8.8

5)何らかのドメインにpingを実行してDNS設定を確認します。例:

ping slivkoed.ru

6)ステップ4)が機能し、5)が機能しない場合、DNS設定に問題がある。そのような場合、root権限で実行します:

# echo "nameserver 8.8.8.8" > /etc/resolv.conf

手順5)を再度実行します。

resolv.confの詳細については、こちらをご覧ください


必要なものに依存します。透明(波の手)が必要な場合、いいえ、それは望ましくありません。真剣に。Trendnetの廃止されたTEW640-MBメディアブリッジ(4つのイーサネットポートに接続されたSTAモードセッション)などの動作によって証明される動作が必要です。これは、WDS(4addr)モード操作またはebtables MACマスカレード(投稿した内容と混同しないでください)でのみ発生する可能性があります。どちらも独自の痛みと問題があります。
スヴァルタルフ

-1

インターフェイスをブリッジする前に停止する必要があります。

ifconfig eth0 down

ifconfig wlan0 down


1
両方のインターフェイスがダウンしても同じエラーが発生する
ザックパウエル

@Zac PowellはNetwork-Managerを使用していますか?私はそれが邪魔するかもしれないいくつかの過去の経験がありました。その場合は、サービスを停止してから、再度サービスを再開してください
Legionair

はい、私は大丈夫ですので、ネットワークマネージャーを停止してネットワークマネージャーを停止してからバージを実行してから、すべてを再起動する必要がありますか?
ザックパウエル

はい、でservice network-manager stop、その後、あなたのことを行う、と再度開始service network-manager start
Legionair

それでも動作しません:/すべてがシャットダウンされますが、同じエラーが発生します
ザックパウエル

-4
sudo iw dev wlan1 set 4addr on

これがOPの問題をどのように解決するかを説明することに注意してください。
ブライアム

@Braiam私の答えは、これがAPによってサポートされている場合に機能する理由を説明しています。
デビッドシュワルツ

残念ながら、多くのAPでは機能しません。ほとんどのAPで正常に機能した場合に問題をどのように解決するかについては、認証済みMAC以外のフレームを中継するために、各802.11フレームで指定された番号に追加のMACを追加することでAPに機能を提供することです
スヴァルタルフ

:別の答えからserverfault.com/a/554663/280693
jhutar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.