










在介绍了如何安装 Ubuntu 26.04 LTS, Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS上后,有些补充内容。
比如 acme.sh 现在安装的 SSL 证书,默认已经是 ecc 证书了,就是 ecc-256 (prime256v1, "ECDSA P-256")。
然而还有一些需要说明的情况就放在了下面。
实际使用上,现在我已经很少再用 TCP Wrap 来作安全防护,而是使用了 nftables 防火墙,配合 fail2ban 来组合配合。
Ubuntu 26.04. 已经默认安装了 nftables 了,如果没有的话,就是用下面的来安装。
davidyin@pecan:~$ sudo service nftables status
○ nftables.service - nftables
Loaded: loaded (/usr/lib/systemd/system/nftables.service; disabled; preset: enabled)
Active: inactive (dead)
Docs: man:nft(8)
http://wiki.nftables.org
而 Ubuntu 26.04 默认是安装使用了 UFW,作为 nftables 的前端。这里我不打算使用。就需要卸掉。
sudo systemctl disable --now ufw sudo apt remove ufw
当然还需要启用 nftables。安装 fail2ban.
sudo systemctl enable --now nftables
sudo apt install fail2ban
fail2ban 有几个常见命令,如下:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client version
返回 1.1.0,这是版本号。还有两个命令可以看 fail2ban 的状态,Ban了那些服务,哪些 IP 地址。
davidyin@pecan:~$ sudo fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd
davidyin@pecan:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 6
| |- Total failed: 6
| `- Journal matches: _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
fail2ban 的配置文件,最好是修改 /etc/fail2ban/jail.local 这个是本机文件,以后升级系统,升级 fail2ban 也不会改变该文件。
有些参数需要设置在 jail.local 里面。比如下面,在 ignoreip 这里填入自己的 ip 地址,这样就不会不小心把自己给关在外面了。
另外还有 收件地址等等。
在 Webmin 管理界面,也有 Fail2Ban 的管理模块,使用也是很方便的。我通常就在 webmin 里面做修改。
![]()
大概启用 fail2ban 一个小时之后,看一眼封掉多少 IP。
在大约二十个小时之后,大约被封禁掉78个 IP 地址。大多是那些从各个机房过来扫描的。
在开机大约七天后,再次查看了 Fail2Ban 的记录,在 SSH服务上,各种登录尝试失败后的情况,被封禁的 IP 数量达到 831 次。当前还有 95 个 IP 地址。
这个对于网络传输很重要。好的这是 Google 搞出来的东西,BBR。
sudo nano /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
有两条命令可以用来查看情况,下面第一条是看有哪些可用的拥塞算法,第二条是看当前生效的是哪一种拥塞算法。
davidyin@pecan:~$ sudo sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
davidyin@pecan:~$ sudo sysctl -n net.ipv4.tcp_congestion_control
bbr
对于使用 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 服务,用我常用的一些 php 性能测试 script,比较修改前后的测试结果。可以大体得出一个结论,速度快了。
用 bench.php 测试,平均时间从 0.270s 提高到了 0.0898秒。
用 MicroBench 测试,平均时间从 1.8302 提高到 0.7874
用 bubble.php 测试,时间从 0.08230 提高到 0.0393.
用 X Prober v10.0.1 内置的 Server Benchmark 测试,463,062 提高到了 506,317。
这种性能提高不只是看数字好看,而是能实际感受得到的。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。