ubuntu系统关闭防火墙命令 ubuntu防火墙设置( 三 )


匹配条件分为基本匹配条件与扩展匹配条件
基本匹配条件:
源地址Source IP,目标地址 Destination IP
扩展匹配条件:
除了上述的条件可以用于匹配,还有很多其他的条件可以用于匹配,这些条件泛称为扩展条件,这些扩展条件其实也是netfilter中的一部分,只是以模块的形式存在,如果想要使用这些条件,则需要依赖对应的扩展模块 。
源端口Source Port, 目标端口Destination Port
处理动作
处理动作在iptables中被称为target(这样说并不准确,我们暂且这样称呼),动作也可以分为基本动作和扩展动作 。
此处列出一些常用的动作,之后的文章会对它们进行详细的示例与总结:
o    ACCEPT:允许数据包通过 。o    DROP:直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间才会有反应 。o    REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息 。o    SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题 。o    MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的ip上 。o    DNAT:目标地址转换 。o    REDIRECT:在本机做端口映射 。o    LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配 。ebtablesebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具(即功能由内核底层提供支持—netfilter) 。ebtables为以太网桥防火墙,工作在数据链路层,制定过滤数据链路层的数据包 。
ebtables的配置分为表、链和规则三级 。

  • 表
表是内置且固定的,共有三种: filter, nat, broute,用-t选项指定 。最常用的就是filter了,所以不设-t时默认就是这个表 。nat用于地址转换,broute用于以太网桥 。
  • 链
链有内置和自定义两种。不同的表内置的链不同,这个从数据包的流程图中就可以看出来 。所谓自定义的链也是挂接在对应的内置链内的,使用-j让其跳转到新的链中 。
  • 规则
每个链中有一系列规则,每个规则定义了一些过滤选项 。每个数据包都会匹配这些项,一但匹配成功就会执行对应的动作 。
所谓动作,就是过滤的行为了 。有四种,ACCEPT,DROP,RETURN和CONTINUE,常用的就是ACCEPT和DROP 。
ebtables使用规则如下:
ebtables [-t table] -[ADI] chain rule-specification [match-extensions] [watcher-extensions]-t table :一般为filter表 。-ADI:A添加到现有链的末尾;D删除规则链(必须指明规则链号);I插入新的规则链(必须指明规则链号) 。-P:规则表的默认规则的设置 。可以DROP,ACCEPT,RETURN 。-F:对所有的规则表的规则链清空 。-L:指明规则表 。可加参数,--Lc,--Ln-p:指明使用的协议类型,ipv4,arp等可选(使用时必选)详情见/etc/ethertypes--ip-proto:IP包的类型,1为ICMP包,6为TCP包,17为UDP包,在/etc/protocols下有详细说明--ip-src:IP包的源地址--ip-dst:IP包的目的地址--ip-sport:IP包的源端口--ip-dport:IP包的目的端口-i:指明从那片网卡进入-o:指明从那片网卡出去查看列表root@WIA3300-20:~# ebtables -LBridge table: filterBridge chain: INPUT, entries: 0, policy: ACCEPT Bridge chain: FORWARD, entries: 6, policy: ACCEPT-i ath+ -o ath17 -j DROP-i ath17 -o ath+ -j DROP-i ath+ -o ath0 -j DROP-i ath0 -o ath+ -j DROP-i ath+ -o ath16 -j DROP-i ath16 -o ath+ -j DROPBridge chain: OUTPUT, entries: 0, policy: ACCEPT新建规则ebtables -A FORWARD -p ipv4 -i eth0/eth1 --ip-proto (6/17) --ip-dst(目的IP)  --ip-dport(目的端口) -j DROP新建/删除链ebtables -N <chain_name> ebtables -X <chain_name>firewalld防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口 。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (CLI) 或 firewall-config (GUI) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务 。
firewalld与iptables的区别: