
linux下IPTABLES配置详解 [[转]]
发布日期:2025-04-07 13:25:26
浏览次数:10
分类:精选文章
本文共 2201 字,大约阅读时间需要 7 分钟。
apparatus配置与管理
在你安安装并系统中启用防火墙时,随系统默认设置开放了22、80、25端口。本节将指导你从零开始配置一个安全且实用的防火墙方案。
1. 查看现有防火墙规则
在启用防火墙前,先查看现有规则是否存在:
iptables -L -n
可以看到默认已经开放了INPUT、FORWARD、OUTPUT三条链,并默认设置允许所有网络连接。
2. 清除原有规则
不论你是否启用防火墙,在自定义配置前建议清理所有现有规则:
iptables -Fiptables -X
这将清除所有预设表中的规则链。
3. 设定规则
3.1 设置链策略
为确保安全性,我们采用以下策略:
iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT
说明:
- INPUT链的默认目标是DROP,表示拒绝所有未明确规则的入站数据包。
- FORWARD链的默认目标也是DROP,表示拒绝所有未明确规则的中转数据包。
- OUTPUT链的默认目标是ACCEPT,表示接受所有明确规则的出站数据包。
3.2 添加规则
接下来为需要开放的端口和服务添加规则:
####college 添加INPUT链规则
为了允许外部访问网络服务,需开放服务器提供的端口:
#SSH端口(22)iptables -A INPUT -p tcp --dport 22 -j ACCEPT#Web服务器端口(80)iptables -A INPUT -p tcp --dport 80 -j ACCEPT#邮件服务器端口(25)iptables -A INPUT -p tcp --dport 25 -j ACCEPT#FTP服务器端口(21)iptables -A INPUT -p tcp --dport 21 -j ACCEPT#DNS查询端口(53)iptables -A INPUT -p tcp --dport 53 -j ACCEPT
college OUTPUT链规则
对于OUTPUT链,默认接受所有端口的数据包,建议仅开放特定端口:
#允许未经яс说的输出连接iptables -A OUTPUT -p tcp --sport 22 -j ACCEPTiptables -A OUTPUT -p tcp --sport 80 -j ACCEPTiptables -A OUTPUT -p tcp --sport 25 -j ACCEPTiptables -A OUTPUT -p tcp --sport 21 -j ACCEPTiptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
college 允许ICMP查询
ICMP查询(如ping)需特殊处理:
#允许ICMP进入iptables -A INPUT -p icmp -j ACCEPT#允许ICMP出站iptables -A OUTPUT -p icmp -j ACCEPT
college 允许Loopback传输
内网接口(lo)必须允许本地数据包:
iptables -A INPUT -i lo -p all -j ACCEPTiptables -A OUTPUT -o lo -p all -j ACCEPT
college 添加状态跟踪
为了维护现有连接的状态:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
college 远程访问规范
为了规避被恶意攻击:
#封锁非法端口iptables -A OUTPUT -p tcp --dport 31337 -j DROP#封锁常见攻击端口iptables -A OUTPUT -p tcp --dport 135 137 139 2142 -j DROP#封锁NFS共享iptables -A OUTPUT -p tcp --dport 2049 -j DROP
college 为NAT配置防火墙
college 添加NAT规则
在NAT表中添加以下规则以管理网络转发:
#DNSMasq配置iptables -t nat -A PREROUTING -i eth0 -j DNAT --target 192.168.0.1 --destination 0.0.0.0/0
#Web服务器NAT规则iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
college 清除NAT规则
若需要清除NAT表中的规则:
iptables -F -t natiptables -X -t nat
college 最终保存规则
确保在服务重启后防火墙规则仍然生效:
/etc/rc.d/init.d/iptables save
保存后重启防火墙服务:
service iptables restart
以上步骤将帮助你构建一个安全的、符合业务需求的防火墙配置方案。建议按要求完成上述步骤,并根据实际网络环境进行调整和补充。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月07日 20时48分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux--基础命令3
2023-02-02
Linux--操作系统/进程
2023-02-02
Linux--文件
2023-02-02
Linux--本地yum库
2023-02-02
Linux--环境变量
2023-02-02
Linux--磁盘管理
2023-02-02
2025年04月06日AI领域重点关注焦点
2023-02-02
Linux--编译器gcc/g++
2023-02-02
Linux--进程优先级
2023-02-02
Linux--进程控制
2023-02-02
Linux--进程状态
2023-02-02
Linux-01
2023-02-02
Linux-01 虚拟机Linux的安装
2023-02-02
Linux-Bridge(LBR)网络虚拟化实战
2023-02-02
Linux-chmod_命令的详细用法讲解
2023-02-02
Linux-rhel6.4 编译安装PHP,Nginx与php连接
2023-02-02
Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量
2023-02-02
linux-ubuntu 安装mysql5.7.19的一些坑
2023-02-02
Linux-Ubuntu中使用apt进行软件的安装与卸载
2023-02-02
Linux-【1】配置
2023-02-02