~~NOCACHE~~
## 10.カーネルパラメータ
### /etc/sysctl.d/99-sysctl.conf設定方法
#変更(/etc/sysctl.confのシンボリックリンク)
vi /etc/sysctl.d/99-sysctl.conf
#適用
sysctl -p
#### MagicSysRqKey設定
#ファイル・キャッシュの同期処理(sync処理)のみ有効にする。
kernel.sysrq = 16
#MagicSysRqKeyの確認コマンド
echo s > /proc/sysrq-trigger
#Emergency Sync completeと出ていれば完了
dmesg
https://qiita.com/Kernel_OGSun/items/6e540792a576e577e06f
#### kernel.panicの挙動設定
#パニック後(またはパニック後のdiskdump取得後)何秒で再起動処理を行うか(0は再起動しない)
kernel.sysrq = 1
#### coreダンプ出力設定
#setuidされたプロセスや、保護されたプロセスについてcoreダンプを生成しない
fs.suid_dumpable = 0
#### TCP/IPのポート不足対策設定
#TCP/IPのポート範囲を拡張する。(下限は32768より下げられるがMWの通信要件と重複しないよう設計する)
net.ipv4.ip_local_port_range = 32768 65000
#####下記はサーバのCPU張り付きや、ポート不足が顕著に出る場合は設定してみる#####
#新しい接続に対して、TIME_WAIT 状態のソケットを再利用する
net.ipv4.tcp_tw_recycle = 0
#TIME_WAIT 状態のソケットを素早く再利用する
net.ipv4.tcp_tw_reuse = 1
#FIN-WAIT2 から TIME_WAIT に状態が変化するまでの時間
net.ipv4.tcp_fin_timeout = 30
[[https://blog.ervin818.net/post/50411739410/port数が足りないときの対策|https://blog.ervin818.net/post/50411739410/port数が足りないときの対策]]
https://server.etutsplus.com/kernel-setting-tcp-fin-timeout/
#### IPv4モジュールの関連
#ICMP リダイレクトを無視します(MITM 攻撃を防ぎます)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
#あり得ないパケット(不審なパケット)、無効なアドレスを持つパケットを記録します。
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
#ゲートウェイリストにデフォルトで列記されているゲートウェイに対してのみ、ICMP リダイレクトの受信を許可します。
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.default.secure_redirects = 1
#すべてのインターフェイスですべての IPv4 ICMP リダイレクトパケットの受信を無効にしない。
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
#IPv4のルーティングキャッシュを初期化する。
net.ipv4.route.flush = 1
https://qiita.com/makoto1899/items/8051e4355827accec841
https://qiita.com/JhonnyBravo/items/2d7f5036dc8e3aee345d
#### IPv6モジュールの関連
#IPv6を無効化する。
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
#### アプリケーションでtcp keepaliveが有効な場合のハーフコネクション・ハーフオープン対策
必要に応じて記載する。※各値はデフォルト値を記載しているのでチューニングする必要あり。
#keepalive packetを送信するまでの時間を秒単位で指定します 。デフォルトは2時間(7200秒)
net.ipv4.tcp_keepalive_time = 7200
#keepalive packetを送信する回数を指定します。デフォルトは9回
net.ipv4.tcp_keepalive_probes = 9
#keepalive packetを送信する間隔を秒単位で指定します。デフォルトは75秒
net.ipv4.tcp_keepalive_intvl = 75
https://qiita.com/keikmobile/items/5f2f427baf9121ccf40f
### 初期値
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
{{tag>AWS RHEL 実践的}}