ウェブサイト検索

Nmcliコマンドを使用してLinuxターミナルからWi-Fiに接続する方法


Linux システムでワイヤレス ネットワーク インターフェイスを管理するためのコマンド ライン ツールがいくつかあります。これらの多くは、ワイヤレス ネットワーク インターフェイスのステータス (アップダウンか、またはネットワークに接続されているかどうか)を単純に表示するために使用できます。iwiwlist、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)

上記のコマンドの出力を考慮すると、ネットワーク デバイス/インターフェイスはダウンしています。次のように ip コマンドを使用してそれをオン(アップ) にすることができます。示されています。

sudo ip link set wlp1s0 up

次のエラーが表示された場合は、ラップトップまたはコンピューターで Wi-Fi がハード的にブロックされていることを意味します。

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 ネットワークをセットアップするのに役立つことを願っています。いつものように、この記事が役に立ったと思われた場合は、以下のコメントセクションでご意見を共有してください。