web-dev-qa-db-ja.com

2つのネットワークインターフェースwifiとイーサネット(バックアップとして)を連携させる方法

私はwifiインターフェースとイーサネットインターフェースを備えたラズベリー2を持っています。 wifiは、バックアップ方法としてイーサネットを接続する機能との私の主な接続です。インターフェイスごとに異なる静的アドレスを割り当てたいのですが。

私が欲しいのは、できることです。

  1. 最初のアドレスに接続されたUSB wifiのみで起動するには
  2. 2番目のアドレスに接続されているイーサネットのみで起動するには
  3. wifiとイーサネットの両方で起動し、両方のアドレスを使用できるようにする
  4. wifiのみで起動する。次に、イーサネットをホットプラグして、両方のアドレスを使用できるようにします。
  5. wifiとイーサネットの両方が接続されている場合、何らかの理由または他の理由で一方がダウンしたときにもう一方の接続を維持できるようにします。

なんとかできませんでした。誰かが私を助けてくれるなら、私はとても感謝しています。

ここに私の/ etc/network/interfacesファイルがあります:

auto lo
iface lo inet loopback

auto wlan0
#allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid my-network
wpa-bssid XX:XX:XX:XX:XX:XX
wpa-psk  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
4
PSTMARTIN

デバイスボンディングを使用します。つまり、ネットワーク設定(IPアドレス、マスクなど)を割り当てる新しい仮想デバイスを作成し、イーサネットとwifiの両方のインターフェースをそのインターフェースにスレーブ化します。

何かのようなもの:

 $ Sudo modprobe bonding
 $ Sudo ifconfig bond0 192.168.0.1 netmask 255.255.0.0
 $ Sudo ifenslave bond0 eth0 wlan0

これには、1つの例外を除いて、1から5までのすべてのシナリオをカバーできるという利点があります。IPアドレスは1つだけです。それが問題になる場合は、常に「エイリアス」(たとえば、bond0:0)を作成し、そのエイリアスに別のIPアドレスを与えることができます。そうすれば、アクティブなインターフェースが1つしかなくても、常に両方のIPアドレスに到達できます。

詳細はオンラインでご覧いただけます。例: http://www.codekoala.com/posts/bonding-eth0-and-wlan0-Arch-linux/

7
Huygens

結合はまさに私が必要とするものだったので、 この答え を採用しました。両方のインターフェイスをバックアップし、イーサネットインターフェイスをプライマリインターフェイスとして指定できます。実際、インターフェイスごとに異なるアドレスを使用したくありませんでした。別のアドレスを使用する必要があると思いましたが、1つのアドレスと自動バックアップのみのソリューションがまさに私が欲しかったものです。 (私も3つの異なるアドレスでテストしましたが、うまくいきました。)

これが私の新しい/etc/network/interfacesファイル:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
# Bonding
bond-slaves none
bond-primary eth0
bond-mode active-backup
bond-miimon 100
bond-downdelay 200
bond-updelay 200

auto wlan0 
#allow-hotplug wlan0
iface wlan0 inet manual
# Bonding
bond-master bond0
bond-primary eth0
bond-mode active-backup
wpa-ssid xxxxxxxxxxxxxxx
wpa-bssid XX:XX:XX:XX:XX:XX
wpa-psk  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

auto eth0
iface eth0 inet manual
# Bonding
bond-master bond0
bond-primary eth0
bond-mode active-backup
4
pstmartin

私は、2つのwifiインターフェイスと有線イーサネットを同時に使用して、あなたが説明しているものと同様のことを達成しました。

  • 有線イーサネットはテストネットワークに接続されています。
  • 最初のwifiアダプターは、初期構成にhostapdを使用してAPとして構成されます。
  • 2番目のwifiアダプターは、建物全体にアクセスできるようにローカルwifiネットワークに接続されています。

このセットアップはテストネットワークへのアクセス専用であるため、ルーティングはオフです。唯一の「トリック」は、wicd-cursesを使用して、システムをローカルwifiネットワークに接続し、有線ネットワークが接続されているときにwifiインターフェースをアップに保つように構成することでした。これは間違いなく、@ goldilocksが言及したifplugdの問題を処理します。重要なのは、wicdマンページのprefer_wiredオプションです。

これを2つの異なるRPi2Bでうまく使用しました。

0
bobstro