ArchLinuxで無線ネットワーク接続する
動機と主旨
ArchLinuxとWindowsのデュアルブートを構築したあと初めてArchLinuxのコンソールにログインした時に、ネットワーク接続できませんでした。
その時にネットワーク接続するためにしたことをメモしておきます。
有線ではなくWiFiでの設定です。
本文
大まかな流れ
- Archのインストールメディアからライブ環境を起動する
- ライブ環境にてネットワーク接続する
- Archインストール先ドライブをマウントしてchrootする
- netctlを設定する
- 再起動して動作確認する
このままだとネットワーク接続できないのでライブ環境を用いて、ネットワーク接続に必要なパッケージをインストール先Arch(今回ネットワーク接続を有効化したい環境)へとインストールし設定していきます。
その後、動作確認をして終了です。
実践
Archのインストールメディアからライブ環境を起動する
Archをインストールメディアからインストールしたりデュアルブート構築したりしていれば説明不要だと思います。
私はUSBにインストールメディアをインストールしていたのでBIOSでUSB上のライブ環境を指定して起動しました。
起動後、コンソールに入ったら作業用に下記のコマンドでキーボードレイアウトを設定します。
loadkeys jp106
ライブ環境にてネットワーク接続する
Archのインストールにライブ環境を用いた時と同様に、iwctlで無線ネットワーク接続します。
下記のコマンドを実行して出力を見て、使う無線インターフェース名をメモします。
iwctl station list
下記のコマンドを実行して出力を見て、接続する予定のアクセスポイントのESSIDをメモします。
iwctl your_wifi_interface get-networks
下記のコマンドで無線ネットワーク接続します。
iwctl your_wifi_interface connect your_essid
Archインストール先ドライブをマウントしてchrootする
下記のコマンドでドライブを列挙し、Archインストール先であるドライブのsdaX番号を見つけ、Xの部分をメモします。
fdisk -l
先ほどメモした番号を用いてマウントします。
mount /dev/your_sdaX_for_root_partition /mnt
マウント先にchrootします。
arch-chroot /mnt
netctlを設定する
今回は無線接続にnetctlを使います。netctlのdhcpにはdhcpcdを用いるので併せてインストールし、有効化します。
また、接続にWPA暗号方式を使う場合wpa_supplicantをインストールします。
pacman -Sy netctl dhcpcd wpa_supplicant
systemctl enable dhcpcd
chroot環境を抜け再起動します。そして起動オプションの中からインストール先Archを選択して起動します。
exit
reboot
無線インターフェース名を確認してメモします。
ip link
netctlで使う無線接続用プロファイルを作成します。
vim /etc/netctl/wireless-wpa
下記の内容となるように編集します。
Description='A simple WPA encrypted wireless connection using 256-bit PSK'
Interface=your_interface_name(先ほどメモした無線インターフェース名。例えば、wlp2s2。)
Connection=wireless
Security=wpa
IP=dhcp
ESSID=your_essid(iwctlで接続に使用したESSID)
Key=your_AP_password(iwctlで接続に使用したパスワード)
プロファイルを有効化します。
netctl enable wireless-wpa
以上で設定完了です。続いて起動時に自動で無線接続するようになっているか動作確認します。
再起動して動作確認する
起動後に下記のコマンドを実行して無線ネットワーク接続が成功しているかどうか確認します。
ping -c 3 google.com
上記のコマンドでDNS解決できていなかったりパケットロスして接続できなかったりしなければ正しく接続できています。
参考文献