本站点使用基于 JavaScript 的 CSS 异步加载改善用户浏览体验,若您发现页面显示异常,请允许 JavaScript 运行
树莓派旁路由「三」:内核网络设置
negoces ・ 2023-02-21 树莓派网关

开启 TCP-fastopen,BBR,设置最大连接数等功能

开启 BBR

BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。

  1. 设置自动加载模块

    1
    
    echo "tcp_bbr" | sudo tee /etc/modules-load.d/tcp_bbr.conf
    
  2. 设置自动配置参数

    1
    2
    3
    
    echo "net.core.default_qdisc = fq_codel
    net.ipv4.tcp_congestion_control = bbr" | \
    sudo tee /etc/sysctl.d/10-tcp_bbr.conf
    

开启 TCP-fastopen

设置自动配置参数

1
2
echo "net.ipv4.tcp_fastopen = 3" | \
sudo tee /etc/sysctl.d/10-tcp_fastopen.conf

注: 实际网络复杂,基本等于无效。

开启数据包转发

这也是作为网关的核心功能,以下参数来自 ChatGPT,未验证性能

1
2
3
4
5
6
7
8
echo "net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.tcp_mtu_probing = 1" | \
sudo tee /etc/sysctl.d/10-forward.conf

设置最大连接数

过大会导致转发速率大幅下降,来自网络的计算公式:nf_conntrack_max = ram_size_bytes/16KB/2

树莓派内存为 8GB,得 x = 8*((1024)^3)/(16*1024)/2262144

模块加载:

1
echo "nf_conntrack" | sudo tee /etc/modules-load.d/nf_conntrack.conf

持久化配置:

1
2
echo "net.netfilter.nf_conntrack_max = 262144" | \
sudo tee /etc/sysctl.d/10-nf_conntrack.conf
树莓派旁路由「三」:内核网络设置
本文作者
negoces
发布时间
2023-02-20
许可协议
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!