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

iptables

目录

iptables

匹配规则:由上到下依次匹配,一旦匹配不再匹配

参数

知识点

REJECT与DROP

REJECT与DROP的区别

当使用的时REJECT时,客户端访问迅速返回的值是拒绝连接

当使用的是DROP时,返回的时连接超时

REJECT与drop适用场景及危险系数

部署参考

步骤及例子

iptables

匹配规则:由上到下依次匹配,一旦匹配不再匹配

linux默认使用的是firewalld ,使用iptables需要安装相应的应用软件

参数

-t:指定操作的是呢个表(raw filter mangle nat)-t 表名

-p:指定匹配的数据包协议类型

-s:指定源地址 --source address/mask

-d:指定目的地址 --destination address/mask

-i:指定数据包来自哪一个接口(input froward prerouting)--in-interface name

-o:指定数据包出口接口(input froward prerouting)--out-interface name

-L:列出指定链上的规则,没有则列出所有链上的规则(-L chain)--list [chain]

-A:在指定chain的末尾插入指定的规则,规则会被放在最后 --append chain rule-specification

-I:在链的指定位置插入一个或多条规则,rulenum为1,指在链的头部插入(也是默认) --insert chain [rulenum] rule-specification

-D:在指定的链中删除一个或多个规则

-R:替换或者修改链的规则(--R chain rulenum rule-specification)

-P:指定target

-F:清空iptables链上的所有规则

-N:创建一个新链(--new-chain chain)

-X:删除指定的链,这个链中没有使用的规则(--delete-chain [chain])

-E:给指定的链重命名(--rename-chain old-chain new-chain)

-j:满足某个条件的时候,应该执行某个动作

-h:帮助信息

知识点

iptables 涉及到5链4表

5链:规则链,有相应的规则组成

prerouting:处理前,目的地址转换

input:流入的数据包

outpt:流出的数据包

forward:需要转发的数据包

postouting:处理后,用于源地址转换

4表:规则组成的表

filter:过滤表--用于数据包的过滤

3个动作:

ACCEPT:允许访问

REJECT:拒绝访问

DROP:丢弃数据的操作

REJECT与DROP

REJECT与DROP的区别

REJECT:对访问服务器的流量进行拒绝,连接会马上断开,断开之后,客户端会认为访问的服务器不存在
DROP:丢弃数据包,不反馈给客户端任何反应,客户端会因为连接会话的超时,断开
当使用的时REJECT时,客户端访问迅速返回的值是拒绝连接
[root@localhost ~]# curl 192.168.27.120:80
curl: (7) Failed connect to 192.168.27.120:80; Connection refused
当使用的是DROP时,返回的时连接超时
[root@localhost ~]# curl 192.168.27.120:80
curl: (7) Failed connect to 192.168.27.120:80; Connection timed out

REJECT与drop适用场景及危险系数

REJECT与DROP的使用场景:
REJECT:REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;
DROP:DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。
由于drop是单方面拒绝连接,所以客户端并未接受到具体信息,会导致客户端只能等到会话超时才能断开。
并且当客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路故障。

部署参考

在部署防火墙时,当客户端是企业内部或者是可信任的网络的时候使用REJECT,当面临危险网络或更高级别的防火墙规则部署时使用DROP

步骤及例子

1.安装iptables

yum install -y ptables-services.x86_64 

2.使用iptables的时候需要将firewalld停止

systemctl start iptables.service

3.iptables简单的查询命令

iptables -vnL   #查看iptables的详细信息
iptables -L
iptables -L --line-numbers  #显示当前的iptables的规则的序号
iptables -t <链名> -L     #只列出查看表的规则
iptables -D <链名>  规则链的序号
iptables -F     #清空岁所有的规则链

4.开启iptables使浏览器可以访问httpd

开启httpd服务
systemctl restart httpd
编写规则链
iptables -I INPUT -P tcp --dport 80 -j ACCEPT
查看是否写入规则链中
iptables -vnL
确认
curl 192.168.27.120:80

5.另一台服务器(121)不可以远程连接主机(120)

iptables -I INPUT -p tcp -s 192.168.27.121 --dport 22 -j REJECT
iptables -I INPUT -p tcp -s 192.168.27.121 --dport 22 -j DROP

6.本主机不可以远程访问另一台主机

iptables -I OUTPUT -p tcp -d 192.168.27.121  --dport 22 -j REJECT

7.禁止192.168.27.121访问本主机的80端口

iptables -I INPUT -p tcp -s 192.168.27.121 --dport 80 -j REJECT
http://www.lryc.cn/news/193161.html

相关文章:

  • 竞赛 深度学习LSTM新冠数据预测
  • Spark入门
  • react–antd 实现TreeSelect树形选择组件,实现点开一层调一次接口
  • android 固定进度环形刷新效果
  • python jieba 词性标注 中文词性分类 nlp jieba.posseg
  • LeetCode 每日一题 2023/10/9-2023/10/15
  • 相似性搜索:第 3 部分--混合倒排文件索引和产品量化
  • 小程序使用uni.createAnimation只执行一次的问题
  • win10取消ie浏览器自动跳转edge浏览器
  • 目录启示:使用 use 关键字为命名空间内的元素建立非限定名称
  • Go语言介绍与安装
  • 常用傅里叶变换表
  • 生活中的视音频技术
  • 一种用于肽图分析的烷化剂,Desthiobiotin-Iodoacetamide
  • 【(数据结构) —— 顺序表的应用-通讯录的实现】
  • macbook磁盘清理免费教程分享
  • cartographer_ros数据加载与处理
  • 设计模式-7种结构型模式
  • 华为李鹏:加速5G商业正循环,拥抱更繁荣的5.5G(5G-A)
  • Marin说PCB之CoilcraftBourns POC 电感的性能对比
  • 聊聊Maven的依赖传递、依赖管理、依赖作用域
  • centos6/7 SOCKS5 堆溢出漏洞修复(RPM方式)curl 8.4 CVE-2023-38545 CVE-2023-38546
  • C#,数值计算——数据建模Proposal的计算方法与源程序
  • 如何使用命令生成动态链接库.dll文件(保姆级教学)
  • Qt之模块介绍
  • Socks5代理和代理IP
  • 计算机指令、机器码
  • MyLife - Docker安装Consul
  • Leetcode刷题笔记--Hot61-70
  • python特别篇—github基本操作手册