人生就是由众多的细节组成的
正因为是个细节,所以常被人所淡忘

开通vps主机后必做的10个事情 Debian12设置IPv4优先的教程

1、重做系统

一键DD脚本

DD完Debian 11,内存只用了46M。
链接:

https://github.com/bin456789/reinstall
https://github.com/leitbogioro/Tools

更新软件包列表并升级已安装的软件包

apt update -y && apt dist-upgrade -y

调整Swap虚拟内存

wget https://raw.githubusercontent.com/zhucaidan/swap.sh/main/swap.sh && bash swap.sh

自动同步校正系统时间

使用 timedatectl 管理时间

apt install systemd-timesyncd timedatectl set-ntp true

查看当前时间信息

timedatectl status

如NTP service为active代表已成功开启

Local time: Thu 2024-02-08 01:34:01 CST
Universal time: Wed 2024-02-07 17:34:01 UTC
RTC time: Wed 2024-02-07 17:34:01
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

设置时区为上海时间

timedatectl set-timezone Asia/Shanghai

解锁 DNS

通过以下命令来同时添加 154.12.177.22 和 8.8.8.8 两个 DNS 服务器到 /etc/resolv.conf

echo -e "nameserver 154.12.177.22\nnameserver 8.8.8.8" > /etc/resolv.conf

为了防止 NetworkManager 或 systemd-resolved 在重启或网络重连时覆盖 /etc/resolv.conf,可加锁:

chattr +i /etc/resolv.conf

解锁命令(如果需要修改):

chattr -i /etc/resolv.conf

验证是否生效

cat /etc/resolv.conf
dig google.com @154.12.177.22

如果解析正常,则说明 DNS 更换已成功,且支持解锁效果。

Debian开启BBR

一键开启BBR,优化VPS速度

echo -e "\nnet.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf && sysctl -p

查看是否成功开启

sysctl net.ipv4.tcp_congestion_control

若返回如下,则表示启动成功:

net.ipv4.tcp_congestion_control = bbr

2、修改服务器端口

新购机器SSH都是默认22端口,并且密码并不复杂,非常容易被暴力破解。

初级篇

以Debian为例,我们连接上SSH后,需要修改SSH配置文件,配置文件路径为: /etc/ssh/sshd_config
1.我们使用nano命令:nano /etc/ssh/sshd_config
现在进入文件修改页面,我们直接往最下面滑,找到PORT 22,直接修改为你想要的端口,推荐2万以上6万以下
2.然后同时按 Ctrl+X (保存退出的意思)
3.再按 Y 确认
这样你的SSH端口就修改成功了
最后重启SSH服务:

sudo systemctl restart sshd

进阶篇

改为仅密钥登录,非常安全。

其实有很多种生成密钥的方法,我们结合搬瓦工管理密钥的功能,做小白都会的教程。
1.我们打开一个密钥生成网站,随便都可以,比如:https://bkssl.com/ssl/ssh_generate 点击生成密钥。
2.我们把生成的私钥和密钥都下载保存好,复制公钥文本,打开搬瓦工的后台管理面板,点击左侧SSH keys,在输入框粘贴公钥,并点击确认,这样密钥就部署完成,而且每次重装系统,都不用再设置密钥。
3.我们此时已经能用私钥登录服务器,但是我们还要关闭密码登录,才能做到真正的安全。
4.同样使用nano命令配置文件:nano /etc/ssh/sshd_config
5.在SSH配置文件空白处添加禁止密码登录命令:PasswordAuthentication no
6.然后同时按 Ctrl+X (保存退出的意思)
7.再按 Y 确认
8.最后重启SSH服务: sudo systemctl restart sshd
这样你就只能用私钥进行登录

高级篇

安装fail2ban软件,控制登录行为。

fail2ban 是一个用于防止暴力破解 SSH 的工具,比如设置登录SSH失败几次就拉黑,以及每次尝试登录时间间隔。以下是安装步骤
1.输入安装命令: sudo apt install -y fail2ban
2.启动并设置开机自启:sudo systemctl enable –now fail2ban
3.这样你就安装好了,剩下的配置登录次数/间隔等,网上很多教程,就不一一赘述了。其实只要做到进阶篇,仅密钥登录,就完全没问题。

3、系统防火墙

防火墙是可以帮助计算机在内部网络和外部网络之间构建一道相对隔绝的保护屏障,从而保护数据信息的一种技术。如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,那么在远程连接该服务器时,可能会导致访问失败。本文主要介绍在Linux操作系统中,如何开启或关闭系统防火墙。

CentOS

查看防火墙运行状态

系统防火墙默认为关闭状态,您可以使用此命令确认防火墙当前状态。
sudo firewall-cmd --state
说明
not running:系统防火墙为关闭状态。
running:系统防火墙为开启状态。
出现报错-bash: firewall-cmd: command not found:表示未安装系统防火墙,若您需开启防火墙,请执行命令sudo yum install firewalld -y安装防火墙,再参考下方操作开启。
开启防火墙
sudo systemctl start firewalld
注意:如果您希望实现在每次重开机时自动启动服务,执行如下命令,开启开机自动启动防火墙服务。
sudo systemctl enable firewalld
关闭防火墙
sudo systemctl stop firewalld

注意:如果您不希望实现在每次重开机时自动启动服务,执行如下命令,关闭开机自动启动防火墙服务。

sudo systemctl disable firewalld

Debian

