包过滤防火墙——iptables静态防火墙的简单使用

包过滤防火墙——iptables静态防火墙的简单使用
Saury防火墙就是堵和通的作用
iptables :包过滤防火墙,是内核防火墙netfilter的管理工具
核心:四表五链
规则链的分类–五链
在进行路由选择前处理的数据包:PREROUTING
处理流入的数据包:INPUT
处理流出的数据包:OUTPUT
处理转发的数据包:FORWARD
在进行路由选择后处理的数据包:POSTROUTING
处理的动作
ACCEPT:允许流量通过
REJECT:拒绝流量通过 (流量拒绝会通知,会返回流量拒绝信息)
LOG:记录日志信息
DROP:拒绝流量通过,丢弃 (直接把流量丢弃,不会返回任何值)
iptables常用参数和作用
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新的规则 |
-l num | 在规则链的头部加入新的规则 |
-D num | 在规则链中删除某一条规则链 |
-s | 匹配来源的ip/MASK |
-d | 匹配目标地址 |
-i 网卡名称 | 匹配这块网卡流入的数据 |
-o 网卡名称 | 匹配这块网卡流出的数据 |
-p | 匹配协议,例如:TCP、UDP、ICMP |
–dport num | 匹配目标端口号 |
–sport num | 匹配来源端口号 |
以Centos7和Kali为例
Centos——IP地址:192.168.80.131
Kali————IP地址:192.168.80.141
先停止、禁用firewalld
1 | systemctl stop firewalld |
- ==查看规则链==
1 | iptables -L |
- ==清空规则链==
1 | iptables -F |
其实刚开始在没有配置规则的使用,查看规则链的时候就是空的
- ==设置默认规则 ,将流入的流量丢掉==
1 | iptables -P INPUT DROP |
命令回车 之后会发现,输入任何命令已经没有反应了
因为我是通过SSH
连接到Centos7
系统的,流量属于流入的流量,通过iptables -P INPUT DROP
命令将流入的流量全部都禁掉了,所以就不能SSH连接了
主机使用ping
命令也会ping不通centos
- ==允许icmp协议流量通过==
1 | iptables -I INPUT -p icmp -j ACCEPT |
再次测试网络连通性就 可以通了
虽然能ping通,但是ssh还是连接不上 ,因为没有设置允许tcp协议(ssh协议用的是tcp协议) 流量通过
- ==可以显示规则的行数==
1 | iptables -nL --line-numbers |
- ==删除刚才的默认策略==
1 | iptables -D INPUT 1 |
- ==允许所有流量通过==
1 | iptables -P INPUT ACCEPT |
现在SSH
就能 连接成功了
- ==所有进来的22端口的TCP流量都给拒绝==
1 | iptables -A INPUT -p tcp --dport 22 -j REJECT |
命令回车后,ssh
就不能连接了,已经被拒绝了
查看一个规则
- ==允许192.168.80.0网段的22端口通过==
1 | iptables -I INPUT -s 192.168.80.0/24 -p tcp --dport 22 -j ACCEPT |
==匹配规则:从上往下==
- ==设置某个端口流量全部拒绝== (UDP、TCP)
1 | iptables -I INPUT -p tcp --dport 80 -j REJECT |
- ==在input链中添加某个IP拒绝访问某个端口==
1 | iptables -I INPUT -p tcp -s 192.168.80.1 --dport 8080 -j REJECT |
这里不能直接写真实机的地址,应该写VMnet8
的地址,这样才能限制住真实机的访问
Centos开启8080
端口服务
1 | python3 -m http.server 8080 |
kali可以访问到
真实机就访问不到了
- ==清空所有策略==
1 | iptables -F |
- ==禁用某一段端口==
1 | iptables -A INPUT -p tcp --dport 8000:9000 -j REJECT |
- ==保存规则==
1 | iptables-save |
https://www.cnblogs.com/ip99/p/15313691.html
https://www.cnblogs.com/machangwei-8/p/15978257.html
https://blog.csdn.net/u014644574/article/details/130071097