
オペレーティングシステムレベルでネットワークインターフェイスまたはリソースを使用しないようにシステムプロセスを分離する方法は?
概要
簡単に言えば、Linuxゲートウェイを設定したいと思います。簡単なNAT、ホームベースのLANゲートウェイに転送... Webベースのインターフェイスが必要またはsystemd
アクセスする必要はありません。systemd-networkd
基本的な
systemd
このミニマリストモードでは、ネットワークインターフェースにアクセスするためにsystemd-networkまたはNetworkManager(でも)を使用する必要はありません。
あなたは何をしましたか?
私はすべてのネットワーク要件/etc/resolv.conf
にBind9、ISC DHCP、ローカルを使用します。nftables
起動順序にはsystemdのみを使用してください(元々設計されているとおり)。
systemdパッケージ自体を除いて、systemdの次のネットワーク関連エントリをすべて無効にしました。人のブログ。
systemctl disable systemd-resolved.service
systemctl stop systemd-resolved
systemctl stop systemd-networkd.socket
systemctl stop systemd-networkd
systemctl stop networkd-dispatcher
systemctl stop systemd-networkd-wait-online
systemctl disable systemd-networkd.socket
systemctl disable systemd-networkd
systemctl disable networkd-dispatcher
systemctl disable systemd-networkd-wait-online
apt-get remove systemd-resolvconfd
apt-get remove systemd-networkd
apt-get remove openresolv
apt-get purge netplan.io
rm /etc/dhcp/dhclient-enter-hooks.d/resolved #ISC now updates resolv.conf
そしてインストール済み
apt-get install ifupdown
質問
私の問題は、nftables
ファイアウォールが実際にプロセスごとのトラフィックをブロックしないことです。
systemd
OSレベルでネットワークインターフェイスを使用してすべてのプロセスを分離する方法は?一種のグループリソース制限デバイスですか?
ノート
システム化された炎戦争は必要ありません。これは、最速の起動というsystemdの元のデザインを保存するためのものです。
答え1
反対表を受け取る危険があるため、ネットワークインターフェースにアクセスしたくない場合はsystemd
使用しないでくださいsystemd
。
長年にわたり、systemd-suiteがますます多くの機能を吸収しているのを見てきましたが、その一部にはネットワークアクセスが必要です。あなたが言ったように、それはタコです。 systemdファミリのさまざまなプロセスの相互依存性はしばしば驚くべきものです(少なくとも私にとっては)。これは、systemdファミリのプロセスに従わない場合は、数回のアップグレード後にすべてを再テストして再構成する必要があることを意味します。
真の最小限のゲートウェイ機能を実現するには、ビジボックスベースのシステムを考えてみましょう。
答え2
削除できますsystemd
。しかし、それに依存するプログラムはかなりたくさんあります。
したがって、別の方法は無効にして停止することですsystemctl
。