Debian 作為穩定性極強的通用發佈版,生產環境落地需完成 **軟件源加速、網絡固化、基礎服務部署** 三大核心任務。本文提供從裸機到可交付生產基線的標準化操作手冊。
# /etc/apt/sources.list
deb https://mirrors.aliyun.com/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.aliyun.com/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main contrib non-free non-free-firmware
# backports (新版軟件)
deb https://mirrors.aliyun.com/debian/ bookworm-backports main contrib non-free non-free-firmware
字段含義:deb/deb-src (二進制/源碼) URI distribution (bookworm/sid) components (main=官方免費、contrib=依賴非自由、non-free=專有、non-free-firmware=固件)。
# 方案 A:netselect-apt (經典)
apt update && apt install -y netselect-apt
netselect-apt bookworm # 生成 sources.list 於當前目錄
mv sources.list /etc/apt/sources.list
apt update
# 方案 B:apt-spy (測速更精準)
apt install -y apt-spy
apt-spy -d bookworm -a "Asia" -t 5 # 針對亞洲鏡像測速 5 秒
# 自動寫入 /etc/apt/sources.list.d/apt-spy.list
apt update
💡 生產建議:手動鎖定阿里雲/清華/中科大等大廠鏡像,避免自動選源波動導致構建不一致。
# 關閉介面
ip link set eth0 down
# 或 ifdown eth0 (需安裝 ifupdown)
# 設定 IP/掩碼/廣播
ip addr add 192.168.1.100/24 broadcast 192.168.1.255 dev eth0
ip link set eth0 up
# 添加默認路由
ip route add default via 192.168.1.1 dev eth0
/etc/network/interfaces (ifupdown 經典)
# /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 223.5.5.5 114.114.114.114
# 多 IP 別名 (虛擬介面)
up ip addr add 192.168.1.101/24 dev eth0 label eth0:0
down ip addr del 192.168.1.101/24 dev eth0 label eth0:0
# 重載
systemctl restart networking
# 或 ifdown eth0 && ifup eth0
⚠️ Debian 12 (bookworm) 默認推薦 **NetworkManager** 或 **systemd-networkd**,interfaces 需安裝 ifupdown 並確保 /etc/network/interfaces.d/ 無衝突配置。
# /etc/systemd/network/10-eth0.network
[Match]
Name=eth0
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=223.5.5.5
DNS=114.114.114.114
# 多 IP
[Address]
Address=192.168.1.101/24
Label=eth0:0
# 啟用
systemctl enable --now systemd-networkd systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
apt install -y openssh-server
# 配置 /etc/ssh/sshd_config
Port 2222 # 修改默認端口
PermitRootLogin no # 禁用 root 登入
PubkeyAuthentication yes # 僅允許金鑰登入
PasswordAuthentication no # 禁用密碼
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers deploy admin # 白名單用戶
systemctl restart ssh
# 防火牆放行
ufw allow 2222/tcp
ufw enable
客戶端推薦:Windows 用 Windows Terminal + OpenSSH 或 MobaXterm;Linux/macOS 原生 ssh -p 2222 user@host。
apt install -y vsftpd
# 配置 /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
# 建立受限用戶列表
mkdir -p /etc/vsftpd
echo -e "user1\nuser2\nuser3" > /etc/vsftpd/chroot_list
# 建立 FTP 用戶 (無 shell 登入)
useradd -m -d /home/ftpuser -s /usr/sbin/nologin ftpuser
passwd ftpuser
# 目錄權限
chmod 755 /home/ftpuser
# vsftpd 要求 chroot 目錄不可寫,建立子目錄供上傳
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
chmod 755 /home/ftpuser/upload
systemctl restart vsftpd
ufw allow 20,21,40000:40100/tcp
客戶端推薦:FileZilla (跨平台開源)、WinSCP (Windows 圖形化)、lftp (CLI 腳本自動化)。
| 項目 | 驗證命令 | 預期 |
|---|---|---|
| 軟件源 | apt update && apt policy vim | 顯示鏡像源、版本正常 |
| 靜態 IP | ip addr show eth0 | 含配置 IP、掩碼、廣播 |
| 路由 | ip route | default via gateway dev eth0 |
| SSH | ssh -p 2222 user@host | 金鑰登入成功、root 拒絕 |
| VSFTPD | lftp -u ftpuser,pass -e "ls; quit" localhost | 列出目錄、可上傳 download |
| 防火牆 | ufw status numbered | 2222,20,21,40000-40100 ALLOW |
源快、IP 固、服務穩 —— Debian 生產基線三板斧。
配置即代碼:所有修改納入版本控制 (etckeeper/Ansible),實現基礎設施即代碼 (IaC)。
按此手冊落地,新裸機 30 分鐘內交付安全、高速、可維運的 Debian 生產節點。