内容提要
文章介绍了在Ubuntu 26.04 VPS上配置安全与性能优化的补充步骤:用nftables和fail2ban替代TCP Wrap防护,启用BBR提升网络传输,并为PHP 8.5开启JIT加速。通过配置和测试,性能显著提升,如bench.php时间从0.270秒降至0.0898秒,并建议修改jail.local避免封禁自己。
延伸解读
安全防护:从TCP Wrap到nftables与fail2ban
文章提到作者已很少使用TCP Wrap,转而采用nftables配合fail2ban。Ubuntu 26.04默认安装UFW作为nftables前端,但作者选择卸载UFW并直接启用nftables。fail2ban的配置建议修改jail.local,并在ignoreip中填入自己的IP,避免误封。实际运行中,fail2ban在约20小时内封禁78个IP,7天后累计封禁831次,可见其有效拦截扫描流量。
启用BBR优化网络传输
BBR是Google开发的拥塞控制算法,对网络传输性能有显著提升。文章建议在/etc/sysctl.d/99-network.conf中添加配置,启用fq队列规则和bbr算法,并通过sysctl命令验证。启用后,可用sysctl net.ipv4.tcp_available_congestion_control查看可用算法,确认bbr已生效。这一优化对VPS的网络吞吐和延迟改善明显。
PHP 8.5开启JIT加速性能
对于重度使用PHP的用户,开启JIT可显著提升性能。文章建议修改/etc/php/8.5/fpm/conf.d/10-opcache.ini,设置opcache.enable_cli=1、opcache.jit_buffer_size=64M和opcache.jit=tracing。修改后重启php8.5-fpm,通过bench.php等测试,平均时间从0.270秒降至0.0898秒,性能提升约3倍,实际体验更流畅。
Q&A
如何在Ubuntu 26.04上启用BBR以优化网络传输?
编辑/etc/sysctl.d/99-network.conf文件,添加以下内容:net.core.default_qdisc=fq和net.ipv4.tcp_congestion_control=bbr,然后运行sudo sysctl -p /etc/sysctl.d/99-network.conf应用配置。
Ubuntu 26.04默认使用什么防火墙?如何替换为nftables?
Ubuntu 26.04默认使用UFW作为nftables的前端。要替换为nftables,先禁用并移除UFW:sudo systemctl disable --now ufw和sudo apt remove ufw,然后启用nftables:sudo systemctl enable --now nftables。
如何配置fail2ban以避免封禁自己的IP?
在/etc/fail2ban/jail.local文件中,将你的IP地址添加到ignoreip参数中,这样fail2ban就不会封禁你的IP。
如何为PHP 8.5开启JIT加速?
编辑/etc/php/8.5/fpm/conf.d/10-opcache.ini文件,添加或修改以下配置:opcache.enable_cli=1、opcache.jit_buffer_size=64M、opcache.jit=tracing,然后重启php8.5-fpm服务。
启用BBR和JIT后,性能提升有多大?
启用BBR和JIT后,性能显著提升。例如,bench.php测试时间从0.270秒降至0.0898秒,MicroBench从1.8302降至0.7874,bubble.php从0.08230降至0.0393,X Prober的Server Benchmark得分从463,062提升到506,317。
fail2ban在运行一段时间后封禁了多少IP?
启用fail2ban约20小时后,封禁了78个IP;运行7天后,封禁IP数量达到831次,当前有95个IP被禁。