Linux 防火墙Iptables
1、规则链
INPUT——进来的数据包应用此规则链中的策略
OUTPUT——外出的数据包应用此规则链中的策略
FORWARD——转发数据包时应用此规则链中的策略
PREROUTING——对数据包作路由选择前应用此链中的规则,所有的数据包进来的时侯都先由这个链处理
POSTROUTING——对数据包作路由选择后应用此链中的规则
2、iptables命令的管理控制选项
-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则,如果不加num,则默认在第一条。
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号
3、防火墙处理数据包的四种方式
ACCEPT 允许数据包通过
DROP 直接丢弃数据包,不给任何回应信息
REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息。
LOG在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
4、iptables防火墙规则的保存与恢复
iptables-save把规则保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载
使用命令iptables-save来保存规则。一般用
iptables-save > /etc/sysconfig/iptables
生成保存规则的文件 /etc/sysconfig/iptables,
或者 service iptables save
它能把规则自动保存在/etc/sysconfig/iptables中。
当计算机启动时,rc.d下的脚本将用命令iptables-restore调用这个文件,从而就自动恢复了规则。
==========常用的一些命令================
1、使用iptables命令-L参数查看已有的防火墙策略
[root@rheltest1 ~]# iptables -L
2、使用iptables命令-F参数清空已有的防火墙策略
[root@rheltest1 ~]# iptables -F
3、把INPUT链的默认策略设置为拒绝
当把INPUT链设置为默认拒绝后,就要往里面写入允许策略了,否则所有流入的数据包都会被默认拒绝掉。
[root@rheltest1 ~]# iptables -P INPUT DROP或ACCEPT
[root@rheltest1 ~]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
...
规则链的默认策略拒绝动作只能是DROP或ACCEPT,而不能是REJECT。
4、向INPUT链中添加允许icmp数据包流入的允许策略
[root@rheltest1 ~]# iptables -I INPUT -p icmp -j ACCEPT
5、设置INPUT链只允许指定网段访问本机的22端口,拒绝其他所有主机的数据请求流量
[root@rheltest1 ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
如果不加 -s 参数,则允许所有主机访问本机的22端口。
6、向 INPUT 链中添加拒绝所有人访问本机的12345端口的防火墙策略
[root@rheltest1 ~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT
[root@rheltest1 ~]# iptables -I INPUT -p udp --dport 12345 -j REJECT
7、向INPUT链中添加拒绝所有主机访问本机1000至1024端口的防火墙策略
[root@rheltest1 ~]# iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
[root@rheltest1 ~]# iptables -A INPUT -p udp --dport 1000:1024 -j REJECT
8、iptables命令配置的防火墙规则默认会在下一次重启时失效,所以如果您想让配置的防火墙策略永久的生效下去,还要执行一下保存命令:
[root@rheltest1 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
图形界面配置工具:
#system-config-firewall
#system-config-firewall-tui
RHEL7版本图形界面配置工具:
#firewall-config