GNU/Linux >> Linux の 問題 >  >> Debian

WPAサプリカントを使用してDebian11/10のターミナルからWi-Fiに接続する

このチュートリアルでは、Debian11/10のコマンドラインからWi-Fiネットワークに接続する方法を紹介します。 wpa_supplicantを使用するサーバーとデスクトップ 、これはWPAプロトコルのサプリカントコンポーネントの実装です。無線LANのサプリカントは、エンドユーザーのコンピューターにインストールされているクライアントソフトウェアであり、ネットワークに参加するには認証が必要です。

wpa_supplicantをインストールする必要があることに注意してください Wi-Fiに接続する前にソフトウェアを使用するため、最初に有線イーサネットに接続する必要があります。これは1回だけ行われます。この方法が気に入らなくても、私に腹を立てないでください。たぶんいつかDebianはwpa_supplicantを出荷するでしょう クリーンインストールで。

ステップ1:ワイヤレスインターフェイスとワイヤレスネットワークの名前を見つける

iwconfigを実行します ワイヤレスインターフェイスの名前を検索するコマンド。

iwconfig

wlan0 Linuxシステムでのワイヤレスネットワークインターフェイスの一般名です。 systemdベースのLinuxディストリビューションでは、wlp4s0という名前のワイヤレスインターフェイスがある場合があります 。

ご覧のとおり、現在、ワイヤレスインターフェイスはどのアクセスポイントにも関連付けられていません。次に、次のコマンドを実行してワイヤレスインターフェイスを起動します。

sudo ip link set dev wlp4s0 up

次のエラーが発生した場合

RTNETLINK answers: Operation not possible due to RF-kill

次のコマンドでWi-Fiのブロックを解除する必要があります。

sudo rfkill unblock wifi

次に、以下のコマンドで近くのネットワークをスキャンして、ワイヤレスネットワーク名を見つけます。 wlp4s0を置き換えます 独自のワイヤレスインターフェイス名を使用します。 ESSIDはネットワーク名の識別子です。

sudo iwlist wlp4s0 scan | grep ESSID

ステップ2:WPA_Supplicantを使用してWi-Fiネットワークに接続する

次に、wpa_supplicantをインストールします デフォルトのソフトウェアリポジトリからDebian11/10で。

sudo apt install wpasupplicant

wpa_supplicant.confという名前のファイルを作成する必要があります wpa_passphraseを使用する 効用。 wpa_supplicant.conf は、ユーザーがコンピューターに接続するすべてのネットワークを記述した構成ファイルです。次のコマンドを実行して、このファイルを作成します。 ESSID(ネットワーク名)とWi-Fiパスフレーズを独自のものに置き換えます。

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

ESSIDに(linuxbabe WiFiなどの空白が含まれている場合 )、ESSIDを二重引用符で囲む必要があります("linuxbabe WiFi" )上記のコマンドで。

wpa_passphraseの出力 コマンドはteeにパイプされます 、次に/etc/wpa_supplicant/wpa_supplicant.confに書き込まれます ファイル。次に、次のコマンドを使用して、ワイヤレスカードをワイヤレスアクセスポイントに接続します。

sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

次の出力は、ワイヤレスカードがアクセスポイントに正常に接続されていることを示しています。

Successfully initialized wpa_supplicant
wlp4s0: SME: Trying to authenticate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz)
wlp4s0: Trying to associate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz)
wlp4s0: Associated with c5:4a:21:53:ac:eb
wlp4s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlp4s0: WPA: Key negotiation completed with c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP]
wlp4s0: CTRL-EVENT-CONNECTED - Connection to c5:4a:21:53:ac:eb completed [id=0 id_str=]

Debianデスクトップ版を使用している場合は、次のコマンドでNetwork Managerを停止する必要があることに注意してください。そうしないと、 wpa_supplicantを使用するときに接続の問題が発生します。 。

sudo systemctl stop NetworkManager

また、次のコマンドを実行して、起動時にNetworkManagerの自動起動を無効にします。

sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager

デフォルトでは、wpa_supplicantはフォアグラウンドで実行されます。接続が完了したら、別のターミナルウィンドウを開いて実行します

iwconfig

ワイヤレスインターフェイスがアクセスポイントに関連付けられていることがわかります。

CTRL+Cを押すことができます 現在のwpa_supplicantを停止します -Bを追加して、バックグラウンドで処理および実行します フラグ。

sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0

認証されてワイヤレスネットワークに接続されていますが、まだIPアドレスを持っていません。 DHCPサーバーからプライベートIPアドレスを取得するには、次のコマンドを使用します。

sudo dhclient wlp4s0

これで、ワイヤレスインターフェイスにプライベートIPアドレスが割り当てられ、次のように表示できます。

ip addr show wlp4s0

これで、インターネットにアクセスできます。プライベートIPアドレスを解放するには、

を実行します。
sudo dhclient wlp4s0 -r

隠しワイヤレスネットワークへの接続

ワイヤレスルーターがESSIDをブロードキャストしない場合は、/etc/wpa_supplicant/wpa_supplicant.confに次の行を追加する必要があります。 ファイル。

