汎用Linuxディストリビューションでのネットワーク設定
自分の利用方針
アドレスやインタフェース間の接続などは netplan経由で設定する。network-manager or systemd-networkdは環境次第。インタフェースに紐づく詳細はifupdownを積極利用(wpa_supplicant@xxx より)。インタフェース横断で指定するカーネルパラメタは /etc/sysctl.conf 。
確認項目
wpa_supplicant.serviceを止めて wpa_supplicant@wlan0だけで動くか?
sytemd-networkd管理のインタフェースに対して isc-dhcp-server(dhcpd)を有効にできるか?
選択肢
ifupdown
最初期に動かしたりと、これは欠かせない
古典的、シェルスクリプトの塊で設定する
interfaceの状態変化に対するハンドラを書く (なんでもあり)
特定インタフェースのみpromiscoustを有効にしたり
network-manager
一般的でデスクトップとかで使う、Debian公式でサーバーにはちょっとという話
systemd-networkd
一般的で簡易的な設定をサーバーに設定するときに採用
アドレス解決、proxy arp, dhcpd立ち上げなど
interface名を指定できるのでifupdownと共存に使える
dhcpd立ち上げはおまけみたいで詳細は指定できない
isc-dhcp-serverを使う方が良さそう; 共存できるかわからない
netplan
yamlで systemcd-networkd, network-manager を設定するツール
簡単なことのみサポート
wifi接続
wpa_supplicant@{interface}でsystemd経由で起動させられる
overrideを使ってpromiscoustを有効にしたり
/etc/sysctl.conf
カーネルパラメタ永続化
promiscoustやproxy arpを有効にしたり
ネットワークサービスの起動
アプリケーションをインストールしてsystemdに登録 or ifupdown経由で起動
network-manager, systemd-networkdとの相性や競合で起動失敗があるので要確認