iptables防火墙(RHEL6)

一、iptables防火墙

表--->链--->行--->规则

1)iptables的4个表(区分大小写)
nat表(地址转换表)、filter表(数据过滤表)、raw表(状态跟踪表)、mangle表(包标记表)
默认表
2)iptables的5个链(区分大小写)---------->数据包传输的方向
INPUT链(入站规则)
OUTPUT链(出站规则)
FORWARD链(转发规则)---------->匹配经过防火墙主机的包
PREROUTING链(路由前规则)--------->数据包选择传输路径之前修改路径
POSTROUTING链(路由后规则)-------->数据包选择传输路径之后修改路径

匹配规则的操作:----顺序比对
ACCEPT:允许通过
DROP:直接丢弃,没有回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志,然后传给下一条规则

常用的管理选项:

-A  在链的末尾追加一条规则
-I  在链的开头(或指定序号)插入一条规则
-L  列出所有规则条目
-n  以数字形式显示地址端口等信息
--line-numbers  查看规则时显示规则的序号
-D  删除指定的某一条规则
-F  清空所有规则
-P(大写)  为指定的链设置默认规则

过滤条件:(需要取反时用 !)

-p 协议名
-s 源地址    -d 目标地址
-i 收数据的网卡   -o 发数据的网卡
--sport 源端口     --dport 目标端口
--icmp-type  icmp类型

iptabels语法格式:
[root@proxy ~]# iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]

二、filter表控制 主机型防火墙 (使用防火墙服务保护本机)

根据防火墙保护的对象不同,防火墙可以分为主机型防火墙与网络型防火墙.
主机型防火墙,主要保护的是服务器本机(过滤威胁本机的数据包)。针对入站访问的原地址
网络防火墙,主要保护的是防火墙后面的其他服务器,如web服务器、FTP服务器等。针对转发访问的原地址
]# iptables-save > /etc/sysconfig/iptables //保存规则(让重启也能生效)
2.1扩展匹配条件
1)根据MAC地址封锁主机
2)在一条规则中开放多个TCP服务
3)根据IP范围设置封锁规则

iptables 选项 链名称 -m 扩展模块 --具体扩展条件 -j 动作

2.2常见的扩展条件类型:
MAC地址匹配: -m mac --mac-source mac地址
多端口匹配: -m multiport --sports 源端口列表
-m multiport --sports 目标端口列表
ip范围匹配: -m iprange --src-range 允许的ip范围
-m iprange --dst-range 禁止的ip范围

[root@proxy ~]# 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这台主机远程本机

[root@proxy ~]# 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所有的端口

1)允许从 192.168.4.10-192.168.4.20 登录
[root@proxy ~]# iptables -A INPUT -p tcp --dport 22

-m iprange --src-range 192.168.4.10-192.168.4.20 -j ACCEPT
注意,这里也可以限制多个目标IP的范围,参数是--dst-range,用法与--src-range一致。
2)禁止从 192.168.4.0/24 网段其他的主机登录
[root@proxy ~]# iptables -A INPUT -p tcp --dport 22 -s 192.168.4.0/24 -j DROP

原文地址:https://www.cnblogs.com/xujint/p/13229260.html