~~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 実践的}}