iptables用法总结

news2024/9/23 17:16:41

iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。

1、iptables语法格式

iptables 命令的基本语法格式如下:

[root@l ~]# iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION

命令全景图如下:

 

2、具体使用场景

1)查看规则

对规则的查看需要使用如下命令:

[root@~]# iptables -nvL  --line-number

各参数的含义为:

-L 表示查看当前表的所有规则,默认查看的是 filter 表,如果要查看 nat 表,可以加上 -t nat 参数。
-n 表示不对 IP 地址进行反查,加上这个参数显示速度将会加快。
-v 表示输出详细信息,包含通过该规则的数据包数量、总字节数以及相应的网络接口。

--line-number 表示显示序号

其他链表查看规则,依此类推,比如查看nat表规则,同时删除POSTROUTING 链表的第1条规则:

iptables -t nat  -nL  --line-number

iptables -t nat  -D POSTROUTING  1

2)添加/清除默认规则

#拒绝全部input(过滤除iptables规则之外的所有请求)

iptables -P INPUT DROP

#接受全部input

iptables -P INPUT ACCEPT

其他链表的默认规则,依此类推,

比如添加OUTPUT的默认规则就改成iptables -P OUTPUT DROP

比如添加FORWARD的默认规则就改成iptables -P FORWARD  DROP

iptables -F    //安装完成基本配置-清空所有默认规则

iptables -X    //安装完成基本配置-清空所有自定义规则

iptables -Z    //安装完成基本配置-所有计数器归0

iptables -D INPUT 8    //要删除INPUT里序号为8的规则

3) 添加ssh规则

添加规则有两个参数分别是 -A 和 -I。其中

-A 是添加到规则的末尾;

-I 可以插入到指定位置,

默认:没有指定位置的话插入到规则的首部

eg:添加一条拒绝22端口的规则到尾部。 :

iptables -A INPUT -p tcp --dport 22 -j REJECT

eg:添加一条放通某个IP地址的22端口

iptables -A INPUT -s 10.245.182.10 -p tcp --dport 22 -j ACCEPT

由于最后一条总是生效,先将所有22端口失效,再允许某个IP有效就行。

4)放通samba文件服务器端口

samba新版的已不再使用137.138.139等端口,仅使用445端口。而且仅允许192.168.1网段可以访问。

iptables -I INPUT -s 192.168.1.0/24 -p tcp  --dport 445 -j ACCEPT

5)放通mysql数据库3306端口:

仅允许192.168.1网段可以访问3306端口

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 3306 -j ACCEPT

6)端口转发

首先开启系统的转发功能

vi /etc/sysctl.conf

将net.ipv4.ip_forward=0修改成net.ipv4.ip_forward=1

#编辑后使用命令让配置马上生效
sysctl -p

其次需要配2条规则:

#目标地址端口为3389的,转换为 192.168.1.1:3389

iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.1.1:3389

#凡目标地址为192.168.1.1:3389的,把源地址转换为192.168.1.2

iptables -t nat -I POSTROUTING  -p tcp -d 192.168.1.1 --dport 3389 -j SNAT --to 192.168.1.2

mstsc远程访问地址192.168.1.2,iptables就会帮你转换成192.168.1.1的桌面了。

3、归档备存

最后建议建一个excel表,将各个规则写一写,包括 放通的客户机是在哪些位置啦,以及放通的原因是哪些啦。后续方便查看放通的原因。好记性不如笔头嘛。相信对于一堆iptables配置规则,如果没有文档辅助记忆,我会很抓狂。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 基础笔记(入门到循环)

目录 1.认识C —— 初窥门径 一、C程序框架(8分) 二、语言规范(16分) 三、DEV-C软件(下载链接) 四、计算机快捷键 五、输入输出的应用 2.变量与赋值 —— 脚踏实地 2.1 变量类型 2.2 变量类型与变…

一文详解名字分类(字符级RNN)

目录 一.前言 二.数据预处理 三.构造神经网络 四.训练 五.评价结果(预测) 一.前言 我们将构建和训练字符级RNN来对单词进行分类。字符级RNN将单词作为一系列字符读取,在每一步输出预测和“隐藏状态”,将其先前的隐藏 状态输…

02-MySQL数据管理

目录 DDL(数据操作语言) 添加数据 添加student表数据 修改数据 WHERE条件子句 修改student表数据 删除数据 删除student表数据 总结: DDL(数据操作语言) 用于操作数据库对象中所包含的数据 关键字&#xff1…

STM32的光敏检测自动智能窗帘控制系统proteus设计

