Ubuntuのネットワーク設定は、バージョン17.10からNetplanベースに変更されました。しかし、Ubuntuをデスクトップとして利用する場合は、従来通りのNetworkManagerベースとなっています。
Ubuntuのデフォルト設定では、/etc/netplan/01-network-manager-all.yaml
に以下のような設定がされています。
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
このrenderer
キーは、NetworkManager
かnetworkd
のどちらかを入れられます。デスクトップを構築した場合のデフォルトはNetworkManager
となっています。一方、Ubuntu Serverではnetworkd
になります。
PythonでNetplanの設定を解析するためのライブラリも存在します。このライブラリを使うと、Netplanの設定をPythonのデータ構造として扱うことができます。
import netplan
p = netplan.Parser()
data = p.parse()
for iface, cfg in data.items():
print('{section}/{name}'.format(section=cfg.section, name=iface))
以上の情報を元に、Pythonを使ってUbuntuのネットワーク設定を操作する方法について学ぶことができます。これは、ネットワーク設定の自動化や、ネットワーク設定の管理をより柔軟に行うための一助となるでしょう。