sysctl
カーネルのパラメータの所得や値の変更などを行えるコマンド。 たまにつまるので覚えておく
すべての値を所得
$ sysctl -a
$ sysctl -A # 表形式
特定の値のみを表示
$ sysctl -n net.ipv4.tcp_syncookies
1
値を設定する
$ sysctl -w net.ipv4.tcp_syncookies=1
ファイルからカーネルパラメータを設定する
$ sysctl -p hoge.conf #指定しなければ /etc/sysctl.confから読み込んでくれる
sysctlの永続化
/etc/sysctl.conf
に値の組み合わせを書いておくか、 /etc/sysctl.d/
以下に設定を分けても記述出来る。
設定はキーとバリューで書くだけ
net.ipv4.tcp_syncookies = 1
あとは普通に追記してもよい
$ sysctl -w net.ipv4.tcp_syncookies=1 >> /etc/sysctl.conf
よく使うパラメータ
パラメータ | 説明 |
---|---|
fs.file-max |
ファイルディスクリプタの最大数 |
vm.swappiness |
メモリのスワップをどの程度の頻度で行うか。 値が高いほど高頻度で行うらしい |
net.ipv4.tcp_fin_timeout |
TCPのFINメッセージ受信からtimeoutまでの時間 |
net.ipv4.conf.default.rp_filter |
入力インターフェースを出力インターフェースが異なるパケットを破棄するかどうか |
kernel.panic |
カーネルパニック後に再起動するかどうか |
net.ipv4.ip_local_port_range |
TCPの受信ポートのレンジ |
net.ipv4.fib_multipath_hash_policy |
5 tupleを用いたPer Flow ECMPを有効にする |
net.ipv4.conf.{interface}.arp_ignore |
ARPを受信したインターフェース以外のARPに応答を返さない(通常はいずれかのInterfaceがアドレスをもっていれば返す) |
net.ipv4.conf.{interface}.arp_proxy |
ネットワーク的に到達可能性がある場合にARPの応答を返す |