iptables

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
  • 端口(就是对应的应用在主机上的唯一标识):源端口、目的端口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值