一、防火墙分类

1.软件防火墙和硬件防火墙

2.包过滤防火墙和应用层防火墙

Centos 6默认的防火墙是iptables

Centos 7默认的防火墙是firewallD(底层使用netfilter)

3.firewallD会把自己的规则转换为iptables,最终底层使用netfilter。

4.iptables规则表filter nat mangle raw 规则链 INPUT OUTPUT   FORWARD   PREOUTING  POSTROUTING

 

二、iptables规则的基本使用

1.iptables的filter表 iptables -t filter 命令 规则链 规则

常用参数:

-L   列出添加防火墙规则

-A  添加防火墙规则

-D  删除防火墙规则

-F  清空防火墙规则 

-P  设置链默认规则

-N  创建新的用户自定义规则

2.规则查看: iptables -nvL  

添加规则 iptables -t  filter -A INPUT -s 10.0.0.1 -j ACCEPT 如果是filter表 filter可以省略

iptables -A INPUT -s 10.0.0.1 -j DROP accept在前drop在后所以10.0.0.1是可以进来的。

inptables -I INPUT -s 10.0.0.2 -j DROP   -I增加到规则的第一条

3.清空自己添加的规则 iptables -F

4.iptables的net表 iptables -t  nat 命令 规则链  规则

pre目的地转换  把内网预设到外网进行访问

ipdatbles -t nat -A PREOUTING -i  eth0 -d 114.115.116 -p tcp --dport  80 -j DNAT --to-destination 10.0.0.1

post源地址转换  统一代理上网节点等  iptables  -t  nat  -A POSTROUTING -s 10.0.0.0/24 -o eth1 -j SANT  --to-source 111.112.113.114

5.iptables配置文件

/etc/sysconfig/iptables
centos6 service iptables save|start|stop|restart
centos7 yum install iptables-services

 

三、firewalld

1.firewallD特点

支持区域“zone”概念    firewall-cmd

systemctl start|stop|enable|disable firewalld.service

2.查看 systemctl status firewalld.service

启动   systemctl start firewalld.service 需停service iptables stop

3.常用命令

查看所有打开的端口 firewall-cmd --zone=public --list-ports

添加/删除规则  firewall-cmd --zone=public --add/remove-port=22/tcp --permanent

查看防火墙 firewall-cmd --list-all

 

注意:打开防火墙后一定要先添加ssh端口到规则中并重新载入

filrewall-cmd  --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload