Windowsを実行しているとき、私は私のwifiは私のラップトップのイーサネット接続を介して接続をブリッジすることができましたので、イーサネットのみのデバイスの範囲は、私のwifi(ラズベリーパイ、Xboxなどなど)からピギーバックすることができました。私は今、Ubuntu内で同じことをしようとしています, すなわち、セットアップは次のようになります
無線ルーター —> ラップトップのWifi —> イーサネットへのブリッジ —> イーサネットポートに接続されたインターネットを必要とするデバイス
今、Ubuntuでbrctlを使って動作させようとしています
以下のコマンドを使ってみました
sudo brctl addif br0 eth0 wlan0
そして、以下のようなエラーが出ます
can't add wlan0 to bridge br0: Operation not supported
私は、私が非常に簡単にWindowsでできることがLinuxでできないと信じて拒否しているので、誰かが助けてくれることを期待しています
何か情報が必要な場合は、私に知らせてください。ありがとうございます
25 Zac Powell 2013-05-20
これはできません。WiFiクライアントの接続をブリッジすることはできません。できればWDSじゃなくてブリッジするだけです
問題は非常に単純で、アクセスポイントはWiFi仕様によって、何かがその送信を許可しない限り、WiFiネットワーク上でトラフィックをブロードキャストすることが禁止されています。これは主に、WiFiネットワークが非常に遅く、もしあるとしてもセキュリティが貧弱だった時代の遺物です
ブリッジはアクセスポイントへのクライアント接続のみを持っています。これは、アクセスポイントがブリッジにバインドされたトラフィックを送信することを許可するだけです。ブリッジに接続されているマシンはすべてアクセスポイントのクライアントではないため、アクセスポイントはWiFiリンクを介してそれらのマシンにバインドされたトラフィックを送信する理由がありません。そのため、そうはなりません
残念ながら、WiFiはイーサネットと同じような動作を期待してしまいがちです。しかし、それは噛み付くのに十分な違いがあるだけなのです
WDS 設定は、アクセスポイントがどのクライアントにもバインドされないトラフィックを送信するための特定の権限です。両端がWDSをサポートしている場合は、ブリッジングエンドポイントのアドレスと宛先のアドレスが含まれており、アクセスポイントがトラフィックを送信することを許可します
これを行うには、ブリッジング以外の何かを使用する必要があります。例えばNATを使ったルーティング。また、WiFiリンクの両端がサポートしている場合は、4アドレスモードを使用することもできます
12 David Schwartz 2013-10-13
私はLXCで同じような問題を抱えていましたが、私はwifiデバイスのブリッジング問題を回避しました。まず、パソコンに予備のイーサネットデバイスが必要です。コツはイーサネットデバイスからwifiへのルートを作ることです
サーバファイルの /etc/network/interfaces を変更し、バーチャルホストに使用していないネットワーク、例えば 10.0.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さんが回答してくれたように、MASQUERADEの方法で行うことができます。これらは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.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 Francesc Guasch 2014-11-19
本当に必要なのは橋ではなく、どちらかだと思います
- SNAT (WLAN が静的 IP を持っている場合) (このページ を参照)
or
- 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はubuntu-boxのIPアドレス、すなわち192.168.1.10に置き換えてください
4) 他のホストからいくつかの IP、例えば 8.8.8.8.8 を ping してみてください
ping 8.8.8.8
5) ドメインにpingしてDNS設定を確認します
ping slivkoed.ru
6) ステップ4)が動作し、5)が動作しない場合は、DNSの設定に問題があると思われます
# echo "nameserver 8.8.8.8" > /etc/resolv.conf
ステップ5)を再度実行します
resolv.conf の詳細は こちら を参照してください
0 Kostyantyn 2014-01-10
ブリッジ化する前にインターフェースをダウンさせる必要があります
ifconfig eth0 ダウン
ifconfig wlan0 ダウン
-1 Scandalist 2013-05-20
sudo iw dev wlan1 set 4addr on
-4 Emilio Navarrete Lineros 2013-10-13