iptables和firewalld的使用

==============

iptables防火墙

==============

防火墙的策略有

ACCEPT:允许通过.
LOG:记录日志信息,然后传给下一条规则继续匹配.
REJECT:拒绝通过,必要时会给出提示.
DROP:直接丢弃,不给出任何回应.

 

规则链则依据处理数据包的位置不同而进行分类:

PREROUTING:在进行路由选择前处理数据包
INPUT:处理入站的数据包
OUTPUT:处理出站的数据包
FORWARD:处理转发的数据包
POSTROUTING:在进行路由选择后处理数据包

 

表的描述

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源、目标IP地址或端口

filter表:确定是否放行该数据包(过滤)

 

4表中包含的连

filter表包含input链/forward链/output链

nat表包含prerouting链/output链/postrouting链

mangle表包含prerouting链/input链/postrouting链

raw表包含prerouting链/output链

 

表的执行优先级:raw→mangle→nat→filter

链的执行优先级:preroutong--》input--》output--》postrouting

                            prerouting--》forward--》postrouting

注意:如果写入规则时不指定表则默认是filter表

iptables命令规则策略格式为:“iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]”

常用的参数如下图:

参数作用
-P设置表默认策略:iptables -P INPUT (DROP|ACCEPT)
-F清空规则链
-L查看规则链
-A在规则链的末尾加入新规则
-I num在规则链的头部加入新规则
-D num删除某一条规则
-s匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d匹配目标地址
-i 网卡名称匹配从这块网卡流入的数据
-o 网卡名称匹配从这块网卡流出的数据
-p匹配协议,如tcp,udp,icmp
--dport num匹配目标端口号
--sport num匹配来源端口号

   X                删除所有非内建的链【删除链条件:1.没有规则2.没有其他的链跟这个链产生关联】

   N               新建链                      例如: iptables -N     vfast

   v                详细信息                   L A I D R                  例如:    iptables -L -v

   x                精确信息           例如:  iptables    -L      -x

  n                 以数字的形式显示内容      例如:   iptables    -L      -n

  line-number               显示规则序号      例如:   iptables -L      --line-number

数据包的走向:

进来                       ---------》          出去                      ----------》              路过

以本地为目标的数据包走向

                                                                                     线路上传输

                                                                                    进入接口(eth0)

         mangle     PREROUTING                              ttl/tos【打标记】

         nat            PREROUTING                              DNAT【目的地址的转换操作】

                                                                             路由判断:1.包是给自己的2.包是给其他主机的

         mangle     INPUT                                            ttl/tos

         filter        INPUT                                            过滤数据包

                                                                             最后到达本地应用程序

 

-------------------------------------------------------------------------------------------------------

【以本地为源的数据包走向】

                                                                 本地程序

                                                           路由判断 决定包要使用的源地址 外出接口.....

         mangle     OUTPUT                     ttl/tos

         nat   OUTPUT                               对自身的包进行DNAT

         filter          OUTPUT                               过滤

         mangle     POSTROUTING                  ttl/tos

         nat   POSTROUTING                            SNAT

                                                                 离开接口

                                                                 线路上传输

-------------------------------------------------------------------------------------------------------

【被转发的数据包走向】

                                                                           线路上传输

                                                                           进入接口

         mangle     PREROUTING

         nat   PREROUTING

                                                                           路由判断

         mangle     FORWARD                           TOS TTL

         filter          FORWARD                                    过滤

         mangle     POSTROUTING

         nat   POSTROUTING

                                                                           离开接口

                                                                           传输

===================

firewalld防火墙

===================

Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具

支持了动态更新和”zone“区域功能

有firewall-config图形化工具和firewall-cmd文本管理工具

默认的区域是public

区域的作用:

trusted   允许所有的数据包

home     拒绝流入的数据包,除非与输出流量数据包相关或是ssh,mdns,ipp-client,samba-client与dhcpv6-client服务则允许

internal    等同于home区域

work        拒绝流入的数据包,除非于输出流量数据包相关或者是ssh,ipp-client与dhcpv6-client服务则允许

public        拒绝流入的数据包,除非与输出流量数据包相关或是ssh,dhcpv6-client服务则允许

external       拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许

dmz            拒绝流入的数据包,除非与输出流量数据包相关或是ssh服务则允许

block           拒绝流入的数据包,除非与输出流量数据包相关

drop        拒绝流入的数据包,除非与输出流量数据包相关

命令行常用的参数:

--get-default-zone                            查询默认的区域名称

--set-default-zone=<区域名称>        设置默认的区域,永久生效

--get-zone-of-interface=<网卡名称>     查看网卡所在的区域

--get-zones                                       显示可用的区域

--get-services                                    显示预先定义的服务

--get-active-zones                            显示当前正在使用的区域与网卡名称

--add-source=                                  将来源于此IP或子网导向指定的区域

--remove-source=                            不再将此IP或子网导向某个指定区域

--add-interface=<网卡名称>            将来自于该网卡的都导向某个指定区域

--change-interface=<网卡名称>       将某个网卡与区域做关联

--list-all                                             显示当前区域的网卡配置参数,资源,端口以及服务等信息

--list-all-zones                                  显示所有区域的网卡配置参数,资源,端口以及服务等信息

--add-service=<服务名>                  默认区域允许该服务通行

--add-port=<端口号/协议>              默认区域允许该端口通行

--remove-service=<服务名>            默认区域不再允许该服务通行

--remove-port=<端口号/协议>        默认区域不再允许该端口通行

--reload                                            让“重启服务规则生效”的配置规则立即生效,覆盖当前的规则

--panic-on                            启动应急状况模式,阻断所有网络连接
--panic-off                           关闭应急状况模式,恢复网络

 

端口转发功能可以将原本到某端口的数据包转发到其他端口:

firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>
:toaddr=<目标IP地址>

图形界面设置不做介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值