文章目录
iptables
1 防火墙概述
防火墙 firewalld:隔离功能
病毒防护:
- 入侵检测系统:在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁,提供告警和事后的监督,类似于监控。
- 入侵防御系统:透明工作模式,在判定为攻击行为或者是病毒威胁时,主动的隔断。
防水墙:防止内部信息泄露的产品,网络,外设接口等等全访问的实现监控。
防火墙的隔离规则:对进出网络或者主机的数据包基于一定的规则进行检查,匹配规则的放行,不匹配的就会隔离在主机之外。
防火墙一般位于网络边缘或者是主机边缘。
-
主机防火墙
-
网络防火墙
2 iptables
Linux系统主机自带防火墙:
iptables # CentOS7以前是系统的默认防火墙
iptables -F 清空所有规则
firewalld # CentOS7的默认防火墙
systemctl stop firewalld
ufw # Ubuntu自带的防火墙,默认没有规则
iptables属于用户态防火墙,通过表匹配链规则对数据包的放行或者拒绝进行匹配。
- 表是自带的
- 链是已有的
- 规则是人工配置,规则一旦配置,立即生效,不需要重启(临时策略重启会消失)
2.1 表:四表
- raw表:用来控制数据包的状态跟踪,决定是否跳过后续的处理流程
- mangle表:用于修改数据包的头部信息
- nat表:网络地址转换,改变数据包的源地址和目的地址。用于内网和外网之间通信
- filter表:用来过滤数据包,可以控制数据包的进出,以及是否接受或者拒绝数据包
表的优先级:
raw—>mangle—>nat—>filter(不指定表名时,默认就是filter)
2.2 链:五链
- INPUT:处理数据包进入本机的规则
- OUTPUT:处理本机发出的或者是其他请求响应的数据包的规则,一般不做限制。
- FORWARD:处理数据包转发到其他主机的规则
- PREROUTING:处理数据包进入本机之前的规则 (地址转换)
- POSTROUTING:处理数据包离开本机之后的规则 (地址转换)
规则内的匹配顺序:
- 自上而下按照顺序依次进行检查,找到了规则匹配即停止。
- 链内没有规则,就会按照链的默认策略进行处理
2.3 命令选项
iptables -t 表名(默认就是filter表) 管理选项 链名 匹配的条件 -j 控制类型
管理选项:
-A:在指定链的末尾添加一条规则-I:在指定链中插入一条新的规则,根据序号来进行插入-P:指定链的默认规则(慎用,没有特殊需求不要修改)-D:删除链里的规则,根据规则的序号进行删除-R:修改,替换某一条规则(不常用)-L:查看规则-n:数字化的展示规则的字段-v:查看详细信息--line-number:查看规则时带有编号-F:清楚链中的所有规则(慎用)-X:清空自定义链的规则
匹配条件:
-p:匹配数据包的协议-s:匹配数据包的源地址-d:匹配数据包的目的地址-i:指定数据包进入本机的网络接口-o:数据包离开本机使用的网络接口--sport:指定源端口--dport:指定目的端口-m:扩展模块- 多端口:
-m multiport --d/sport(端口号用","隔开,无顺序要求) - IP范围:
-m iprange --src-range/dst-range(IP地址用"-"连接表示范围) - mac地址:
-m mac --mac-source/destination
- 多端口:
控制类型:
ACCEPT:允许数据包通过DROP:直接丢弃数据包。没有任何回显信息REJECT:拒绝数据包通过,但是会有一个回显信息SNAT:修改数据包的源地址DNAT:修改数据包的目的地址
2.4 用例
2.4.1 添加策略
iptables -A INPUT -p icmp -j REJECT
# 拒绝其他主机ping本机
iptables -I INPUT 1 -p icmp -j ACCEPT
# 在INPUT链添加第一条规则
iptables -t filter -A INPUT -s 192.168.159.123 -p tcp --dport 80 -j REJECT
iptables -t filter -A OUTPUT -s 192.168.159.123 -p tcp --sport 22 -j REJECT
iptables -A INPUT -i ens33 -s 192.168.159.0/24 -j REJECT
# 禁止159这个网段从ens33这个设备进入
iptables -A INPUT -s 192.168.159.123 -p tcp --dport 22:80 -j REJECT
# 一次性匹配多个端口
2.4.2 修改策略
iptables -R # 使用修改命令时,如果只修改部分,其他相同部分也一定要写全,否则会设置成默认参数

2.5 永久保存策略
Ubuntu:
apt -y install iptables-persistent
/etc/iptables/rules.v4 # Ubuntu的iptables配置文件位置
iptables-save >> /etc/iptables/rules.v4
# 直接把策略保存到配置文件
iptables-save >> /opt/iptables.bak
iptables-restore < /opt/iptables.bak
# 直接导入到配置当中,而不是配置文件
CentOS:
yum -y install iptables-services
# 装完服务后CentOS有默认策略
/etc/sysconfig/iptables # CentOS的iptables配置文件位置
systemctl restart iptables
# 重启后临时加入的策略会消失
# 永久保存策略和Ubuntu一样,只是配置文件位置不同
2.6 通信的要素
- 协议
- ip:源ip、目的ip
- 端口(就是对应的应用在主机上的唯一标识):源端口、目的端口
947

被折叠的 条评论
为什么被折叠?



