はじめに
Ubuntu 20.04で、NetworkManagerを利用している場合、インターネット接続できないと、デフォルトゲートウェイのMetricに20000加算されてしまう仕様の回避方法を紹介する。
NetworkManagerの仕様
下記の「connectivity section」に記載があるように、インターネット接続できないと、「各デバイスのデフォルトルートのMetricに+20000のペナルティが加算される」と記載がある。これは、複数NICを使用している際などには有効な設定となるが、インターネット接続できない可能性がある環境では不都合が生じる可能性がある。
The other use is that default-route of devices without global connectivity get a penalty of +20000 to the route-metric. This has the purpose to give a better default-route to devices that have global connectivity. For example, when being connected to WWAN and to a Wi-Fi network which is behind a captive portal, WWAN still gets preferred until login.
動作確認環境
- Ubuntu 20.04
- Jetson JetPack 5.1
方法
NetworkManagerの設定である「Connectivity Check(接続性の確認)」を無効化する(デフォルトでは有効となっている)。
GUIの場合
UbuntuのGUIメニューから、「設定」⇒「プライバシー」⇒「接続性の確認」で、OFFに設定する。
CUIの場合
設定ファイル(NetworkManager-intern.conf)をviなどで修正する。
sudo vi /var/lib/NetworkManager/NetworkManager-intern.conf
下記を追記する。
[connectivity]
.set.enabled=false
NetworkManagerを再起動すると、設定が反映される。
sudo systemctl restart network-manager.service
自動化したい場合
iniファイル設定ツールであるcrudiniを使って自動化する。
crudiniのインストール。
sudo apt update
sudo apt install crudini
Connectivity Checkの無効化設定と反映。
sudo crudini --set /var/lib/NetworkManager/NetworkManager-intern.conf "connectivity" ".set.enabled" "false"
sudo systemctl restart network-manager.service
参考