WiFiルーティングとゲートウェイを理解する

WiFiルーティングとゲートウェイを理解する

ソリューション説明されているここ

問題

私の Raspberry Pi には、eth0、wlan0、wlan1 の 3 つのインターフェース (2 つの Wi-Fi USB ドングル) があります。

  • wlan1 は、SSDP 経由で Wi​​Fi カメラに接続するために使用されます。
  • wlan0 は、サーバー (IP/ドメイン名が既知) への TCP 接続に使用されます。DHCP 経由で wlan0 が接続されている WiFi については何も知りません。時々変わる可能性があります。ゲートウェイは特にわかりません。
  • eth0 は、例として MacBook Air 接続共有サービスを介して SSH アクセスをデバッグするために使用されます。

実際、これらすべてのインターフェースは動作しています。ifconfig の出力は次のとおりです (wlan1 と eth0 は同じネットワーク上にあります。ただし、将来的にはそうではなくなります)。

eth0      Link encap:Ethernet  HWaddr b8:27:eb:8c:e2:10  
          inet addr:192.168.0.19  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:93616 (91.4 KiB)  TX bytes:12342 (12.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr c0:4a:00:2a:ab:6c  
          inet addr:192.168.43.44  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1142 (1.1 KiB)  TX bytes:1145 (1.1 KiB)

wlan1     Link encap:Ethernet  HWaddr 74:da:38:0c:c6:f0  
          inet addr:192.168.0.14  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:155 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:222449 (217.2 KiB)  TX bytes:29711 (29.0 KiB)

以下は sudo route -n の出力です。

0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

過去 24 時間に読んだ内容をよく理解しているのであれば、ルーティングを行う必要があります。しかし、何を、どのように行うのかがわかりません。デフォルト ルートを変更する必要がありましたか? そうであれば、ネットワークに接続する前に wlan0 または wlan1 ゲートウェイがわからないため、それをどのように実行すればよいでしょうか? これは不可能な問題でしょうか?

編集: /etc/network/interfaces を追加

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        post-up route del default dev wlan0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "wifi1"
        wpa-psk "psw1"

auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
        wpa-ssid "wifi2"
        wpa-psk "pwd2"

答え1

デフォルト ゲートウェイを見つけるには、/etc/network/interfaces にあるファイルを参照してください。おそらく 192.168.0.1 ですが、確信はありません。ゲートウェイはルーターのアドレスです。

情報を表示するには、「cat /etc/network/interfaces」と入力します。 変更する場合は、ルート権限 (sudo) で編集します。

これを試して:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    # post-up route del default dev wlan0
    address 192.168.0.19
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    wpa-ssid "wifi1"
    wpa-psk "psw1"
    address 192.168.43.44
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan1
allow-hotplug wlan1
iface wlan1 inet static
    wpa-ssid "wifi2"
    wpa-psk "pwd2"
    address 192.168.0.14
    netmask 255.255.255.0
    gateway 192.168.0.1

元の /etc/network/interfaces ファイルをバックアップして、代わりにこれを試してください。これにより、すべてが静的 (変更なし) に設定されます。ifdown/ifup を使用してインターフェイスを再起動するか、コンピューターを再起動する必要があります。

答え2

過去 24 時間に読んだ内容をよく理解したら、ルーティングを行う必要があります。

システムをルーターとして設定する場合を除き、そうではありません。

デフォルト ゲートウェイは、宛先がどのネットワーク インターフェイスのサブネット マスクの範囲にも入らない場合に Linux がトラフィックを送信する IP です。通常、これは「インターネット」宛てのトラフィックになります。

このシステムがインターネットにアクセスできることを気にしない場合は、インターネット アクセスは必要ありませんが、更新などを取得するために必要になる場合があります。

DHCP は通常、IP アドレスだけでなくデフォルト ゲートウェイも配布します。したがって、wlan0DHCP から IP を取得している場合は、おそらくデフォルト ゲートウェイも取得します。(または、そうあるべきです。DHCP サーバーがデフォルト ゲートウェイを配布していない場合は、DHCP サーバーをチェックしてください。) したがって、インターネット宛のトラフィックはそのインターフェイスを通過します。

DHCP を使用したくない場合、または DHCP 経由でデフォルト ゲートウェイを配布したくない場合は、手動で指定できます。インターネットとの間で転送できるルーターの IP アドレスにする必要があります。

デフォルト ゲートウェイが 1 つだけであれば、処理が最もスムーズに進むため、他のインターフェイスが静的 IP に設定され、1 つのインターフェイスのみが DHCP 経由で何かを取得していることを確認してください。

答え3

何時間もテストした後、私はこの質問に自分で答えました...

それは説明するここ

関連情報