# ========================================================== # 核心拥塞控制与队列管理 (解决丢包与延迟) # ========================================================== # 使用 FQ (Fair Queueing) 队列调度算法,这是BBR的必要配合 net.core.default_qdisc = fq # 开启 BBR 拥塞控制算法 net.ipv4.tcp_congestion_control = bbr # ========================================================== # TCP 缓冲区调优 (针对 30-50Mbps 带宽优化) # ========================================================== # 格式: min default max # 核心策略:限制 max 值,防止 Bufferbloat。 # 2MB (2097152) 的缓冲区足以应对 50Mbps 下 300ms 的抖动,再大就会导致高延迟。 # 接收缓冲区 net.ipv4.tcp_rmem = 4096 87380 2097152 # 发送缓冲区 net.ipv4.tcp_wmem = 4096 65536 2097152 # 开启窗口缩放,允许窗口超过 64KB net.ipv4.tcp_window_scaling = 1 # ========================================================== # 连接追踪与并发优化 (Xray 高并发转发需求) # ========================================================== # 增加系统级文件描述符限制 fs.file-max = 1048576 # 增加入站连接队列长度,防止突发流量导致握手失败 net.core.somaxconn = 4096 net.core.netdev_max_backlog = 4096 # TCP Fast Open (TFO):减少握手延迟 # 值 3 表示同时开启客户端和服务端的 TFO 支持 # Xray 需要在配置中显式开启 "tcpFastOpen": true 才能生效 net.ipv4.tcp_fastopen = 3 # ========================================================== # 抗丢包与快速恢复 # ========================================================== # 开启 SACK (选择性确认),对丢包环境极其重要 net.ipv4.tcp_sack = 1 net.ipv4.tcp_dsack = 1 net.ipv4.tcp_fack = 1 # 缩短保活探测时间,快速剔除死连接(GFW常导致连接“假死”) net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_intvl = 15 # ========================================================== # 转发功能开启 (主机A必须) # ========================================================== net.ipv4.ip_forward = 1