iptables管理防火墙以及各个区域

发布时间:2020-06-16 09:20:18 作者:mb5d03569e7eb16
来源:网络 阅读:386

一、Linux防火墙基础

firewalld数据处理流程:
首先检查的就是其源地址。

若源地址关联到特定的区域,则执行该区域所制定的规则;
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则;
若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则;

iptables管理防火墙以及各个区域

firewall-config图形工具;
firewall-cmd命令行工具;
/etc/firewalld/中的配置文件;

二.iptables概述

从上倒下,如没有匹配则执行默认(放行或阻止)

链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策
iptables管理防火墙以及各个区域

规则链(五链)
在进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包(POSTROUTING)。

表提供特定的功能,iptables里面有4个表: filter表、nat表、mangle表和raw表,分别用于实现包过滤、网络地址转换、包重构和数据追踪处理。
每个表里包含多个链。

四表
ACCEPT(允许流量通过)、REJECT(拒绝流量通过)、LOG(记录日志信息)、DROP(拒绝流量通过)
accept:接收数据包;
DROP:丢弃数据包;
REDIRECT:重定向、映射、透明代理;
SNAT:源地址转换;
DNAT:目标地址转换;
MASQUERADE:IP伪装(NAT),用于ADSL;
LOG:日志记录;
-P      设置默认策略
-F      清空规则链
-L      查看规则链
-A      在规则链的末尾加入新规则
-I num      在规则链的头部加入新规则
-D num  删除某一条规则
-s      匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
-d      匹配目标地址
-i      网卡名称 匹配从这块网卡流入的数据
-o      网卡名称 匹配从这块网卡流出的数据
-p      匹配协议,如TCP、UDP、ICMP
--dport num     匹配目标端口号
--sport num     匹配来源端口号
1、TCP是面向连接的(在客户端和服务器之间传输数据之前要先建立连接),UDP是无连接的(发送数据之前不需要先建立连接)
2、TCP提供可靠的服务(通过TCP传输的数据。无差错,不丢失,不重复,且按序到达);UDP提供面向事务的简单的不可靠的传输。
3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性比较高的通讯或广播通信。随着网速的提高,UDP使用越来越多。
4、每一条TCP连接只能是点到点的,UDP支持一对一,一对多和多对多的交互通信。
5、TCP对系统资源要去比较多,UDP对系统资源要求比较少
6、UDP程序结构更加简单
7、TCP是流模式,UDP是数据报模式
区域      默认规则策略
drop:丢弃所有进入的包,而不给出任何回应
block:拒绝所有外部发起的链接,允许内部发起的链接
public:允许指定的进入链接      (默认区域)
external:通public,处理伪装的进入链接,一般用于路由转发
dmz:允许受限制的进入链接
work:允许受信任的计算机被限制的进入链接
home:同work,如果流量和ssh,dhcpv6-client等服务相关,则允许
internal:同work,范围针对所有互联网用户
trusted:信任所有链接
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转
说明:表名、链名用于指定 iptables命令所操作的表和链,命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;条件匹配用于指定对符合什么样 条件的数据包进行处理;目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转(Jump)给其它链处理。
[root@localhost ~]#iptables -F               // 清空所有的防火墙规则
[root@localhost ~]#iptables -F INPUT    //清空指定链 INPUT 上面的所有规则
[root@localhost ~]#iptables -X               // 删除用户自定义的空链
[root@localhost ~]#iptables -Z               //清空计数
[root@localhost ~]#iptables -P INPUT DROP              //配置默认的不让进
[root@localhost ~]#iptables -P FORWARD DROP        //默认的不允许转发
[root@localhost ~]#iptables -P OUTPUT ACCEPT        //默认的可以出去
将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp  --dport 22 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT
[root@localhost ~]# iptables-save                //保存配置
如果我只允许192.168.1.100和192.168.1.110 的PING命令,应该怎么添加
[root@localhost ~]# iptables -I INPUT -s 192.168.1.110 -p icmp -j ACCEPT
[root@localhost ~]# iptables -I INPUT -s 192.168.1.100 -p icmp -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p icmp -j DROP
如果我只允许192.168.1.0/24网段的,但拒绝192.168.1.100和192.168.1.110 的PING命令,应该怎么添加
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p icmp -j ACCEPT
[root@localhost ~]# iptables -I INPUT -s 192.168.1.100 -p icmp -j DROP 
[root@localhost ~]# iptables -I INPUT -s 192.168.1.110 -p icmp -j DROP
向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则
[root@localhost ~]# iptables -I INPUT -p tcp --dport 12345  -j REJECT
[root@localhost ~]# iptables -I INPUT -p UDP --dport 12345  -j REJECT
向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则
[root@localhost ~]# iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
[root@localhost ~]# iptables -A INPUT -p UDp --dport 1000:1024 -j REJECT
推荐阅读:
  1. 防火墙iptables
  2. 防火墙 iptables

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

iptables管理防火墙以及各个区域 les 火墙

上一篇:php的面向对象是什么

下一篇:蒲公英(pgyer)——完美的 App测试方案

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》