確認環境
PC | Thinkpad X1 Carbon 2nd Gen |
OS | FreeBSD 12.0-RELEASE-p3 |
課題
対策
ここでは、手動で接続する方法と、パソコン起動時に自動で接続する方法それぞれ説明する。
詳細はいいからパソコン起動時に自動接続する方法を知りたい人は、こちらの記事を見て下さいまし。
ここで説明する手順は下記となる。
- パソコンの無線LANデバイスを確認 ...
sysctl net.wlan.devices
- ネットワークI/Fを作成 ...
ifconfig wlan0 create wlandev WDEV country JP
- ネットワークI/Fを起動 ...
ifconfig wlan0 up
- WPA認証用の設定ファイルを作成 ...
wpa_passphrase SSID PASS > wpa_supplicant.conf
- アクセスポイントに接続 ...
wpa_supplicant -B -i wlan0 -c wpa_supplicant.conf
- IPアドレスを割り当てる ...
dhclient wlan0
- パソコン起動時に自動で無線LAN接続 ...
/etc/rc.conf, /etc/wpa_supplicant.conf
以降は、root権限で実行することを前提に説明する。
アクセスポイント側の設定は、予め管理者や無線LANルータの説明書を読んで確認しておいてね。
もし、意味不明な用語があれば、こちらも覗いてみてねと。
1. パソコンの無線LANデバイスを確認
まずは、あなたのパソコンで使える無線LANデバイスを確認しよう。
下記コマンドを使えばいい。
> sysctl net.wlan.devices
net.wlan.devices: iwm0
上記結果から、iwm0
という無線LANデバイスが使えること分かる。
この結果は環境によって異なる為、各自、自分の環境のデバイス名をメモしておこう。
ちなみに、既に無線ネットワークI/Fが作成されていて、そのI/Fで使用している無線LANデバイスを知りたい場合は、下記コマンドで確認できる。
(wlan0というネットワークI/Fで使用しているデバイスを確認する例)
> sysctl net.wlan.0.%parent net.wlan.0.%parent: iwm0
2. ネットワークI/Fを作成
次に、無線LANデバイスを使うためのネットワークI/Fを作成する。
下記コマンドで作成できる。
iwn0
は各自、手順1で確認した無線LANデバイス名に置き換えること。
> ifconfig wlan0 create wlandev iwn0 country JP
上記コマンドではiwm0
という名前の無線LANデバイスに対して、wlan0
という名前のネットワークI/Fを作成している。
country JP
は日本で無線LANを使う場合に必要な指定。
無線というのは用途によって使える周波数帯が国で定められている。
国を指定することで、無線LANデバイスの周波数などをその国で適切な値に設定してくれる。
周波数などの情報は、/etc/regdomain.xml
を使っているらしい。
それでは、作成したネットワークI/Fをifconfig
コマンドで確認してみよう。
> ifconfig wlan0 wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether zz:zz:zz:zz:zz:zz groups: wlan ssid "" channel 1 (2412 MHz 11b) regdomain JAPAN country JP authmode OPEN privacy OFF txpower 23 bmiss 10 scanvalid 60 wme bintval 0 media: IEEE 802.11 Wireless Ethernet autoselect (autoselect) status: no carrier nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
上記のように作成したネットワークI/Fが表示されれば問題ない。
まだアクセスポイントに接続していないのでssidなどは空の状態だ。
当然、IPアドレスも割り当てられていない。
3. ネットワークI/Fを起動
次に、作成したネットワークI/Fを下記コマンドで起動する。
> ifconfig wlan0 up
正常に起動して無線LANデバイスが使える状態になれば、下記コマンドで無線LANのアクセスポイントを検出できるはずだ。
> ifconfig wlan0 scan SSID/MESH ID BSSID CHAN RATE S:N INT CAPS XXX-A xx:xx:xx:xx:xx:xx 6 54M -58:-96 100 EPS HTCAP WME ATH RSN WPA WPS XXX-B yy:yy:yy:yy:yy:yy 36 54M -77:-96 100 EP HTCAP VHTCAP VHTOPMODE VHTPWRENV WME ATH RSN WPA WPS
左端の列がSSIDになっている。
上記結果ではXXX-A
とXXX-B
というSSIDのアクセスポイントを検出できている。
このとき、使用するアクセスポイントのSSIDが表示されているか確認しておこう。
アクセスポイントのSSIDは市販の無線LANルータの場合、ルータ本体に載っていたりする。
詳細は各自ルータの説明書などを読んで確認してほしい。
もし、使用するアクセスポイントのSSIDが表示されていない場合は、無線の届く範囲外かもしれない。
無線LANルータの近くにパソコンを持って行き、もう一度scan
を実行してみよう。
それで表示される場合、無線LANルータを置く場所を調整するか、以下のような無線LAN中継機の導入を検討してはいかがだろうか。
TP-Link WIFI 無線LAN 中継器 11ac/n/a/g/b 433+300Mbps 11ac対応 3年保証 RE200
- 出版社/メーカー: TP-LINK
- 発売日: 2016/05/24
- メディア: Personal Computers
- この商品を含むブログを見る
もし、無線LANルータの近くでも表示されない場合は、下記サイトなどを参考に原因特定されたし。
4. WPA認証用の設定ファイルを作成
次に、アクセスポイントへ認証するための設定ファイルを作成する。
設定ファイルは下記コマンドで作成できる。
XXX-B
とhogehoge
は、各環境のSSIDと暗号キーに置き換えて実行すること。
> wpa_passphrase XXX-B hogehoge > wpa_supplicant.conf
作成したファイルは下記のような最低限の設定が記載されている。
#psk="hogehoge"
の暗号化前の暗号キーの行は削除してしまって良い。
(暗号化してない#psk="hogehoge"
の行を有効にしても動くよ)
network={ ssid="XXX-B" #psk="hogehoge" psk=d816ead32ddafcd0d27c9be016ce53b056db3c9f5c21e95b802c72e0550e69ea }
上記設定の場合、認証方式:WPA2-PSK、暗号化方式:AES(CCMP)がデフォルト動作となる。
実際はルータが許可している認証方式などによって変わるはず。
このファイルの設定項目は他にも色々ある。
僕が使うかもなぁという項目を下記に抜粋。
network={}
ブロック内の設定値はいずれもデフォルト値を掲載している。
ctrl_interface=/var/run/wpa_supplicant #他プログラムから制御させるためのソケット作成ディレクトリ ctrl_interface_group=wheel # root以外のユーザがネットワークI/Fファイルにアクセスする場合に必要 network={ ssid="XXX-B" psk=d816ead32ddafcd0d27c9be016ce53b056db3c9f5c21e95b802c72e0550e69ea key_mgmt=WPA-PSK WPA-EAP # 認証方式。他に IEEE802X, NONE が指定可能 pairwise=CCMP TKIP # 暗号化方式。他に NONE が指定可能(非推奨) group=CCMP TKIP WEP104 WEP40 # 許可する暗号化方式 scan_ssid=0 # SSIDを公開しないアクセスポイントをスキャンする場合は 1 priority=0 # 接続するアクセスポイントの優先度。値が大きい方が優先度が高い proto=WPA RSN # 受付可能プロトコル (RSNはWPA2の別名らしい) mode=0 # インストラクチャ:0 アドホック:1 }
network={}
ブロックは使用するアクセスポイントごとに追加して良さげ。
同時に複数のアクセスポイントを検出している場合、priority
の設定値が高いアクセスポイントから優先的に接続してくれるようだ。
詳細はman wpa_supplicant.conf
で確認してねと。
5. アクセスポイントに接続
次に、手順4で作成した設定ファイルを使って無線LANアクセスポイントに接続する。
下記コマンドを実行すればいい。
> wpa_supplicant -B -i wlan0 -c wpa_supplicant.conf Successfully initialized wpa_supplicant
-B
はバックグラウンド(デーモン)で動作させる指定。
-i
では手順3で作成したネットワークI/Fを指定。
-c
では手順4で作成した設定ファイルを指定。
上記のように初期化成功のメッセージが出たら、接続状態をifconfig
コマンドで確認してみよう。
> ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether zz:zz:zz:zz:zz:zz groups: wlan ssid XXX-B channel 36 (5180 MHz 11a) bssid mm:mm:mm:mm:mm:mm regdomain JAPAN country JP authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 23 bmiss 10 mcastrate 6 mgmtrate 6 scanvalid 60 wme roaming MANUAL media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11a status: associated nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
上記の結果から、下記となっているようだ。
これでアクセスポイントに認証して接続はできたが、まだIPアドレスは割り当てられていない。
6. IPアドレスを割り当てる(DHCP)
あとは、IPアドレスを割り当てればネットワークに接続完了だ。
ここでは下記コマンドを使ってDHCPで割り当ててもらう。
> dhclient wlan0 DHCPREQUEST on wlan0 to 255.255.255.255 port YY DHCPACK from 192.XXX.XXX.1 bound to 192.XXX.XXX.XXX -- renewal in 43200 seconds.
ifconfig
コマンドで確認しても、無事にIPアドレスが割り当てられている。
> ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether zz:zz:zz:zz:zz:zz inet 192.XXX.XXX.XXX netmask 0xffffff00 broadcast 192.XXX.XXX.255 groups: wlan ssid XXX-B channel 36 (5180 MHz 11a) bssid mm:mm:mm:mm:mm:mm regdomain JAPAN country JP authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 23 bmiss 10 mcastrate 6 mgmtrate 6 scanvalid 60 wme roaming MANUAL media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11a status: associated nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
念のため、ping
コマンドでインターネットに接続できているか確認しよう。
> ping www.google.co.jp PING www.google.co.jp (xxx.xxx.xxx.xxx): 56 data bytes 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=0 ttl=56 time=14.634 ms 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=56 time=13.955 ms 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=56 time=14.027 ms ^C # Ctrl+Cを押す
もし、pingの応答がない場合、www.google.co.jp
をIPアドレス直打ちにして試してみよう。
それでつながるようならDNSの設定が怪しいと思うので調べてみてねと。
7. パソコン起動時に自動で無線LAN接続
最後に、パソコン起動時に自動で無線LAN接続するように設定する。
7-1. アクセスポイント認証設定
まず、手順4で作成したファイルを/etc/wpa_supplicant.conf
に移動する。
また、このファイルにはアクセスポイントの暗号キーも記載されている為、誰でも覗けないようにアクセス権限を変えておこう。
> mv wpa_supplicant.conf /etc/wpa_supplicant.conf > chown root:wheel /etc/wpa_supplicant.conf > chmod 640 /etc/wpa_supplicant.conf # rootのみアクセス可能にするなら 600
7-2. パソコン起動時のネットワーク設定
次に、/etc/rc.conf
に無線LANの設定を追加する。
下記内容を追記しよう。
wlans_iwm0=
のiwm0
の部分は、各自手順1で確認した無線LANデバイス名に置き換えること。
wlans_iwm0="wlan0" ifconfig_wlan0="WPA DHCP" create_args_wlan0="country JP regdomain ETSI"
7-3. 接続確認
設定が終わったら、ネットワークに接続できるか確認しよう。
下記コマンドでネットワークサービスを再起動後、ping
で接続確認だ。
> service netif restart > ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether zz:zz:zz:zz:zz:zz inet 192.XXX.XXX.XXX netmask 0xffffff00 broadcast 192.XXX.XXX.255 groups: wlan ssid XXX-B channel 36 (5180 MHz 11a) bssid mm:mm:mm:mm:mm:mm regdomain ETSI country JP authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 17 bmiss 10 mcastrate 6 mgmtrate 6 scanvalid 60 wme roaming MANUAL media: IEEE 802.11 Wireless Ethernet OFDM/48Mbps mode 11a status: associated nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > ping www.google.co.jp PING www.google.co.jp (xxx.xxx.xxx.xxx): 56 data bytes 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=0 ttl=56 time=21.146 ms 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=56 time=22.027 ms 64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=56 time=21.726 ms ^C # Ctrl+Cを押す
これであなたも幸せ無線LAN生活を始めることができる。
参考
以上。
- 出版社/メーカー: バッファロー
- 発売日: 2017/10/05
- メディア: Personal Computers
- この商品を含むブログを見る
BUFFALO WiFi 無線LAN 子機 WI-U2-433DMS 11ac 433+150Mbps USB2.0 ビームフォーミング機能搭載
- 出版社/メーカー: バッファロー
- 発売日: 2017/05/16
- メディア: Personal Computers
- この商品を含むブログ (1件) を見る