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キーは、NetworkManagernetworkdのどちらかを入れられます。デスクトップを構築した場合のデフォルトは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のネットワーク設定を操作する方法について学ぶことができます。これは、ネットワーク設定の自動化や、ネットワーク設定の管理をより柔軟に行うための一助となるでしょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です