V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
DejavuMoe
V2EX  ›  程序员

新到手的 Linux 服务器,我这样设置

  •  3
     
  •   DejavuMoe · 21 小时 20 分钟前 · 3654 次点击
    42 条回复    2025-11-26 19:27:01 +08:00
    totoro625
        1
    totoro625  
       20 小时 29 分钟前
    写的很详细,非常有帮助
    随便提几个小建议
    1. apt 和 apt-get 不要混用,统一用一个就行
    2. Debian13 源用 DEB822 格式,不要再用传统格式了
    3. ufw 默认的日志服务依赖 rsyslog ,建议额外安装一下,否则会漏日志

    有几个疑问
    1. 已经使用 key 登录 ssh 了,还需要 Fail2ban 保护 ssh 吗?
    2. docker 绑定 127.0.0.1 之后,如果需要公网端口访问+ufw 控制,如何解决?
    bodayw
        2
    bodayw  
       20 小时 0 分钟前   ❤️ 8
    看到说要启用 BBR ,想起来我前阵子恰好稍微研究了一下这个。

    先说结论:虽然网上流传的烂大街的教程和脚本都写了 net.core.default_qdisc = fq ,但这个应该早就不需要了。只需 net.ipv4.tcp_congestion_control=bbr 即可。

    Linux kernel < 4.20 的时候,配置 fq 是必须的,但现在已经不是了,参见:
    https://groups.google.com/g/bbr-dev/c/4jL4ropdOV8

    根据 Bufferbloat 创始人之一 Dave Täht 的说法,fq_codel 是更好的默认值,而这也已经是几乎所有主流发行版的默认配置了( Debian 应该是最后一个改的,从 bullseye(11) 开始)。fq 只在少数情况下优于 fq_codel 。详见这里的评论:
    https://github.com/systemd/systemd/issues/9725
    以及这里:
    https://blog.cerowrt.org/post/state_of_fq_codel/
    Atma
        3
    Atma  
       19 小时 56 分钟前
    @totoro625 端口最好也换一下;公网可以 ng 反代,甚至套 cloudflare ,只允许 cloudflare ip 访问
    cndns
        4
    cndns  
       17 小时 31 分钟前 via Android
    DejavuMoe
        5
    DejavuMoe  
    OP
       11 小时 51 分钟前
    @totoro625 建议 1~2 没影响,3 会再学习一下。
    已经使用 SSH key 了,还是需要 Fail2ban
    公网访问使用任何 web 服务器 Nginx 、Apache 、Caddy……反向代理即可
    DejavuMoe
        6
    DejavuMoe  
    OP
       11 小时 49 分钟前
    @bodayw 学习了,感谢!
    BeforeTooLate
        7
    BeforeTooLate  
       11 小时 4 分钟前   ❤️ 1
    villivateur
        8
    villivateur  
       10 小时 53 分钟前   ❤️ 4
    我一直觉得,SSH 只要禁用密码登录就行了,改端口、fail2ban 都是画蛇添足
    jasonyang9
        9
    jasonyang9  
       10 小时 29 分钟前 via Android
    👍大佬整个 ansible playbook 跑一下。。。
    evansun
        10
    evansun  
       10 小时 22 分钟前
    有人给我解答下问题么,我本地装 podman php 做开发环境,但是现在 主机 nginx 访问无权限
    daimaosix
        11
    daimaosix  
       10 小时 8 分钟前
    @bodayw 学习了!
    daimaosix
        12
    daimaosix  
       10 小时 6 分钟前
    @villivateur 没有绝对的安全,即使改端口,使用 fail2ban 都是为了提高一些门槛,无非就是你不做其他的沦陷的更快一些
    secretys
        13
    secretys  
       9 小时 59 分钟前
    这个博客好看,不知道 wp 有没有一样的主题
    villivateur
        14
    villivateur  
       9 小时 59 分钟前
    @daimaosix 禁用密码登录,只允许密钥登录,就是现实意义上的绝对安全,不可能破解。
    iamwin
        15
    iamwin  
       9 小时 51 分钟前   ❤️ 2
    提几点建议啊
    1. 不推荐使用经过加料的 dd 脚本,如果你要重装 debian 的话,我更推荐在服务商的恢复模式下使用官方的云镜像 dd 覆盖目标磁盘并手动调整分区 https://cloud.debian.org/images/cloud/ , 或者使用 https://netboot.xyz/ ,直接重装系统。
    2. 如果你是用的是 debian 最新版系统,这三个包已自带 ca-certificates apt-transport-https curl ,不需要再次安装,screen 包我不知道你安装来做什么,如果你是准备用来持久化后台运行某些程序,我建议你学习一下 systemd 服务的写法,还有 unzip 包,用的情况很多,推荐你安装
    3. docker 安装过程,他们官网的指南已经过时了,你只需要安装 docker-ce 这一个包其他都会跟着一起安装,更推荐使用新的 docker compose 命令,而不是老的 docker-compose
    4. 如果你是手打命令用 apt ,如果你是写脚本用 apt-get ,apt 在脚本里面用会出现一些 file locked 的问题
    5. fail2ban 和 ufw ,这两个东西,如果是你自己使用的服务器,我觉得是完全没有必要安装的,对于防火墙我推荐你也学习一下 firewalld
    6. 最后 ssh 配置我觉得改非默认端口就能减少绝大部分的密码爆破了,其他配置改了用处都不大
    BeforeTooLate
        16
    BeforeTooLate  
       9 小时 43 分钟前
    @villivateur 你的理解没有错啊,改端口、fail2ban 只不过可以减少被暴力扫描的烦人的日志罢了,我就不安装 fail2ban ,日志里面就 N 多的扫描记录
    realpg
        17
    realpg  
    PRO
       9 小时 41 分钟前
    @iamwin #15
    搞过云基础设施的建议:

    小厂云服务可以 dd 官方镜像
    大厂/巨厂不建议的, 会有很多隐性问题, 还是用厂商给你弄好的, 换了在一些特殊调度上会亏, 有些厂商是有一些黑科技的 除非你用来挖矿或者纯 CPU 密集应用
    mdn
        18
    mdn  
       9 小时 40 分钟前
    @daimaosix ssh 密钥被破解,等于加密货币 可以被破解,fail2ban 唯一作用减少日志
    liuzimin
        19
    liuzimin  
       9 小时 35 分钟前
    没人用 ssh 的两步验证吗?我觉得还挺爽的。
    Suomea
        20
    Suomea  
       9 小时 33 分钟前
    密码复杂度
    密码过期
    登录失败锁定
    会话超时自动退出
    开启审计进程
    94nb
        21
    94nb  
       9 小时 13 分钟前
    额,我也问个问题哈,你们单独用 ufw ,那安全组策略那里是直接全放开,直接用服务器的防火墙做防护吗?我的服务器基本没装过防火墙,都是依赖安全组设置传入传出。。。
    wangqi060934
        22
    wangqi060934  
       9 小时 8 分钟前
    ChallengeResponseAuthentication no ,配这个是为啥?
    1018ji
        23
    1018ji  
       8 小时 36 分钟前
    1018ji
        24
    1018ji  
       8 小时 36 分钟前
    lotspeed
    CcHer
        25
    CcHer  
       8 小时 18 分钟前
    softlimit 参数
    要不要根据情况关闭 swap
    selinux 和按需关闭防火墙,第三方防火墙要考虑使用的问题
    DejavuMoe
        26
    DejavuMoe  
    OP
       8 小时 17 分钟前
    @BeforeTooLate 这个好!感谢分享
    hi2hi
        27
    hi2hi  
       7 小时 41 分钟前   ❤️ 1
    我的步骤,1 、有枣没枣,先把一堆自己常用的工具安装上; 2 、改密钥登录和端口(防止一些无脑子爆破); 3 、装上 Docker ,开始 All in Docker
    lyxxxh2
        28
    lyxxxh2  
       5 小时 4 分钟前

    被爆了一个月了,基本是爆 root admin 用户。
    好奇他多久停止,让他继续玩。
    asong
        29
    asong  
       4 小时 42 分钟前
    感谢分享,最近买了一个 racknerd 的服务器,默认是 Ubuntu 系统的,请问是否也适用(我看这个帖子里都是关于 Debian 的🤣)
    zhanying
        30
    zhanying  
       4 小时 18 分钟前
    补充两个中国特色小工具:
    1 、linuxmirrors
    2 、chsrc

    一个是给包管理器换源,一个是各种换源
    DejavuMoe
        31
    DejavuMoe  
    OP
       3 小时 30 分钟前
    @asong 适用
    elevioux
        32
    elevioux  
       2 小时 29 分钟前
    在 根目录运行 claude code !
    adoal
        33
    adoal  
       2 小时 26 分钟前
    我一般会开 fail2ban 或 sshguard ,但不会换 ssh 端口
    mx1700
        34
    mx1700  
       2 小时 22 分钟前 via Android
    @94nb 大厂有自己的防火墙,服务器全放开就行
    小厂一般都没有,就需要每台服务器自己维护
    artiga033
        35
    artiga033  
       2 小时 0 分钟前 via Android
    @iamwin 关于第 2 点,screen 和 systemd 设计目标就不一样,我自己的话用的是 tmux 。主要是跑一些可能运行很久的临时任务,比如下载或者上传一个大文件,临时开个端口转发之类的这种一次性场景。
    94nb
        36
    94nb  
       1 小时 41 分钟前
    @mx1700 哦哦哦,了解了,感谢
    ibegyourpardon
        37
    ibegyourpardon  
       1 小时 9 分钟前
    这个帖子久违的没有人炫耀,显摆,而是真诚的给建议。

    真好。
    dbit
        38
    dbit  
       57 分钟前
    刚好需要 OP 的 cf 脚本
    Strikplf
        39
    Strikplf  
       49 分钟前
    @asong 装个 1pannel
    DejavuMoe
        40
    DejavuMoe  
    OP
       47 分钟前
    @ibegyourpardon 是的,评论区的一些观点和文章链接值得学习
    Apol1oBelvedere
        41
    Apol1oBelvedere  
       38 分钟前
    博客干净简洁,内容行文严谨细致,完美。
    yhxx
        42
    yhxx  
       10 分钟前
    @94nb 我就是这样的,只用安全组控制了
    不过做了备份,就算是全没了应该也问题不大
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:37 · PVG 19:37 · LAX 03:37 · JFK 06:37
    ♥ Do have faith in what you're doing.