Linux添加防火墙、iptables的安装和配置(亲测)

 

iptables基础linux


       规则(rules)其实就是网络管理员预约义的条件,规则通常的定义为“若是数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工做就是添加、修改和删除这些规则。web

规则链:centos


1.INPUT    ——进来的数据包应用此规则链中的策略
2.OUTPUT     ——外出的数据包应用此规则链中的策略
3.FORWARD  ——转发数据包时应用此规则链中的策略
4.PREROUTING  ——对数据包做路由选择前应用此链中的规则
(记住!全部的数据包进来的时侯都先由这个链处理)
5.POSTROUTING ——对数据包做路由选择后应用此链中的规则
(全部的数据包出来的时侯都先由这个链处理)服务器

-A 在指定链的末尾添加(append)一条新的规则 -D 删除(delete)指定链中的某一条规则,能够按规则序号和内容删除 -I 在指定链中插入(insert)一条新的规则,默认在第一行添加 -R 修改、替换(replace)指定链中的某一条规则,能够按规则序号和内容替换 -L 列出(list)指定链中全部的规则进行查看 -E 重命名用户定义的链,不改变链自己 -F 清空(flush) -N 新建(new-chain)一条用户本身定义的规则链 -X 删除指定表中用户自定义的规则链(delete-chain) -P 设置指定链的默认策略(policy) -Z 将全部表的全部链的字节和数据包计数器清零 -n 使用数字形式(numeric)显示输出结果 -v 查看规则表详细信息(verbose)的信息 -V 查看版本(version) -h 获取帮助(help)


规则表之间的优先顺序:网络

Raw——mangle——nat——filter
规则链之间的优先顺序(分三种状况):app

第一种状况:入站数据流向tcp

       从外界到达防火墙的数据包,先被PREROUTING规则链处理(是否修改数据包地址等),以后会进行路由选择(判断该数据包应该发往何处),若是数据包 的目标主机是防火墙本机(好比说Internet用户访问防火墙主机中的web服务器的数据包),那么内核将其传给INPUT链进行处理(决定是否容许通 过等),经过之后再交给系统上层的应用程序(好比Apache服务器)进行响应。测试

第二冲状况:转发数据流向

       来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,以后会进行路由选择,若是数据包的目标地址是其它外部地址(好比局域网用户经过网 关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),而后再交给POSTROUTING规则链(是否修改数据包的地 址等)进行处理。centos7

第三种状况:出站数据流向
       防火墙本机向外部地址发送的数据包(好比在防火墙主机中测试公网DNS服务器时),首先被OUTPUT规则链处理,以后进行路由选择,而后传递给POSTROUTING规则链(是否修改数据包的地址等)进行处理。spa

 

 

iptables 的安装与配置

 

因为centos7默认是使用firewall做为防火墙,下面介绍如何将系统的防火墙设置为iptables。

#中止firewall 
systemctl stop firewall.service

#禁止firewall开机启动 
systemctl disable firewall.service

 

#安装iptables 
yum install iptables-services

 

 

#编辑防火墙文件 (建议都在配置文件配置,不要命令配置
vi /etc/sysconfig/iptables 
#添加80和3306端口 等等(本身配置)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT   
       #80端口开放

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT    #3306端口开放

-I INPUT -s 113.106.93.110 -p tcp --dport 8089 -j DROP                         #禁止指定IP访问 8089

-I INPUT -s 113.106.93.110 -p tcp --dport 8080 -j ACCEPT                    #开放固定ipIP访问 8080

 

#重启防火墙使配置文件生效  
systemctl restart iptables.service

#设置iptables防火墙为开机启动项 
systemctl enable iptables.service

 

service iptables  start          #启动服务

service iptables  stop     #中止服务

service iptables  restart  #重启服务

 

关闭SELINUX 
vi /etc/selinux/config  #注释如下配置  SELINUX=enforcing  SELINUXTYPE=targeted    #增长如下配置  SELINUX=disabled    #使配置当即生效  setenforce 0

相关文章
相关标签/搜索