Iptables 是3.5版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或LAN、服务器或连接LAN和internet的代理服务器,则该系统有利于在 Linux系统上更好地控制IP信息包过滤和防火墙配置。
# yum -y install iptables-services
# systemctl start iptables.service
//redhat7默认使用firewalld防火墙,但底层仍然调用iptables
//规则链内顺序比对,匹配即停止原则。若无任何匹配,则按默认策略处理
iptables框架
1)iptables的4个表(区分大小写):
iptables默认有4个表,nat表(地址转换表)、filter表(数据过滤表)、raw表(状态跟踪表)、mangle表(包标记表)。
2)iptables的5个链(区分大小写):
INPUT链(入站规则)
OUTPUT链(出站规则)
FORWARD链(转发规则)
PREROUTING链(路有前规则)
POSTROUTING链(路由后规则)
目标操作:
ACCEPT:允许通过/放行
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志,然后传给下一条规则
常用选项:
添加规则 -A 追加一条防火墙规则至链的末尾位置
-I 插入一条防火墙规则至链的开头,命令追加数字插入到指定位置
查看规则 -L 查看iptables所有规则
-n 以数字形式显示地址、端口等信息
–line-numbers 查看规则时,显示规则的行号
删除规则 -D 删除链内指定序号(或内容)的一条规则
-F 清空所有的规则
默认规则 -P 为指定的链设置默认规则
语法结构:
#iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]
注意事项与规律:
1.可以不指定表,默认为filter表
2.可以不指定链,默认为对应表的所有链
3.除非设置默认策略,否则必须指定匹配条件
4.选项/链名/目标操作用大写字母,其余都小写
iptables -t filter -A INPUT -p tcp -j ACCEPT//追加规则至filter表中的INPUT链的末尾
iptables -I INPUT 2 -p icmp -j ACCEPT //插入规则filter表INPUT链第2行
5.icmp为ping协议
iptables -nL INPUT //仅查看INPUT链的规则
iptables -L INPUT –line-numbers //查看规则,显示行号
iptables -D INPUT 3 //删除filter表中INPUT链的第3条规则
iptables -F //清空filter表中所有链的防火墙规则
iptables -t filter -P INPUT DROP //设置默认规则,默认为ACCEPT
iptables过滤条件
通用匹配 协议匹配 -p 协议名称
地址匹配 -s 源地址、-d 目标地址
接口匹配 -i 接受数据的网卡、-o 发送数据的网卡
隐含匹配 端口匹配 –sport 源端口号、–dport 目标端口号
ICMP类型匹配 –icmp-type ICMP类型
iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
//仅禁止入站的ping请求,不拒绝入站的ping回应包
//iptables -p icmp –help查看帮助信息
iptables扩展规则(下列ip地址为示例)
iptables 选项 链名称 -m 扩展模块 –具体扩展条件 -j 动作 //-m开启扩展功能
iptables -A INPUT -p tcp –dport 22 -m mac –mac-source 52:54:00:00:00:0b -j DROP
//拒绝52:54:00:00:00:0b这台主机远程本机
iptables -A INPUT -p tcp -m multiport –dports 20:22,25,80,110,143,16501:16800 -j ACCEPT
//一次性开启20,21,22,25,80,110,143,16501到16800所有的端口
iptables -A INPUT -p tcp –dport 22 -m iprange –src-range 192.168.4.10-192.168.4.20 -j ACCEPT
//允许从 192.168.4.10-192.168.4.20 登录
实现IP地址的伪装(SNAT源地址转换)
echo 1 > /proc/sys/net/ipv4/ip_forward
//开启路由转发
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 –p tcp –dport 80 -j SNAT –to-source 192.168.2.5
//实现SNAT地址转换
未经允许不得转载:天府数据港官方信息博客 » 简述Iptables
客官点个赞呗! (0)