Ubuntu 16.04でWiFiとイーサネットの両方に同時に接続する

Ubuntu 16.04でWiFiとイーサネットの両方に同時に接続する

私は、インターネット接続なしで (接続は不要) イーサネット経由で Raspberry Pi に接続された Ubuntu マシンを使用する学校のプロジェクトに取り組んでいます。また、別のローカル ネットワークへのワイヤレス接続も必要で、USB ワイヤレス アダプターを使用しています。私は Ubuntu の経験がほとんどなく、システムで作業する前にどのような設定が行われていたかを完全に把握していません。

Wi-Fi と Ethernet は両方とも静的で、IP が異なります。両方の接続は正常に動作しますが、どちらか一方のみです。Android から Ubuntu 上の Apache にローカルでコマンドを送信しようとしているため、ワイヤレス接続が必要です。

答え1

ここでのコメントをもう少し詳しく説明すると、基本的に必要なことは

  • イーサネットと Wi-Fi の両方に接続すると、 に 2 つのインターフェースが表示されるはずですifconfig -a

192.168.0.11Wi-Fi IPがでイーサネットが だと仮定します10.1.1.45。Wi-Fiゲートウェイは192.168.0.1でイーサネットゲートウェイは10.1.1.1

  • 次に、一部のトラフィックをイーサネット経由で送信し、残りをWiFi経由で送信するようにルーティングテーブルを設定する必要があります。いくつかのイーサネット内部サブネット宛のトラフィックがあるとします。すべての10.0.0.0/8アドレス(そして何らかの奇妙な理由)149.9.1.0/24はイーサネット経由で送信され、その他はすべてWiFi経由で送信されます。

免責事項 - テストするためのUbuntu VMが手元にないので、これらはMacで同じことを行うために使用するコマンドです。

$ route add 10.0.0.0/8 10.1.1.1
$ route add 149.9.1.0/24 10.1.1.1

netstat -rnルーティングテーブルが表示されます:

$ netstat -rn
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.0.0        10.1.1.1        255.0.0.0       UG        0 0          0 eth1
149.9.1.0       10.1.1.1        255.255.255.0   UG        0 0          0 eth1
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.0.1     0.0.0.0         255.255.0.0     U         0 0          0 eth0

動作させるには、インターフェースの順序をいじる必要があるかもしれません。ここではnetstat、がipあなたの友達になります。

答え2

この質問は Ubuntu 16.04 に関するものですが、私は 20.04.1 を使用しており、Ubuntu Server 64 ビット版の Raspberry Pi 4 で使用している実用的なソリューションを投稿しようと思いました。そのため、これ以上の説明はせずに netplan ファイルを提供します。

network:
  ethernets:
      eth0:
        addresses: [192.168.1.4/24]
        gateway4: 192.168.1.2
        nameservers:
            addresses:
            - 192.168.1.2              # private IP for ns1
#           - 192.168.1.4              # private IP for ns2 (work in progress)
#            search: [ <your domain> ] # DNS zone           (work in progress)
        dhcp4: no                      # static IP assignment
# version: 2 (not sure this is required)

  wifis:
      wlan0:   # use ls /sys/class/net to determine this value
        addresses: [10.0.2.2/24]
        gateway4: 10.0.2.1
        nameservers:
            addresses:
            - 10.0.2.2            # local host is ns1
        access-points:
            "<your SSID>":
            password: "<your password>"
            dhcp4: no                 #static IP assignment

関連情報