色々やる流れです。
ネットブックにUbuntu Server入れる
の記事になります。
今回はUbuntuの無線LANをモバイルルーターに接続しようと思います。
でも、デフォルトゲートウェイを変えると面倒なので
接続確認してルーターにpingを打つ位にしておきます。
と、その前に今まで気づかなかったのですが
ネットブックをたたむとスリープしてしまうんですね。
先ほど畳んだ状態にsshしたら繋がらなくて気づきました。
まずそこをスリープしないように設定を変更します。
sudo vi /etc/systemd/logind.conf
#HandleLidSwitch=suspend
の所をコメントアウトを外し
HandleLidSwitch=ignore
に変更
そしてsystemdのログインを再起動して反映
sudo systemctl restart systemd-logind
たたんでも平気なことを確認。
念のため再起動もする
sudo reboot
たたんだ状態で外からSSHで繋げたので
スリープしてないことを確認、これでOK.
次に無線LANの方へ取りかかる
前回弄った時にいつの間にかWifiオンのままになってたので
スキャンして試してみる。
~$ sudo iwlist wlan0 scan | grep SSID
ESSID:"XXXXX"
ESSID:"XXXXX-mobile"
XXXXXが家の無線APでXXXXX-mobileがモバイルルーターです。
最初から見えてました。
次に接続コマンドを入れます。
~$ sudo apt install wpasupplicant
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
wpasupplicant はすでに最新バージョン (2.4-0ubuntu10) です。
wpasupplicant は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
入れた記憶が無いけど手動で入ってる?
create_apの時に一緒に入ったのかな
確かこのコマンド入ると自動接続のサービスも入るって
どこかで見たような気がする…確認する
~$ ps -ef | grep wpa
root 865 1 0 22:07 ? 00:00:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
いるいる…
~$ sudo systemctl stop wpa_supplicant
稼働中のサービスを止めて
~$ sudo systemctl disable wpa_supplicant.service
サービスの自動実行も止める
自動実行は止めたつもりだけど
再起動したらサービスがまた動いていたのでこれでは止まらないらしい。
どこを止めたら良いのか探したけれど探し当てられなかったので今回は放置。
プロセスはちゃんと止まった。
ここからの作業はここを見ながらやりました。
https://wiki.archlinux.jp/index.php/WPA_supplicant
読んでいくと
>プロセスが置き換えられるため、上記のコマンドを sudo で実行することはできません。
>root シェルが必要です。sudo で実行すると以下のエラーが表示されます
とあるので#から始まるコマンドはrootで実行しています。
# wpa_supplicant -B -i wlan0 -c <(wpa_passphrase XXXXX-mobile MOBILE-PASSWORD)
Successfully initialized wpa_supplicant
さっくり成功
~$ifconfig wlan0
wlan0: flags=4163
ether 00:23:4e:64:8f:57 txqueuelen 1000 (イーサネット)
RX packets 6 bytes 1110 (1.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29 bytes 4265 (4.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
繋がったけどIP持ってきてない
モバイルルーターの管理画面に行くと接続はされてる。
上の00:23:4e:64:8f:57がネットブックのWifiです。

そう言えばDHCP設定してないし手動か…
~$ sudo dhclient wlan0
~$ ifconfig wlan0
wlan0: flags=4163
inet 192.168.8.100 netmask 255.255.255.0 broadcast 192.168.8.255
ether 00:23:4e:64:8f:57 txqueuelen 1000 (イーサネット)
RX packets 54 bytes 7682 (7.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 51 bytes 7584 (7.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
IPも貰えた。
ping -4 192.168.8.1も通った。
ルーターの外に出るにはデフォルトルーターや
ネットワーク設定を弄らないと行けないので
面倒だしこの後も有線でやっていくので確認はここまで。
とりあえずIPを解放してから
~$ sudo dhclient wlan0 -r
さっきのwpa_supplicantのプロセスをkillして一端終了。
次はコマンドにAPやPASSを直接書かないで設定ファイルを作るやり方で確認。
まずはwpa_passphraseでパスキーの発行。
~$ wpa_passphrase XXXXX-mobile XXXXXXXXXXXX
network={
ssid="XXXXX-mobile"
#psk="XXXXXXXXXXXX"
psk=ae1a72be6882a89526eac22a68fef1fa569c5046ac5ceb24e338c0XXXXXXXXXX
}
この値をメモしてさっきのurlを参考にしながら設定ファイルを作成。
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
#ctrl_interface=/var/run/wpa_supplicant
#ctrl_interface_group=wheel
network={
ssid="XXXXX-mobile"
scan_ssid=0
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=ae1a72be6882a89526eac22a68fef1fa569c5046ac5ceb24e338c0XXXXXXXXXX
}
pairwiseはうちのルータの設定を見たらTKIPでした。
頭の2行はなくても動いてるんだけど後で打ち込むのも面倒なのでコメントアウト。
WPA2-PSKだと思うんだけどproto等色々変えて試したらこれで繋がったのでこの設定にする。
そして設定ファイルを保存したらWifiで繋いでみて
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
Successfully initialized wpa_supplicant
ルーターからIPを貰ってきて
~$ sudo dhclient wlan0
~$ ifconfig wlan0
wlan0: flags=4163
inet 192.168.8.100 netmask 255.255.255.0 broadcast 192.168.8.255
ether 00:23:4e:64:8f:57 txqueuelen 1000 (イーサネット)
ちゃんと貰ってたのでIPを解放して終了
~$ sudo dhclient wlan0 -r
サービスが勝手に起動するままだったり
起動してるサービスがちゃんとWifiに繋ぐようにしてもダメだったり
自動でIPを貰ってくるようになってないけど
軽くやったらどうしても上手く動かないので
今のところは使う予定のない機能だし放置することにします。
Linuxで無線LANは鬼門って聞く。
結構楽に繋がったけどあちこち思い通りになってないから
やっぱり難しい
タグ:uBuntu