- Ubuntu 26.04 サーバー管理ガイド
- Ubuntu 26.04 Reverse Path Filtering の基本設定 – 複数インターフェイスと PBR で rp_filter を確認する
- Ubuntu 26.04 カーネルモジュールの基本設定 – modules-load と modprobe.d を管理する
- Ubuntu 26.04 swap の無効化 – swapoff と fstab で永続停止する
- Ubuntu 26.04 Kubernetes ノードの事前準備 – kubelet / kubeadm とAPTリポジトリを構成する
- Ubuntu 26.04 再起動後確認 – 永続化された設定と起動状態を見る
Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
sysctl は、Linux カーネルの実行時パラメータを確認・変更する仕組みです。Ubuntu 26.04 では、ネットワーク転送、Reverse Path Filtering、ファイルハンドル、カーネル挙動などを /etc/sysctl.d/*.conf に分けて永続化できます。
この記事では、/etc/sysctl.d/90-my.conf を例に、現在値の確認、設定ファイル作成、sysctl -p による反映、sysctl --system、再起動後確認、戻し方を扱います。
sysctl で管理するもの
- ネットワーク転送やフィルタリングに関わる
net.*の値。 - ファイルハンドルや inotify などの
fs.*の値。 - メモリやカーネル挙動に関わる
vm.*やkernel.*の値。 - 一時変更と永続設定を分けて確認すること。
現在値を確認する
変更前に現在値を確認します。単一のキーを見る場合は sysctl キー名、まとめて見る場合は sysctl -a を使います。
sysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.all.rp_filter
sysctl fs.file-max設定ファイルの置き場所
Ubuntu 26.04 では、独自の sysctl 設定を /etc/sysctl.d/ 配下に置くと管理しやすくなります。この記事では /etc/sysctl.d/90-my.conf を使います。
ls -l /etc/sysctl.d
systemd-sysctl --cat-config設定ファイルを作成する
以下は最小例です。値は用途に合わせて変更します。ネットワーク転送や rp_filter は、ルーティング設計や複数インターフェイス構成に影響するため、理由を決めてから設定します。
sudo tee /etc/sysctl.d/90-my.conf >/dev/null <<'EOF'
net.ipv4.ip_forward = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
fs.file-max = 1048576
EOF
sudo chmod 0644 /etc/sysctl.d/90-my.conf設定を即時反映する
作成したファイルだけを反映する場合は sysctl -p にファイルを指定します。ここでエラーが出る場合は、キー名や値の形式を修正します。
sudo sysctl -p /etc/sysctl.d/90-my.conf全体の sysctl 設定を反映する
/etc/sysctl.d/ など、読み込み対象全体を反映する場合は sysctl --system を使います。複数ファイルの優先順や重複も確認できます。
sudo sysctl --system反映後の値を確認する
設定ファイルを置いただけで終わらせず、実際のカーネル値が変わっているかを確認します。
sysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.default.rp_filter
sysctl fs.file-max一時的に値を変更する
検証だけ行いたい場合は sysctl -w で一時変更できます。ただし、再起動後には永続化されません。永続化する場合は設定ファイルにも反映します。
sudo sysctl -w net.ipv4.ip_forward=1
sysctl net.ipv4.ip_forward
sudo sysctl -w net.ipv4.ip_forward=0再起動後に確認する
/etc/sysctl.d/ 配下の設定は起動時に読み込まれます。再起動後に値が維持されているか確認します。
sudo rebootsysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.all.rp_filter
sysctl fs.file-max
systemctl status systemd-sysctl.service --no-pagerKubernetes ノードで確認する値
Kubernetes ノードでは、container runtime や CNI の前提として sysctl を確認することがあります。bridge 関連の値は、必要なカーネルモジュールが読み込まれているかも合わせて確認します。
sysctl net.bridge.bridge-nf-call-iptables || true
sysctl net.bridge.bridge-nf-call-ip6tables || true
lsmod | grep br_netfilter || truerp_filter を変更する時の注意
rp_filter は戻り経路の確認に関わります。複数インターフェイス、Policy Based Routing、非対称経路を使う環境では、通信が落ちる原因にもなるため、インターフェイスごとの値を確認します。
sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.default.rp_filter
sysctl net.ipv4.conf.eth0.rp_filter || true
ip route
ip rule設定を戻す
問題が出た場合は、設定ファイルをバックアップから戻すか、該当行を削除して再反映します。再起動前に現在値と設定ファイルの両方を確認します。
sudo cp -a /etc/sysctl.d/90-my.conf /etc/sysctl.d/90-my.conf.bak.$(date +%Y%m%d%H%M%S)
sudo rm /etc/sysctl.d/90-my.conf
sudo sysctl --system確認項目
- 変更前の現在値を控えていること。
- 設定ファイルのキーが
key = valueの形式になっていること。 sudo sysctl -p /etc/sysctl.d/90-my.confがエラーなく通ること。- 再起動後も意図した値になっていること。
- ネットワーク系の値は、ルーティングやインターフェイス設計と矛盾していないこと。
まとめ
Ubuntu 26.04 の sysctl 設定は、現在値の確認、設定ファイル作成、即時反映、再起動後確認を分けて扱うと安全です。特にネットワーク系の値は通信経路に直接影響するため、/etc/sysctl.d/90-my.conf のように管理単位を分け、変更理由と確認コマンドをセットにして運用します。
- Ubuntu 26.04 サーバー管理ガイド
- Ubuntu 26.04 Reverse Path Filtering の基本設定 – 複数インターフェイスと PBR で rp_filter を確認する
- Ubuntu 26.04 カーネルモジュールの基本設定 – modules-load と modprobe.d を管理する
- Ubuntu 26.04 swap の無効化 – swapoff と fstab で永続停止する
- Ubuntu 26.04 Kubernetes ノードの事前準備 – kubelet / kubeadm とAPTリポジトリを構成する
- Ubuntu 26.04 再起動後確認 – 永続化された設定と起動状態を見る

