iptables是Linux内核Netfilter框架的用户空间管理工具,通过四表(raw、mangle、nat、filter)五链(PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING)结构实现数据包过滤、NAT和流量控制,规则按顺序匹配且匹配即执行。

明确目标:先想清楚要拦什么、放什么
写高级规则前,必须回答三个问题:
– 这条规则针对入站(别人连你)、出站(你连别人)还是转发(你当网关)?
– 是按IP、端口、协议、连接状态,还是结合内容特征(如HTTP User-Agent、SSH版本)?
– 要记录日志、限速、跳转到自定义链,还是直接DROP/REJECT?
Linux iptables:按链顺序+条件组合写真实规则
日常加固集中在 filter 表的 INPUT 链,但高级用法常跨表链协同:
-
封特定IP段并留日志:
iptables -I INPUT -s 203.0.113.0/24 -j LOG --log-prefix "BLOCKED-203:" --log-level 4iptables -I INPUT -s 203.0.113.0/24 -j DROP(注意:-I 插入开头,确保日志在DROP前触发) -
只允许某IP访问SSH,且限速:
iptables -A INPUT -p tcp --dport 50022 -s 192.168.10.50 -m state --state NEW -m limit --limit 3/min --limit-burst 5 -j ACCEPTiptables -A INPUT -p tcp --dport 50022 -j DROP -
拦截已建立连接中的异常行为(如SYN Flood):
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 --connlimit-mask 32 -j DROP -
跳过连接跟踪加速UDP服务(如DNS或VoIP):
iptables -t raw -A PREROUTING -p udp --dport 53 -j NOTRACKiptables -A INPUT -p udp --dport 53 -j ACCEPT
Windows Defender 防火墙:靠作用域+配置文件精准生效
图形界面易错,关键在三点不遗漏:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- 方向选对:封外部扫描 → 入站规则;防本机连恶意C2 → 出站规则
- 作用域填“远程地址”:要拦192.168.2.100,就填在“远程IP地址”,不是本地IP
- 配置文件全勾选:当前网络是Wi-Fi(专用),但规则只启用“域”,那它就不生效
- 批量封IP更可靠:
netsh advfirewall firewall add rule name="Block-Bad-ASN" dir=in action=block protocol=any remoteip=198.51.100.0/24,203.0.113.0/24
firewalld 直接规则:混用富规则与底层iptables逻辑
适合需要精细控制又不想绕过firewalld管理的场景:
- 新建黑名单链并绑定PREROUTING:
firewall-cmd --direct --permanent --add-chain ipv4 filter blacklistfirewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 -s 192.168.5.0/24 -j blacklist - 在blacklist链中加日志+限速+丢弃:
firewall-cmd --direct --permanent --add-rule ipv4 filter blacklist 0 -m limit --limit 5/sec -j LOG --log-prefix "BLACKLIST:"firewall-cmd --direct --permanent --add-rule ipv4 filter blacklist 1 -j DROPfirewall-cmd --reload

