STM32的光敏检测自动智能窗帘控制系统proteus设计 ( proteus仿真程序演示视频) 仿真图proteus 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0074 主要功能: 结合实际情况,基于STM32单片机设计一…

ATTCK-T1078-001-默认账户

0x01基础信息 具体信息详情ATT&CK编号T1078-001所属战术阶段初始访问操作系统windows 7 旗舰版 SP1创建时间2022年11月10日监测平台火绒安全、火绒剑、sysmon 0x02技术原理 攻击者可能会获取和滥用默认帐户的凭据,以作为获得初始访问、持久性、特权升级或防御…

Python用一行代码,截取图片

前言 本文是该专栏的第3篇,后面会持续分享python的各种黑科技知识,值得关注。 在工作上,有些时候可能需要用到代码来进行自动截图,比如说需要图文识别,进行数据信息抽取的时候,能自动定位截图无疑是很好的办法。 对python而言,截图方法其实有很多,但笔者下面要介绍的…

活动明天见 | DataFunSummit 2022 AI基础软件架构峰会圆桌会

11月16日晚 19:30-21:00,第四范式技术副总裁、OpenMLDB 项目发起人郑曌受邀主持DataFunSummit 2022 AI基础软件架构峰会圆桌会,将与各位资深专家在线上做深度的交流分享,欢迎大家届时收看。 开源机器学习数据库 OpenMLDB **活动时…

全国产三防加固计算机

国产三防加固计算机,本文指的是CPU为国产飞腾D2000处理器、操作系统为国产麒麟V10 SP1系统,整机方案采用全国产化设计。 达梦数据库是由武汉达梦数据库股份有限公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理…

“辣条一哥”卫龙冲击港股IPO,我又吃出一家上市公司

一、公司简介 卫龙作为国内领先的辣味休闲食品企业,是目前国内辣味食品当之无愧的第一品牌。据2021年零售销售额计,公司在辣味休闲食品企业中排名第一,市场份额达到了6.2%,是一款备受年轻消费者喜爱的休闲食品品牌。天眼查App显示…

vue3之实现响应式数据ref和reactive

用途 ref、reactive都是vue3提供实现响应式数据的方法 ref() 接受一个内部值,返回一个响应式的、可更改的ref对象,此对象只有一个指向其内部的属性.value ref可以说是简化版的reactive,与reactive的区别则是 ref是对某一个数据类型的单独…

测试工程师面试题

很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享一些比较常见的问题。 01 自我介绍 这里我不分享如何自我介…

js 网格卡片交换动画

关键技术:animate(keyframes, options) keyframes 关键帧对象数组,或一个关键帧对象(其属性为可迭代值的数组) 代表动画持续时间的整数(以毫秒为单位),或者一个包含一个或多个时间属性 参考传送…

C# 学习之路(类的基本概念)

C# 学习之路(类的基本概念) 类的概述 类是一种活动的数据结构 程序的数据和功能被组织为逻辑上相关的数据项和函数封装的集合,并称为类 类包含数据成员和函数成员: 数据成员:存储与类或类的实例相关的数据&#xff08…

Linux条件变量

一、条件变量函数 1,条件变量 条件变量:用来描述某种临界资源是否就绪的一种数据化描述。通常要配合mutex一起使用。 2,初始化 pthread_connd_init: 同样有一个静态的和一个动态的。 其中cond是需要初始化的条件变量,attr传…

在线书法培训迎来新风口

随着社会教育水平的不断提高,书法不再是独属于某个年龄层的爱好,开始被越来越多人欣赏和重视。 写一手好字,对每一个人来说都是一个加分“外挂”。在考场上,一手好字无疑可以让阅卷老师在心中自然加分;在职场中&#…

源码深度解析之 Spring IOC

1. 基础知识 1.1 什么是 Spring IOC ? IOC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。 传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与…

Vue--》自定义指令的使用讲解

目录 自定义指令 自定义指令的分类 私有自定义指令: 全局自定义指令: 总结 自定义指令 vue官方提供了v-text、v-for、v-model、v-if等常用的指令,还允许开发者自定义指令。 自定义指令的分类 私有自定义指令: 在每个vue组…

[附源码]计算机毕业设计框架的食品安全监督平台的设计与实现Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

u-BOOT启动流程

1、u-boot入口:入口即第一行程序,程序的链接是由链接脚本决定的,编译uboot之后,可以在根目录下生成u-boot.lds文件 打开lds文件可以看到代码当前入口点: :_start,_start后面就是中断向量表&…

[附源码]Python计算机毕业设计Django演唱会门票售卖系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…