sysctl -a # 顯示所有可讀變數(500+)
sysctl kern.maxproc # 讀取單一變數
sysctl -w kern.maxfiles=5000 # 臨時修改
vi /etc/sysctl.conf # 永久配置
sysctl -p # 套用配置
值型態:字串、數字、布林 (1=on, 0=off)。
# 核心安全與除錯
kernel.sysrq = 0
kernel.core_uses_pid = 1
# 共享記憶體(視需求啟用)
# kernel.shmmax = 67108864
# 網路核心參數
net.core.netdev_max_backlog = 1024
net.core.hot_list_length = 256
net.core.rmem_default = 65535
net.core.rmem_max = 8388608
net.core.wmem_default = 65535
net.core.wmem_max = 8388608
net.core.optmem_max = 40960
# IPv4 通用介面預設(all/lo/eth0 同步生效)
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.log_martians = 1
# TCP 連線優化
net.ipv4.tcp_fin_timeout = 25
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_reordering = 5
net.ipv4.tcp_max_tw_buckets = 360000
# TCP 緩衝區自動調整
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65535 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608
# ICMP 防護
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# 本地埠範圍(視負載調整)
# net.ipv4.ip_local_port_range = 1024 65000
# 禁 Ping(視安全策略啟用)
# net.ipv4.icmp_echo_ignore_all = 1
| 參數 | 作用 | 建議值 |
|---|---|---|
| tcp_syncookies | 防 SYN Flood 攻擊 | 1 |
| tcp_max_syn_backlog | 半連線佇列上限 | 2048+ |
| tcp_fin_timeout | TIME_WAIT 縮短 | 25-30 |
| tcp_keepalive_time | 空閒連線偵測間隔 | 1200 (20min) |
| tcp_window_scaling | 支援大視窗 (高延遲鏈路) | 1 |
| tcp_sack / tcp_fack | 選擇性確認,提升重傳效率 | 1 |
| tcp_timestamps | RTT 精確測量、防序號繞回 | 1 |
| tcp_max_tw_buckets | TIME_WAIT 桶上限,防記憶體耗盡 | 360000 |
| netdev_max_backlog | 網卡輸入佇列,吸收突發流量 | 1024+ |
| rmem/wmem max | Socket 收發緩衝上限 | 8388608 (8MB) |
| tcp_mem | TCP 整體記憶體壓力門檻 | 同 wmem_max |
netstat -s、ss -s、sar -n TCP 指標。tcp_max_syn_backlog、tcp_fin_timeout、tcp_tw_reuse(需核心支援)。tcp_rmem/wmem、tcp_window_scaling、netdev_max_backlog。sysctl -w 臨時驗證,確認無副作用再寫入 sysctl.conf。Linux MBR 引導記錄備份與恢復實戰:dd 命令、GRUB 修復與雙系統引導修復
Shell 數學運算完全指南:let、(())、$[]、expr、bc、awk 六大方法詳解
Linux 端口監聽實戰指南:netstat 與 nmap 核心用法詳解
CentOS 安裝配置 FTP 服務 (vsftpd) 標準流程:yum 安裝、服務管理、配置檔調整、用戶建立、測試驗證
Linux 審計用戶操作歷史:通過 /etc/profile 記錄登錄 IP、用戶、時間戳與完整命令軌跡
Linux 服務器性能優化綜合指南:Apache MPM 調優、MySQL 狀態分析、系統負載監控三大支柱