概要
nmcliで、複数の無線ネットワーク設定のうち、システム起動時に特定のネットワーク設定を接続させることができた。
背景と目的
あるシステムで、複数の無線ネットワークが利用可能な環境で、起動時には特定のネットワークに接続し、その後アプリケーション側で他のネットワークへ切り替えたかったのでその方法を調べて試す。
詳細
1.実施環境
nmcliでネットワーク設定を複数定義している。ここでは2つあるとしてそれぞれ設定A、設定Bとし、起動時にAを、そのあとアプリケーション側の任意のタイミングでBに切り替えたいとする。
2. 調査
nmcliで設定できる項目として、起動時の自動接続に関係ありそうなものを見てみると、
$ nmcli c show 設定A : connection.autoconnect: yes connection.autoconnect-priority: 0 :
というものがあった。こちらを参考にすると、
- connection.autoconnectは、まさに自動接続の可否
- connection.autoconnect-priorityは、複数接続可能なものがあった場合の優先度
ということなので、設定Aのconnection.autoconnectを yes、設定Bのconnection.autoconnectをnoに設定してやればよいということになる。
3.試す
現状は両方autoconnectがyesであり、いつも設定Bにつながってしまう状態。で、以下を実行。
nmcli c mod 設定A connection.autoconnect yes nmcli c mod 設定B connection.autoconnect no
システムを再起動したところ、設定Aのネットワークにつながった。ということで、目的は達成。
なお、両方yesのままconnection.autoconnect-priorityを変えてみた。数値が大きいほうが優先ということなので、設定Aの数値を大きくしたが、設定Bにつながってしまい、うまくいかなかった。なぜ???
まとめと今後の課題
nmcliで、複数の無線ネットワーク設定のうち、システム起動時に特定のネットワーク設定を接続させることができた。