防火墙与系统优化 — Netfilter、iptables、firewalld、内存管理
概述
Day19 是内容最丰富的一天,涵盖内核防火墙(Netfilter 五链四表)、iptables/firewalld 实践、系统初始化、资源限制(ulimit)、内存管理核心(Page Cache/Slab/OOM Killer)、内核参数调优、安全加固与硬件优化。
核心内容
Netfilter 五链四表
- 五链:PREROUTING → INPUT/FORWARD → OUTPUT → POSTROUTING
- 四表:filter(过滤)、nat(地址转换)、mangle(修改)、raw(原始)
- 数据包流向:PREROUTING(路由决策)→ INPUT(本机)或 FORWARD(转发)→ POSTROUTING
iptables 实践
- 增删改查:
-A(追加)、-I(插入)、-D(删除)、-R(替换) - 默认策略:
-P INPUT DROP前必须先放行 SSH - 连接跟踪:
ESTABLISHED/RELATED规则命中率 >90% - NAT:
SNAT(源地址转换,上网共享)、DNAT(目标地址转换,端口映射)
firewalld
- 区域(zone):public/trusted/dmz 等
--permanent+--reload模式
内存管理
- Page Cache:读文件缓存,
/proc/meminfo的 Cached - Buffer Cache:块设备缓存,Buffers
- Slab:内核对象缓存(
dentry、inode) - 匿名内存:进程堆栈,无法被回收
- OOM Killer:根据
oom_score杀进程,oom_adj保护关键进程 - swappiness:控制 Swap 倾向度,生产环境建议 10-30
系统调优
- ulimit:文件描述符(
nofile)、进程数(nproc) - 内核参数:
net.ipv4.tcp_tw_reuse、vm.swappiness、kernel.pid_max - CPU 节能:关闭
ondemand,设为performance - IO 调度:SSD 用
noop或mq-deadline