iptabls
一:防火墙概念
逻辑上,大致分为为主机防御墙与网络防火墙
主机防火强:针对单个主机进行防御
网络防火墙:每每处于网络入口或边缘。针对网络入口进行防御,服务于防火墙背后的本地局域网
注意:二者并不冲突,网络防火墙主外(大众),主机防火强主内(我的)
物理上,可分为硬件防火墙与软件防火墙
硬件防火墙:在硬件级别实现部分防火墙功能,另外一部分功能基于软件实现,性能高,成本高
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低web
二:iptables 简述
iptables 其实不是真正的防火墙,咱们能够把它理解成一个客户端代理,用户经过 iptables 这个代理,将用用户的安全设定执行到对应的 "安全框架" 中,这个 "安全框架" 才是真正的防火墙,这个框架叫做:netfilter
因此说,虽然咱们使用 service iptables start 来启动 iptables "服务",但其实准确的来讲,iptables 并无一个守护进程,因此并不能算是真正意义上的服务,而应该算是内核提供的一个功能
三:iptables 描述
iptables 是经过咱们制定的规则来处理数据的。而规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如:TCP、UDP、ICMP)和服务类型(如:HTTP、FTP、SMTP)等;当数据包与规则匹配时,iptables 就会根据规则岁定义的方法来执行相应的动做,如:接受(accept)、拒绝(reject)、丢弃(drop)等;主要经过添加、删除来配置防火墙中的规则安全
当客户端访问服务器的 web 服务时,客户端发送报文到网卡,而 tcp/ip 协议栈是属于内核的一部分,因此,客户端的信息会经过内核的 TCP 协议传输到用户空间中的 web 服务中,而此时,客户端报文的目标终点为 web 服务所监听的套接字(IP:Port)上;当 web 服务须要相应客户端请求时,web 服务发出的响应报文的目标总店则为客户端,这个时候,web 服务所监听的 IP 端口变为了原点,咱们说过, netfilter 才是真正的防火墙,它是内核的一部分,因此,若是咱们想要防火墙达到 “防火” 的目的,则须要在内核中设置关卡,全部进出的报文都要经过这些关卡,符合放行条件的才能经过,符合阻拦条件的则被阻止,因而就有了 input 与 output 关卡,这在 iptables 中称之为 “链”
咱们也能够将报文转发给其余服务器,咱们就会提到其余的 “链”:“路由前”、“转发”、“路由后”,即:prerouting、forward、postrouting
以下图:即报文流向图
数据通过防火墙的流程图服务器
最后概括一些动做
注意:
ACCEPT:经过
DROP:丢弃
REJECT:拒绝
SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题
MASQUERADE:是 SNAT 的一种特殊形式,适用于动态的、临时会变的 IP 上
DNAT:目标地址转换
REDIRECT:在本机作端口映射
LOG:在 /var/log/messages 文件中记录日志信息,而后数据包传递给下一条规则,就是说除了记录意外不对数据包作任何其余操做,仍然让下一条规则去匹配网络