scan_ssid=1

以下のように:

network={
        ssid="LinuxBabe.Com Network"
        #psk="12345qwert"
        psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195
        scan_ssid=1
}

ステップ3:システム起動時に自動接続

起動時にワイヤレスネットワークに自動的に接続するには、wpa_supplicant.serviceを編集する必要があります ファイル。 /lib/systemd/system/からファイルをコピーすることをお勧めします /etc/systemd/system/へのディレクトリ 新しいバージョンのwpa_supplicantは必要ないため、ディレクトリからファイルの内容を編集します 変更を上書きします。

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

Nanoなどのコマンドラインテキストエディタを使用してファイルを編集します。

sudo nano /etc/systemd/system/wpa_supplicant.service

次の行を見つけます。

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

次のように変更します。ここでは、構成ファイルとワイヤレスインターフェイス名をExecStartに追加しました。 コマンド。

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

障害が検出された場合は、常にwpa_supplicantの再起動を試みることをお勧めします。 ExecStartのすぐ下に次を追加します 行。

Restart=always

ファイルを保存して閉じます。 (Nanoテキストエディタでファイルを保存するには、Ctrl+Oを押します。 、次にEnterを押します 確認するために。終了するには、Ctrl+Xを押します 。)次にsystemdをリロードします。

sudo systemctl daemon-reload

wpa_supplicantを有効にする 起動時に開始するサービス。

sudo systemctl enable wpa_supplicant.service

また、dhclientを開始する必要があります 起動時にDHCPサーバーからプライベートIPアドレスを取得します。これは、dhclientのsystemdサービスユニットを作成することで実現できます。 。

sudo nano /etc/systemd/system/dhclient.service

次のテキストをファイルに入れます。

[Unit]
Description= DHCP Client
Before=network.target
After=wpa_supplicant.service

[Service]
Type=forking
ExecStart=/sbin/dhclient wlp4s0 -v
ExecStop=/sbin/dhclient wlp4s0 -r
Restart=always
 
[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。次に、このサービスを有効にします。

sudo systemctl enable dhclient.service

静的IPアドレスを取得する方法

静的IPアドレスを取得する場合は、dhclient.serviceを無効にする必要があります 。

sudo systemctl disable dhclient.service

ネットワーク構成ファイルを作成します。

sudo nano /etc/systemd/network/static.network

次の行を追加します。

[Match]
Name=wlp4s0

[Network]
Address=192.168.1.8/24
Gateway=192.168.1.1

ファイルを保存して閉じます。次に、.linkを作成します ワイヤレスインターフェイスのファイル。

sudo nano /etc/systemd/network/10-wifi.link

このファイルに次の行を追加します。独自のMACアドレスとワイヤレスインターフェイス名を使用する必要があります。これは、システムがワイヤレスインターフェイス名を変更しないようにするためです。

[Match]
MACAddress=a8:4b:05:2b:e8:54

[Link]
NamePolicy=
Name=wlp4s0

ファイルを保存して閉じます。次に、networking.serviceを無効にします systemd-networkd.serviceを有効にします 、ネットワーキングを担当します。

sudo systemctl disable networking

sudo systemctl enable systemd-networkd

これで、systemd-networkdを再起動できます 構成が機能するかどうかを確認します。

sudo systemctl restart systemd-networkd

静的IPアドレスを取得する別の方法は、ルーターの管理インターフェースにログインし、ルーターがこの機能をサポートしている場合は、ワイヤレスカードのMACアドレスに静的IPを割り当てることです。

推奨読書

  • LinuxでSystemdを使用する方法–サービス、実行レベル、ログを管理する

複数のWi-Fiネットワーク

/etc/wpa_supplicant.conf 構成ファイルには、複数のWi-Fiネットワークを含めることができます。 wpa_supplicantは、構成ファイル内のネットワークブロックの順序、ネットワークセキュリティレベル、および信号強度に基づいて、最適なネットワークを自動的に選択します。

2つ目のWi-Fiネットワークを追加するには、

を実行します
wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

-aを使用する必要があることに注意してください teeのオプション コマンド。元のコンテンツを削除する代わりに、新しいWifiネットワークをファイルに追加します。

Wi-Fiセキュリティ

WPA2 TKIPは使用しないでください またはWPA2TKIP + AES Wi-Fiルーターの暗号化方式として。 TKIPはもはや安全とは見なされません。 WPA2-AESを使用できます 暗号化方式として。


Debian
  1. Debian10/11にWebminをインストールする方法

  2. Debian10/11でSSLを暗号化してApache2を保護する

  3. Debian10/11でSSLを暗号化してNginxを保護する

  1. Debian10/11にXFCEデスクトップをインストールする方法

  2. WireguardサーバーをDebian10/11にインストールします

  3. Debian10/11にOpenVPNサーバーをインストールします

  1. Ubuntu16.04でターミナルからWiFiを接続する方法

  2. Debian10/11にKDEプラズマをインストールする方法

  3. Debian10/11にNginxを使用してWordPressをインストールする