在Debian系统中,默认没有安装防火墙,可以通过清空防火墙策略,删除相关屏蔽规则。清空策略前,请务必备份防火墙策略。若需恢复规则,可以使用备份文件恢复防火墙策略。

查看防火墙策略
sudo iptables -L

关闭防火墙:清空防火墙策略。您可以通过清空防火墙策略,删除相关屏蔽规则,实现关闭防火墙功能。

说明
请替换[$Iptables]为实际防火墙策略的备份文件地址。

创建备份文件
sudo touch [$Iptables]
备份防火墙策略
sudo sh -c "iptables-save > [$Iptables]"
清空防火墙策略
sudo iptables -F

开启防火墙:根据备份文件恢复防火墙策略。

您可以通过恢复防火墙策略或者添加新的防护规则开启防火墙功能。

说明
请替换[$Iptables]为实际防火墙策略的备份文件地址。

sudo iptables-restore < [$Iptables]

4、设置IPv4优先

Debian12设置IPv4优先的教程
有些服务器双栈有V4和V6,少数情况下,V6会影响一些访问速度,所以如果没有V6需求,可以设置IPv4优先,具体放下如下。同时也有朋友反应,用了bin456789的DD脚本,改V4优先会断网,这里也补全了教程。
1.检测是否使用了V6:

执行下面命令,如果返回google.com (2607:f8b0:4009:808::200e) 56 data bytes。

ping -c 4 google.com

2.修改gai.conf文件:

vi /etc/gai.conf

将precedence ::ffff:0:0/96 100前的注释#号去掉。

其实到这里就好了,我实测重启后也能继续生效,后面是问AI建议我补充的。

3.修改 interfaces文件(如果你的debian12是通过bin456789等脚本DD安装,要看下这里是否为auto):

vi /etc/network/interfaces

然后将allow-hotplug enp3s0改成auto enp3s0,注意(这里enp3s0,你的服务器上可能显示为其他名称)。

4.重启网络服务,使更改生效:

sudo systemctl restart networking

5.再次检测:

会发现返回了IPv4信息。

ping -c 4 google.com

注意:如果你遇到DNS解锁失效(GPT,网飞等变得不可用,可能是/etc/network/interfaces和/etc/resolv.conf的DNS信息都有需要统一更改)

5、系统优化

基础优化

1.关闭不必要的服务

检查哪些服务在后台运行,并禁用不必要的服务:

systemctl list-units --type=service --state=running
systemctl disable --now

常见可以关闭的服务:cups, bluetooth, avahi-daemon, rpcbind 等。

2. 更新系统与软件包

保持系统最新,减少安全漏洞并提升性能:

apt update && apt upgrade -y # Debian/Ubuntu
yum update -y # CentOS

3.启用BBR提高网络速度

BBR(Bottleneck Bandwidth and Round-trip propagation time)可以优化TCP传输,提高网络吞吐量:

echo "net.core.default_qdisc=fq" | tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | tee -a /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_congestion_control

如果返回 bbr,说明启用成功。

CPU与进程优化

1. 限制CPU占用(防止高负载)

安装 cpulimit 限制单个进程的CPU占用:

apt install cpulimit -y # Debian/Ubuntu
yum install epel-release -y && yum install cpulimit -y # CentOS
cpulimit -e process_name -l 50 # 限制该进程最多使用50%的CPU

2. 限制进程数量(防止资源耗尽)

编辑 /etc/security/limits.conf,为指定用户添加限制:

username hard nproc 200

这样用户 username 最多只能运行 200 个进程。

内存优化

1. 禁用或调整 Swap

Swap 在 VPS 上可能会影响性能,特别是 SSD 方案:

swapoff -a # 关闭 Swap
sed -i '/swap/d' /etc/fstab # 防止重启后恢复

如果 VPS 内存较小(512MB~1GB),建议保留 Swap 但优化:

echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

这样系统更倾向于使用物理内存,而非频繁读写 Swap。

2. 清理缓存

定期释放无用的缓存,减少内存占用:

sync; echo 3 > /proc/sys/vm/drop_caches

可以加到 cron 任务中,每天定期执行:

echo "0 4 * * * root sync; echo 3 > /proc/sys/vm/drop_caches" >> /etc/crontab

磁盘与存储优化

1. 使用 Fstrim(针对 SSD VPS)

如果 VPS 使用 SSD,启用 fstrim 以保持性能:

systemctl enable fstrim.timer
systemctl start fstrim.timer

2. 提高文件系统 I/O 性能

调整 I/O 调度器:

echo "noop" > /sys/block/sda/queue/scheduler

或者 mq-deadline(适用于大部分 VPS):

echo "mq-deadline" > /sys/block/sda/queue/scheduler

3. 清理日志文件

日志文件过大会影响磁盘空间,定期清理:

journalctl --vacuum-size=100M # 清理日志至100MB

网络优化

1. 调整 TCP 参数

编辑 /etc/sysctl.conf 添加以下内容:

net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 87380 16777216
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_slow_start_after_idle=0

应用新配置:

sysctl -p

2. 禁用 IPV6(如果不需要)

部分 VPS 的 IPv6 可能影响网络稳定性,建议禁用:

echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p
赞(1) 打赏
未经允许不得转载:毛桃博客 » 开通vps主机后必做的10个事情

评论 抢沙发

评论前必须登录!

 

实践是学习的最佳途径

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

了解更多看平潭

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册