私は現在、Arch Linuxをインストールし、systemd-networkdを使用してホームルーターにワイヤレスで接続するRaspberry Pi Zero Wを使用してポータブルヘッドレスプロジェクトを進めています。次のユースケースにそれぞれ異なる固定IPを使用して、優先SSIDペアに自動的に接続するようにしたいと思います。
外部で使用する場合は、固定IPを使用してAndroidデバイスのワイヤレスホットスポットに自動的に接続する必要があります(携帯電話からSSHまたはVNCを介して簡単に接続できるように)。
また、自宅にいるときに管理を実行するには、自宅のLANからSSHに接続できる必要があり、簡単なSSHアクセスのために静的IPを再利用する必要があります。
ただし、自宅にいる場合は、テスト目的で携帯電話に接続でき、Androidホットスポットがあるかどうかに応じてSSIDを自動的に切り替えることができます。
問題をより複雑にすることは、私のホームルーターがAndroid携帯電話とは異なるIP範囲を使用しているため、2つの接続の固定IPが異なる必要があることです。
理想的には、Piは次のように動作するはずです。
- 私のAndroidホットスポットのSSIDを検出すると、そのSSIDに固有の固定IPアドレスを使用してそのホットスポットにのみ接続されます。
- 私のAndroidホットスポットのSSIDを検出できない場合は、別の固定IPを使用して自宅のWi-Fi SSIDに接続しようとします。
つまり、携帯電話のホットスポットをオンにするだけで、自宅で携帯電話を使用してPiをテストでき、ホットスポットをオフにして自宅のPCを使用してPiを管理できます。
私がこれをどのように達成できるかを知っている人はいますか?
ベストアンサー1
最後に、nmcliを使用するネットワーク管理者を使用してこれを行う方法を見つけました。次のように2つの設定ファイルを設定します。
nmcli con add con-name "[Connection Name]" ifname wlan0 type wifi ssid "[SSID]"
ip4 [Static IP Address]/24 gw4 [Default Gateway]
nmcli con mod "[Connection Name]" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod "[Connection Name]" wifi-sec.key-mgmt wpa-psk
nmcli con mod "[Connection Name]" wifi-sec.psk [Passkey]
nmcli con mod "[Connection Name]" connection.autoconnect-priority 0
携帯電話のWi-Fi接続が自宅のWi-Fiよりも自動接続の優先順位が高いことを確認してください。その後、両方の接続を配置します。
nmcli con up "[Connection Name]"
その後、ネットワーク管理者は、優先順位と可用性に基づいて、どちらを使用するかを自動的に決定します。ホーム Wi-Fi から電話 Wi-Fi に切り替えるには、電話のホットスポットをオンにし、NetworkManager サービスを再起動して再び切り替え、電話のホットスポットをオフにします。