03-iptables-防火墙那些事儿

前言:防火墙主要可以分为两大类型,第一种类型称为主机防火墙,第二种类型称为网络防火墙。
主机防火墙对单体做出防火墙,网络防火墙对集体做出防火墙。并且网络防火墙分为硬件防火墙和软件防火墙。硬件防火墙在一定程度上可以防御DDos攻击。
iptables:用户代理
netfilter:真正的防火墙的安全框架,主要有以下几个功能:

  1. NAT
  2. 数据修改
  3. 防护墙

01-iptables基础

iptables中含有五链:

  1. preouting:数据包刚进入网络层的时候
  2. input:路由判断好了,进入用户空间
  3. output:用户空间发出,让路由判断从哪里走
  4. postrouting:数据包网络口发送出去
  5. forward:不进入用户空间,直接转发

iptables中含有四表:

  1. filter表:负责过滤(iptables_filter):[input,forward,output]
  2. nat表:网络地址转换(iptables_nat):[preouting,input,output,postrouting]
  3. mangle表:解析报文,修改报文,封装报文(iptables_mangle)[all]
  4. raw表:可以关闭NAT表上的一个连接追踪(iptables_raw)[preouting,output]

**四个表的优先级如下:**raw>mangle>nat>filter
iptables的处理动作:

  • ACCEPT:接包
  • DROP:发包
  • REJECT:拒绝信息
  • SNAT:源地址转换,解决内网用户上网的问题
  • MASQUERADE:动态改变IP
  • DNAT:目标地址的转换
  • REDIRECT:本机端口映射
  • 日志地址:/var/log/messages

01-filter过滤规则

iptables -t filter -L #查看filter过滤规则
iptables -t raw -L #查看raw过滤规则
iptables -t mangle -L #查看mangle过滤规则
iptables -t nat -L #查看raw过滤规则
 iptables --line-number -nvL INPUT

查看filter过滤表中的内容:
在这里插入图片描述

02-iptables相关命令

iptables --line-number -nvL INPUT #查看链接表
iptables -t filter -I INPUT -s 192.168.1.1 -j DROP #禁止的INPUT流量
iptables -t filter -A INPUT -s 192.168.1.1,192.168.1.2 -j DROP #在列表最后面批量添加
iptables -t filter -I INPUT 192.168.1.1/24 -j DROP
iptables -I INPUT -s 1.1.1.1 -d 1.1.1.2 -j DROP #拒绝源1.1.1.1,目的1.1.1.2的数据包
iptables -I INPUT -s 1.1.1.1 -s  tcp -j DROP #拒绝源1.1.1.1的TCP的协议包
iptables -I INPUT -s 1.1.1.1 -i ens33 -p icmp -j DROP #拒绝来自网卡ens33的input方向的来自1.1.1.1的icmp请求
iptables -I INPUT -s 1.1.1.1 -p tcp -m multiport --dportws 22,3389,80 -j DROP #同时拒绝多个端口
iptables -t filter -I INPUT -m iprange --src-range 192.168.1.130-192.168.1.133 -j DROP #不接受
iptables -t filter -I OUTPUT -m iprange --dst-range 192.168.1.130-192.168.1.133 -j DROP #不转发
iptables -t filter -I INPUT -p tcp --sport 80 -m stirng -algo --string "pornhub" -j REJECT #过滤带字符串的数据包
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --timestart 09:00:00 --timestop 19:00:00 -j DROP #9-19点断网
iptables -t filter -I OUTPUT -p tcp --dport 80 --weekdays 6,7 -j DROP
iptables -D INPUTS 10 #删除第10个
iptables -t filter -F INPUT #删除filter中所有的INPUT
```![在这里插入图片描述](https://img-blog.csdnimg.cn/4b3b8325c8d940348cb9437fa4f594b5.png)
**防火墙规则保存**

service iptables save #防火墙规则保存在 /etc/sysconfig/iptables

## 02-connlimit 连接限制
connlimit:可以限制每个IP地址同时连接到Server端的连接的数量。
**connlimit基本功能如下**

–connlimit-above单独限制每个IP的连接数量

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 2 -j REJECT

–connlimit-mask 针对某类IP的网段中的连接数

某个网段(24位子网掩码)允许tcp80端口20个连接数

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j REJECT

##  03-limit 限速
--limit-burst:令牌桶
--limit :令牌桶中生成新令牌频率:second minute hour day

iptables -t filter -I INPUT -p icmp -m limit --limit-burst 3 --limit 10/muniute -j ACCEPT

10分钟生成一个令牌,然后方形

iptables -t filter -A INPUT -p icmp -j REJECT

## 04-多协议拓展
### 01-UDP-限制

限制UDP端口

iptables -t filter -I INPUT -p udp -m udp --dport 137:150 -j ACCEPT

### 02-ICMP-限制
ICMP:全称Internet Control Message Protocol

限制ICMP端口

iptables -t filter -I INPUT -p icmp -m icmp --icmp-type 8/0 -j REJECT

## 05-补充细节

1. 尽量先设置DROP,再设置ACCEPT
2. 我们自己也可以去设置新链:
   1. **看到新链:iptables -nvL**
   2. iptables -I IWEB -s 192.168.1.32 -j REJECT
   3. 修改链名:iptables -E IWEB WEB
   4. 删除链名:iptables -X IWEB #有规则则不能删
   5. 如果有规则,要先清空规则:iptables -F WEB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蓝学不会嵌入式!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值