当前位置: 首页 > news >正文

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

文章目录

    • 规则链的分类--五链
    • 处理的动作
    • iptables常用参数和作用

防火墙就是堵和通的作用

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

systemctl stop firewalld
systemctl disable firewalld
  • 查看规则链
iptables -L

在这里插入图片描述

  • 清空规则链
 iptables -F

其实刚开始在没有配置规则的使用,查看规则链的时候就是空的

  • 设置默认规则 ,将流入的流量丢掉
 iptables -P INPUT DROP

image-20230902173734183

命令回车 之后会发现,输入任何命令已经没有反应了

因为我是通过SSH连接到Centos7系统的,流量属于流入的流量,通过iptables -P INPUT DROP命令将流入的流量全部都禁掉了,所以就不能SSH连接了

主机使用ping命令也会ping不通centos

image-20230902174220184

  • 允许icmp协议流量通过
iptables -I INPUT -p icmp -j ACCEPT

image-20230902180051540

再次测试网络连通性就 可以通了

image-20230902175255098

虽然能ping通,但是ssh还是连接不上 ,因为没有设置允许tcp协议(ssh协议用的是tcp协议) 流量通过

  • 可以显示规则的行数
iptables -nL --line-numbers
  • 删除刚才的默认策略
iptables -D INPUT 1

image-20230902180227773

  • 允许所有流量通过
iptables -P INPUT ACCEPT

image-20230902180424300

现在SSH就能 连接成功了

image-20230902180605329

  • 所有进来的22端口的TCP流量都给拒绝
 iptables -A INPUT -p tcp --dport 22 -j REJECT

命令回车后,ssh就不能连接了,已经被拒绝了

image-20230902181045147

查看一个规则

image-20230902181347523

  • 允许192.168.80.0网段的22端口通过
iptables -I INPUT -s 192.168.80.0/24 -p tcp --dport 22 -j ACCEPT

image-20230902182919230

匹配规则:从上往下


  • 设置某个端口流量全部拒绝 (UDP、TCP)
iptables -I INPUT -p tcp --dport 80 -j REJECT
iptables -I INPUT -p udp --dport 80 -j REJECT
  • 在input链中添加某个IP拒绝访问某个端口
iptables -I INPUT -p tcp -s 192.168.80.1 --dport 8080 -j REJECT

这里不能直接写真实机的地址,应该写VMnet8的地址,这样才能限制住真实机的访问

image-20230902190144279

Centos开启8080端口服务

python3 -m http.server 8080

image-20230902190340997

kali可以访问到

image-20230902184716297

真实机就访问不到了

image-20230902190031690

  • 清空所有策略
iptables -F

image-20230902190449942

  • 禁用某一段端口
iptables -A INPUT -p tcp --dport 8000:9000 -j REJECT
  • 保存规则
iptables-save
iptables-save > 1.txt

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

http://www.lryc.cn/news/151780.html

相关文章:

  • 关于MySQL数据库版本不同导致表进行比较的时候报错illegal mix of collations...的问题
  • 进程、操作系统
  • hadoop学习:mapreduce入门案例四:partitioner 和 combiner
  • HTTP与SOCKS5的区别对比
  • 在阿里云请求发短信接口去掉证书验证
  • k8s里pv pvc configmap
  • 【Atcoder】 [ARC144D] AND OR Equation
  • python使用字典暴力解析wifi密码
  • java八股文面试[多线程]——synchronized锁升级详细流程
  • ui网页设计实训心得
  • 论文阅读_扩散模型_DDPM
  • 菜鸟教程《Python 3 教程》笔记(15):数据结构
  • CH05_介绍重构名录
  • 1、Nginx 简介
  • C++之——宏
  • 代码随想录打卡—day56—【编辑距离】— 9.2 编辑距离系列
  • uni-app app端.m3u8类型流的播放
  • 使用proxy_pool来为爬虫程序自动更换代理IP | 开源IP代理
  • 【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】
  • Centos7 + Apache Ranger 2.4.0 部署
  • 硬件SPI口扩展
  • 【jsthree.js】全景vr看房进阶版
  • 实战:基于卷积的MNIST手写体分类
  • Ubuntu开启生成Core Dump的方法
  • git视频教程Jenkins持续集成视频教程Git Gitlab Sonar教程
  • 机器学习:Xgboost
  • 《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装cri-containerd-cni》
  • [CISCN 2019初赛]Love Math
  • 运行命令出现错误 /bin/bash^M: bad interpreter: No such file or directory
  • 码农重装系统后需要安装的软件