1、网络基础(图片来源于网络)
数据封装
IP头部信息
这里为何要说这些报文格式,因为iptables无非就是对这些报文格式的某些字段做匹配之后才采取动作处理,所以报文的格式就显得非常重要,大家可以抓包然后在对比这些字段会更容易理解
2.防火墙的分类
2.1 从软、 硬件形式上分为 软件防火墙和硬件防火墙
硬件防火墙: juniper srx H3C F100 F200 华为 USG 2200 cisco ASA 5510 5520
软件防火墙: iptables
2.2 从防火墙技术分为 “ 包过滤型” “状态化包过滤型号” 和“ 应用代理型”
包过滤型: 路由器 交换机 上面的 acl 访问控制列表
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
状态化包过滤型: 一般的硬件防火墙都具备该功能, 作用主要是提升效率
应用代理型: 微软 ISA iptables firewalld
3、iptables 实现内部原理
链(内置):
1、PREROUTING
2、INPUT
3、FORWARD
4、OUTPUT
5、POSTROUING
4、iptables常用表功能
Filter:过滤表
Nat:网络地址转换表
Mangle:拆解报文,做出修改(例如修改ttl值,增加一个标记等),并重新封装
Raw:关闭nat表上启用的连接追踪功能
优先级:raw-->mangle-->nat-->filter
数据流向:
流入本机:PREROUTING-->INPUT
本机流出:OUTPUT-->POSTROUTING
转发:PREROUTING-->FORWARD-->POSTROUTING
5、iptables实例部分
如果非必要,真没有人愿意去详细的学习iptables语法,写起来太麻烦.但熟悉熟悉,理解了原理,掌握起来也很容易.任何命令的参数其实都有其自己的体系,遵循着背后的原理.
iptables使用的语法: iptables [-t table] 操作 chain RULE ,下面是一个简化图
# 这条规则能够过滤掉很多类型的端口扫描
iptables -t filter -A INPUT -p tcp -m state --state INVALID -j DROP
# 避免配置很多内部端口通行规则
iptables -t filter -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
6、iptables上线部署步骤
1、清除默认规则
iptables -F 清除所有规则,不会处理默认的规则,默认是filter表
iptables -X 删除用户自定义的链
iptables -Z 链的记录数清零
2、配置允许ssh登录端口进入(防止自身无法连接)
[root@CentOS1 ~]# iptables -A INPUT -p tcp -s 172.16.80.0/24 -j ACCEPT 或者是下面的语句都行
[root@CentOS1 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
3、设置允许本机lo通信规则
[root@CentOS1 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@CentOS1 ~]# iptables -A OUTPUT -o lo -j ACCEPT
4、设置默认的防火墙禁止和允许规则
[root@CentOS1 ~]# iptables -P INPUT DROP
[root@CentOS1 ~]# iptables -P FORWARD DROP
[root@CentOS1 ~]# iptables -P OUTPUT ACCEPT
5、开启信任的网段
[root@CentOS1 ~]# iptables -A INPUT -s 201.82.34.0/24 -p all -j ACCEPT
6、允许业务服务对外提供访问
[root@CentOS1 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@CentOS1 ~]# iptables -A INPUT -p icmp -s 172.16.80.0/24 -j ACCEPT
7、允许关联的状态包通过
[root@CentOS1 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@CentOS1 ~]# iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
8、防火墙日常维护略过
9、部署iptables企业上网网关实战案例(查看之前写的iptables详解)
10、Iptables 服务器映射实战案例(查看之前写的iptables详解)