时间:2019年7月26日linux
地点:家里web
内容:防火墙、策略与规则链、iptable、firewalld、SNAT、TCP Wrappers网络
分类:app
在进行路由选择前处理数据包(PREROUTING);ssh
处理流入的数据包(INPUT);tcp
处理流出的数据包(OUTPUT);工具
处理转发的数据包(FORWARD);性能
在进行路由选择后处理数据包(POSTROUTING)。学习
动做状态:网站
ACCEPT(容许经过)
REJECT(拒绝经过)
LOG(记录日志)
DROP(拒绝且不反馈)
扩展:iptables详解
特殊格式: 流量转发命令格式为firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
如何区分SNAT和DNAT
1.从定义来说它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。
要区分这两个功能能够简单的由链接发起者是谁来区分:
内部地址要访问公网上的服务时(如web访问),内部地址会主动发起链接,由路由器或者防火墙上的网关对内部地址作个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。
当内部须要提供对外服务时(如对外发布web网站),外部地址发起主动链接,由路由器或者防火墙上的网关接收这个链接,而后将链接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的链接,而后在内部作地址转换,此转换称为DNAT,主要用于内部服务对外发布。
在配置防火墙或者路由acl策略时要注意这两个NAT必定不能混淆。
程序若是调用了libwrap.so库,表示支持。
ldd 程序路径|grep libwrap.so
strings 程序路径|grep libwrap.so
#ldd /usr/sbin/sshd|grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f9851678000)
#ldd /usr/sbin/vsftpd |grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f802ef50000)
#strings `which sshd`|grep libwrap.so
libwrap.so.0
控制文件:白名单(路径:/etc/hosts.allow)
黑名单(路径:/etc/hosts.deny)
配置原则:
编写拒绝策略规则时,填写的是服务名称,而非协议名称;
建议先编写拒绝策略规则,再编写容许策略规则,以便直观地看到相应的效果。