服务器初始化

Debian 发布新版本了,借此机会重新配置一台服务器。安装上一些必备的软件,比如 ufw、fail2ban、nginx、docker...

防火墙管理工具 ufw

系统自带的防火墙工具 iptables 操作起来比较复杂,而 ufw 是一个简单的代理操作 iptables 的工具。Ubuntu 镜像里边自带了这个工具,Debian 上可以手动安装一下。

1
2
3
4
5
6
7
8
9
apt install ufw               # 安装 ufw
ufw default deny incoming # 默认禁止所有传入
ufw default allow outgoing # 默认允许所有传出
ufw allow ssh # 允许 TCP/22 传入
ufw allow http # 允许 TCP/80 传入
ufw allow https # 允许 TCP/UDP/443 传入
ufw allow 51820/udp # 允许 UDP/51820 传入
ufw logging off # 关闭日志
ufw enable # 启动 ufw

在最后一步开启 ufw 时要注意一下是不是放通了 ssh 连接,避免远程服务器失联。

登录日志检查工具 fail2ban

fail2ban 用来检查 ssh 服务日志里登录失败记录,对于失败次数太多的客户端采取禁止的措施,本质上还是操作 iptables。

1
apt install fail2ban

安装好就不用管了。

使用 TCP BBR 拥塞控制算法

在拥塞严重的网络上,使用 BBR 算法的软件成功传输 TCP 数据包的机会更大。

1
2
3
4
echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf
sysctl -p # 重载系统配置文件
lsmod | grep bbr # 查询模块运行状况

Nginx

下面这个两个网站可以自动生成你需要的 Nginx 配置文件。

Docker

一键安装脚本,使用国内阿里云镜像设置最新版 Docker Engine CE。

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

然后,各家云服务厂家都有针对 Docker Hub 的提速服务:

要注意的是,Docker 的端口映射也是直接操作 iptables,和 ufw 操作权限是平级的。因此前面用 ufw 做的任何限制对 Docker 来说没有阻碍。