Netfilter/iptables是与最新的2.6.x版本Linux内核集成的ip信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有理由在Linux系统上更好的控制IP信息包过滤和防火墙配置。
虽然Netfilter/iptablesIP信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter和iptables组成。netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。
Netfilter/iptablesIP信息包过滤系统是一种功能强大的工具,可以用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。
filter:表用来过滤数据
nat:转换包的源地址或目标地址
DNAT
SNAT
MASQUERADE
mangle:使用mangle匹配来改变包的特性
TOS
TTL
MARK
raw:可以对收到的数据包在链接跟踪前进行处理。
Netfilter/iptables的最大优点是它可以配置有状态的防火墙。有状态的防火墙能够制定并记住为发送或接受信息包所建立的连接的状态。防火墙可以从信息包的链接跟踪状态获得该消息。在决定新的信息包过滤时,防火墙所使用的这些状态信息可以增加其效率和速度。
stata基于链接的状态
这里有四种有效状态,名称分别为ESTABLISHED、INVALID、NEW和RELATED。
NEW意味着该信息包已经或将启动新的链接,或者它与尚未用于发送和接收信息包的连接相关联。
RETABLISHED指出该信息包属于已建立的连接,该链接一直用于发送和接收信息包并且完全有效。
RELATED表示该信息包正在启动新连接,以及它与已建立的链接相关联。
INVALID状态指出该信息包与任何已知的流或连接都不相关联,它可能包含错误的数据或头。
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法ip地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;另外firewalled增加了“zone”的概念。
firewalld将所有incoming流量划分成zone,每个zone都具有自己的一套规则。
firewalld在判断incoming流量使用那一个zone,使用以下规则:
trusted
允许所有incoming/outgoing taiffic
home
除非与outgoing taiffic相关,或与ssh,mdns,ipp-client,samba-client,dhcpv6-client这些预定义服务匹配,否则拒绝incoming taiffic。
internal
除非与outgoing taiffic相关,或与ssh,mdns,ipp-client,samba-client,dhcpv6-client这些预定义的服务匹配,否则拒绝incoming taiffic。(开始时与home zone相同)
work
除非有outgoing taiffic相关,或与ssh,ipp-client,dhcpv6-client这些预定义服务相匹配,否则拒绝incoming taiffic
public
除非与outgoing taiffic相关,或与ssh,dhcpv6-client这些预定义服务相匹配,否则拒绝incoming taiffic。(新添加的网络接口默认为zone)
external
除非与outgoing taiffic相关,或与ssh预定义服务匹配,否则拒绝incoming taiffic。将通过此zone转发的Ipv4 outgoing taiffic 的源地址伪装成outgoing网络接口的IPV4地址。
dmz
除非与outgoing taiffic相关,或与ssh预定义服务匹配,否则拒绝incoming taiffic。
block
除非与outgoing taiffic先关,否则拒绝所有incoming taiffic。
drop
除非与outgoing taiffic相关,否则丢弃所有incoming taiffic。(不产生包含ICMP错误的响应)
使用三种方式来管理firewalld
使用firewalld-cmd,几乎所有命令都对当前状态生效(触发指定---permanent),如果没有使用----zone,使用默认zone。
配置防火墙时,通常会使用 --permanent配置所有更改,然后使用firewalld-充满电 --reload激活这些更改。测试可能有危险的新规则时,可以省略 -permanent并添加-题么呕吐=
firewalld 的rich rule提供了一种表达性语言,通过这种语言可以表达firewalld基本语法中未涵盖的自定义防火墙规则。例如。仅允许某个特定ip(而非通过某个zone路由的所有IP地址)连接到服务。
。。。。。具体请百度。没测试。等测试了之后会在博客补齐
手机扫一扫
移动阅读更方便
你可能感兴趣的文章