Nmcliコマンドを使用してLinux端末からWi-Fiに接続する方法


Linuxシステムで無線ネットワークインタフェースを管理するためのコマンドラインツールがいくつかあります。これらのうちいくつかを使用して、ワイヤレスネットワークインターフェースのステータス(起動中停止中、またはネットワークに接続されているかどうか)を簡単に表示できますstrong> iw 、 iwlist 、ip、ifconfigなど。

nmcliは、ネットワーク接続の作成、表示、編集、削除、有効化、無効化、およびネットワークデバイスの状態の制御と表示に使用されるコマンドラインツールです。

まず、次のコマンドを使ってネットワークデバイスの名前を確認します。このコマンドの出力から、デバイス名/インターフェースは図に示すように wlp1s0 です。

$ iw dev

phy#0
	Interface wlp1s0
		ifindex 3
		wdev 0x1
		addr 38:b1:db:7c:78:c7
		type managed

次に、以下のコマンドでWi-Fi機器の接続状態を確認してください。

iw wlp2s0 link

Not connected.

上の出力からデバイスがどのネットワークにも接続されていない場合は、次のコマンドを実行して利用可能なWi-Fiネットワークをスキャンします。

sudo iw wlp2s0 scan
       
command failed: Network is down (-100)

上記のコマンドの出力を考慮すると、ネットワークデバイス/インターフェースは DOWN ですが、ipコマンドでオン (UP )にすることができます示す。

$ sudo ip link set wlp1s0 up

以下のエラーが表示された場合、それはあなたのWifiがラップトップまたはコンピュータ上でハードブロックされていることを意味します。

RTNETLINK answers: Operation not possible due to RF-kill

削除またはブロック解除するには、エラーを解決するために次のコマンドを実行する必要があります。

$ echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
$ sudo rfkill unblock all

それからもう一度ネットワークデバイスをオンにしてみてください。そうすれば今度はうまくいきます。

$ sudo ip link set wlp1s0 up

接続するWi-Fiネットワークの ESSID がわかっている場合は、次の手順に進みます。それ以外の場合は、次のコマンドを発行して利用可能なWi-Fiネットワークをもう一度スキャンします。

$ sudo iw wlp1s0 scan

そして最後に、次のコマンドを使用してWi-Fiネットワークに接続します。 Hackernet (Wi-FiネットワークSSID)および localhost22 (パスワード/事前共有キー)。

$ nmcli dev wifi connect Hackernet password localhost22

接続したら、外部マシンにpingを実行して接続を確認し、図のようにpingの出力を分析します。

$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms

それでおしまい!この記事がLinuxのコマンドラインから Wi-Fi ネットワークを設定するのに役立ったと思います。いつものように、この記事が役に立つと思った場合は、以下のコメント欄であなたの考えを共有してください。