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

iptables常用命令总结

1.iptables 是什么

在Linux中,iptables就是一款强大而灵活的防火墙工具,它为系统管理员提供了广泛的配置选项,可以有效地控制数据包的流动,实现网络访问的控制及安全性增强。

iptables 使用三个不同的链来允许或阻止流量:输入(input)、输出(output)和转发(forward)

输入(input) —— 此链用于控制传入连接的行为
输出(output) —— 此链用于传出连接
转发(forward) —— 这条链用于传入的连接,这些连接实际上不是在本地传递的,比如路由和 NAT

2.iptables 安装

CentOS 7 上默认安装了 firewalld,使用 iptables 需要先关闭并禁用 firewalld

systemctl stop firewalld
systemctl disable firewalld

使用rpm包安装iptables,准备好安装包:

iptables-1.4.21-34.el7.x86_64.rpm
iptables-services-1.4.21-34.el7.x86_64.rpm

执行命令安装:

rpm -ivh --force ./*.rpm

查看版本:

iptables --version

iptables 服务管理

systemctl status iptables  # 查看服务状态
systemctl enable iptables  # 启用服务
systemctl disable iptables # 禁用服务
systemctl start iptables   # 启动服务
systemctl stop iptables    # 关闭服务
systemctl restart iptables # 重启服务

3.iptables命令及参数

基本语法:$ iptables(选项)(参数)
-P	设置默认策略:
iptables -P INPUT (DROP
-F	清空规则链
-L	查看规则链
-A	在规则链的末尾加入新规则
-I	num 在规则链的头部加入新规则
-D	num 删除某一条规则
-s	匹配来源地址 IP/MASK
加叹号"!"表示除这个 IP 外
-d	匹配目标地址
-i	网卡名称 匹配从这块网卡流入的数据
-o	网卡名称 匹配从这块网卡流出的数据
-p	匹配协议,如 tcp,udp,icmp
--dport num	匹配目标端口号
--sport num	匹配来源端口号$ iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
# 语法规则
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
# 例如下列两条
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80

4.iptables 应用实例

(1)清空当前的所有规则和计数

iptables -F  # 清空所有的防火墙规则(手动配的,默认没有)
iptables -X  # 删除用户自定义的空链
iptables -Z  # 清空计数

(2)配置允许 ssh 端口连接

# 22 为你的 ssh 端口, -s 192.168.1.0/24 表示允许这个网段的机器来连接。-j ACCEPT 表示接受这样的请求
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

(3)配置白名单

# 允许机房内网机器可以访问
iptables -A INPUT -p all -s 192.168.1.0/24 -j ACCEPT 
# 允许机房内网机器可以访问
iptables -A INPUT -p all -s 192.168.140.0/24 -j ACCEPT 
# 允许 183.121.3.7 访问本机的3380端口
iptables -A INPUT -p tcp -s 183.121.3.7 --dport 3380 -j ACCEPT

(4)开启相应的服务端口

# 开启 80 端口,因为web对外都是这个端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许被 ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
# 已经建立的连接得让它进来
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

(5)列出已设置的规则

$ iptables -L [-t 表名][链名]
四个表名 raw,nat,filter,mangle
五个规则链名 INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
filter 表包含INPUT、OUTPUT、FORWARD三个规则链
# 列出 nat 上面的所有规则
$ iptables -L -t nat                
# -t 参数指定,必须是 raw, nat,filter,mangle 中的一个
# 规则带编号
$ iptables -L -t nat  --line-numbers
$ iptables -L INPUT
# 查看,这个列表看起来更详细
$ iptables -L -nv

(6)删除已添加的规则

# 添加一条规则
iptables -A INPUT -s 192.168.1.5 -j DROP# 将所有 iptables 以序号标记显示,执行:
iptables -L -n --line-numbers# 比如要删除 INPUT 里序号为 8 的规则,执行:
iptables -D INPUT 8

(7)开放指定的端口

# 允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 禁止访问22端口:iptables -A INPUT -p tcp --dport 22 -j DROP
# 怎么开就怎么关 ACCEPT --> DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# 允许FTP服务的20端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# 禁止其他未允许的规则访问
iptables -A INPUT -j reject
# 禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT

(8)查看已添加的规则

$ iptables -L -n -v
Chain INPUT (policy DROP 48106 packets, 2690K bytes)pkts bytes target     prot opt in     out     source               destination5075  589K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0191K   90M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
1499K  133M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
4364K 6351M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED6256  327K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 3382K packets, 1819M bytes)pkts bytes target     prot opt in     out     source               destination5075  589K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0

相关文章:

iptables常用命令总结

1.iptables 是什么 在Linux中&#xff0c;iptables就是一款强大而灵活的防火墙工具&#xff0c;它为系统管理员提供了广泛的配置选项&#xff0c;可以有效地控制数据包的流动&#xff0c;实现网络访问的控制及安全性增强。 iptables 使用三个不同的链来允许或阻止流量&#x…...

spring 自定义注解实现

实现自定义注解&#xff0c;通常会结合AOP&#xff08;面向切面编程&#xff09;来创建一个自定义的行为。 下面创建一个名为MyCustomAnnotation的自定义注解&#xff0c;并使用AOP编写一个切面来处理这个注解。 1. 创建自定义注解&#xff1a; import java.lang.annotation…...

10.dockerfile自动构建镜像

dockerfile自动构建镜像 类似ansible剧本&#xff0c;大小几kb 手动做镜像&#xff1a;大小几百M 首先创建一个dockerfile的路径&#xff0c;便于在路径下存在多个路径每个路径下都是dockerfile命名的脚本 注释&#xff1a;文件必须为&#xff1a;dockerfile或者Dockerfile …...

python -- series和 DataFrame增删改数据

学习目标 知道df添加新列的操作 知道insert函数插入列数据 知道drop函数删除df的行或列数据 知道drop_duplicates函数对df或series进行数据去重 知道unique函数对series进行数据去重 知道apply函数的使用方法 1 DataFrame添加列 注意:本文用到的数据集在文章顶部 1.1 直…...

window.clearInterval(timer) 清除定时器

window.clearInterval(timer)是用来清除定时器的方法。在JavaScript中&#xff0c;使用定时器可以在指定的时间间隔执行一段代码。通常&#xff0c;使用setTimeout()方法可以在一定时间后执行一次代码&#xff0c;而使用setInterval()方法可以在每个时间间隔执行一次代码。 使…...

Java项目如何外发告警日志到企业微信

前言 最近领导交代了一个需求,就是有些许客户不单单满足平台告警日志外发到邮箱、短信的形式,还要以消息聊天的形式外发给企业微信。 具体操作 1、注册企业微信。 2、登录企业微信,找到应用管理,创建应用。 3、创建完之后需要记录以下图片中两个值的信息。 4、然后记录下…...

NLP--关键词

在去停用词后的文本中进行词频统计和关键词统计以及词云图显示&#xff0c;来进行文本的关键词提取&#xff0c;让人一目了然。 1.词频统计 统计文本中多次出现的词语&#xff0c;来寻找文章中的关键词&#xff0c;因为多次出现很可能就是关键内容。调用统计数量的Counter库和…...

Qt5学习笔记

一、基础知识 1、基本控件类型 水平弹簧与垂直弹簧的父类都是QSpaceItem。关于PushButton相关的控件类型&#xff1a; QPushButton&#xff1a;最基础的按钮类型。QToolButton&#xff1a;可以控制图片、文字任意组合的显示方式的按钮类型。QRadioButton&#xff1a;就像rad…...

数据结构与算法笔记:基础篇 - 散列表(下):为什么散列表和链表经常会一起使用?

概述 已经学习了这么多章节了&#xff0c;你有没有发现&#xff0c;两种数据结构&#xff0c;散列表和链表&#xff0c;经常会被放在一起使用。你还记得&#xff0c;前面的章节中都有哪些地方讲到散列表和链表的组合使用吗&#xff1f; 在链表那一节&#xff0c;我讲到如何用…...

读AI未来进行式笔记06自动驾驶技术

1. 跃层冲击 1.1. 每个社会其实都处于不同的楼层&#xff0c;往往处于更低楼层的社会&#xff0c;要承受来自更高楼层的社会发展带来的更大冲击 2. 驾驶 2.1. 开车时最关键的不是车&#xff0c;而是路 2.2. 人是比机器更脆弱的生命&am…...

SpringAOP 常见应用场景

文章目录 SpringAOP1 概念2 常见应用场景3 AOP的几种通知类型分别有什么常见的应用场景4 AOP实现 性能监控4.1 首先&#xff0c;定义一个切面类&#xff0c;用于实现性能监控逻辑&#xff1a;4.2 定义自定义注解4.3 注解修饰监控的方法 5 AOP实现 API调用统计5.1 定义切面类&am…...

html+css示例

HTML HTML&#xff08;超文本标记语言&#xff09;和CSS&#xff08;层叠样式表&#xff09;是构建和设计网页的两种主要技术。HTML用于创建网页的结构和内容&#xff0c;而CSS用于控制其外观和布局。 HTML基础 HTML使用标签来标记网页中的不同部分。每个标签通常有一个开始…...

Day51 动态规划part10+Day52 动态规划part11

LC121买卖股票的最佳时机&#xff08;未掌握&#xff09; 暴力&#xff1a;双层循环寻找最优间距&#xff0c;每一次都确定一个起点&#xff0c;遍历剩余节点当作终点 贪心&#xff1a;取最左最小值&#xff0c;不断遍历那么得到的差值最最大值就是最大利润。 动态规划 dp数组…...

Wireshark自定义Lua插件

背景&#xff1a; 常见的抓包工具有tcpdump和wireshark&#xff0c;二者可基于网卡进行抓包&#xff1a;tcpdump用于Linux环境抓包&#xff0c;而wireshark用于windows环境。抓包后需借助包分析工具对数据进行解析&#xff0c;将不可读的二进制数转换为可读的数据结构。 wires…...

商城项目【尚品汇】07分布式锁-2 Redisson篇

文章目录 1 Redisson功能介绍2 Redisson在Springboot中快速入门&#xff08;代码&#xff09;2.1 导入依赖2.2 Redisson配置2.3 将自定义锁setnx换成Redisson实现&#xff08;可重入锁&#xff09; 3 可重入锁原理3.1 自定义分布式锁setnx为什么不可以重入3.2 redisson为什么可…...

Adobe Illustrator 矢量图设计软件下载安装,Illustrator 轻松创建各种矢量图形

Adobe Illustrator&#xff0c;它不仅仅是一个简单的图形编辑工具&#xff0c;更是一个拥有丰富功能和强大性能的设计利器。 在这款软件中&#xff0c;用户可以通过各种精心设计的工具&#xff0c;轻松创建和编辑基于矢量路径的图形文件。这些矢量图形不仅具有高度的可编辑性&a…...

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:中国舰船研究院

中国舰船研究院又称中国船舶重工集团公司第七研究院&#xff0c;隶属于中国船舶重工集团公司&#xff0c;是专门从事舰船研究、设计、开发的科学技术研究机构&#xff0c;是中国船舶重工集团公司的军品技术研究中心、科技开发中心&#xff1b;主要从事舰船武器装备发展战略研究…...

双网卡配置IP和路由总结

1.在网络适配器属性IPv4中设置默认网关&#xff08;记网关地址为A&#xff09;&#xff0c;将会在本地路由表中新增一条记录&#xff1a; 网络号子网掩码网关地址0.0.0.00.0.0.0A 2.如果有两个网卡&#xff08;假设一个连接内网&#xff0c;一个连接互联网&#xff09;&#…...

【纯血鸿蒙】——自适应布局如何实现?

界面级一多能力有 2 类&#xff1a; 自适应布局: 略微调整界面结构 响应式布局&#xff1a;比较大的界面调整 本文章先主要讲解自适应布局&#xff0c;响应式布局再后面文章再细讲。话不多说&#xff0c;开始了。 自适应布局 针对常见的开发场景&#xff0c;方舟开发框架提…...

Qt5学习笔记(一):Qt Widgets Application项目初探

笔者长期使用MFC开发Windows GUI软件。随着软件向Linux平台迁移的趋势越发明朗&#xff0c;GUI程序的跨平台需求也越来越多。因此笔者计划重新抓一下Qt来实现跨平台GUI程序的实现。 0x01. 看看Qt Widgets Application项目结构 打开Qt5&#xff0c;点击“ New”按钮新建项目。…...

Linux网络编程:数据链路层协议

目录 前言&#xff1a; 1.以太网 1.1.以太网帧格式 1.2.MTU&#xff08;最大传输单元&#xff09; 1.2.1.IP协议和MTU 1.2.2.UDP协议和MTU 1.2.3.TCP协议和MTU 2.ARP协议&#xff08;地址解析协议&#xff09; 2.1.ARP在局域网通信的角色 2.2.ARP报文格式 2.3.ARP报文…...

企业估值的三种方法

估值模型三剑客—DCF、P/E、EV /EBITDA 三种主要估值模型的优缺点: DCF 优点&#xff1a;通过对自由现金流的折现计算&#xff0c;反映了公司内在价值的本质&#xff0c;是最重要与最合理的估值方法。 缺点&#xff1a;未来自由现金流的估计不准确&#xff0c;受折现率影响…...

比亚迪正式签约国际皮划艇联合会和中国皮划艇协会,助推龙舟入奥新阶段

6月5日&#xff0c;比亚迪与国际皮划艇联合会、中国皮划艇协会在深圳共同签署合作协议&#xff0c;国际皮划艇联合会主席托马斯科涅茨科&#xff0c;国际皮划艇联合会秘书长理查德派蒂特&#xff0c;中国皮划艇协会秘书长张茵&#xff0c;比亚迪品牌及公关处总经理李云飞&#…...

宏集Panorama SCADA:个性化定制,满足多元角色需求

前言 在考虑不同人员在企业中的职能和职责时&#xff0c;他们对于SCADA系统的需求可能因其角色和工作职责的不同而有所差异。在SCADA系统的设计和实施过程中&#xff0c;必须充分考虑和解决这种差异性。 为了满足不同人员的需求, 宏集Panorama SCADA平台具备灵活的功能和定制…...

聪明人社交的基本顺序:千万别搞反了,越早明白越好

聪明人社交的基本顺序&#xff1a;千万别搞反了&#xff0c;越早明白越好 国学文化 德鲁克博雅管理 2024-03-27 17:00 作者&#xff1a;方小格 来源&#xff1a;国学文化&#xff08;gxwh001&#xff09; 导语 比一个好的圈子更重要的&#xff0c;是自己优质的能力。 唐诗宋…...

图片和PDF展示预览、并支持下载

需求 展示图片和PDF类型&#xff0c;并且点击图片或者PDF可以预览 第一步&#xff1a;遍历所有的图片和PDF列表 <div v-for"(data,index) in parerFont(item.fileInfo)" :key"index" class"data-list-item"><downloadCard :file-inf…...

图论第5天

127.单词接龙 需要cout看一下过程。 #include <iostream> #include <queue> #include <stack> #include <unordered_map> #include <unordered_set> #include <vector> using namespace ::std;class Solution { public:int ladderLength(…...

Java开发-面试题-0004-HashMap 和 Hashtable的区别

Java开发-面试题-0004-HashMap 和 Hashtable的区别 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff08;纯纯技术文&#xff09; 生活…...

Swift 序列(Sequence)排序面面俱到 - 从过去到现在(一)

概览 在任何语言中对序列(或集合)元素的排序无疑是一种司空见惯的常规操作,在 Swift 语言里自然也不例外。序列排序看似简单,实则“暗藏玄机”。 要想真正掌握 Swift 语言中对排序的“各种姿势”,我们还得从长计议。不如就先从最简单的排序基本功开始聊起吧。 在本篇博…...

redis 04 redis结构

1.客户端...

西安大雁塔景点介绍/今日头条搜索优化

关闭页面的js方法 /** 关闭页面 */function closeWin() {if (navigator.userAgent.indexOf("Firefox") ! -1 || navigator.userAgent.indexOf("Chrome") ! -1) {//火狐或者谷歌浏览器 并非完全关闭 而是当前页面为“about:blank”window.location.href &q…...

wordpress全站启用ssl/深圳营销策划公司十强

2019独角兽企业重金招聘Python工程师标准>>> KafkaOffsetMonitor 博客分类&#xff1a; MQ 1.概述 前面给大家介绍了Kafka的背景以及一些应用场景&#xff0c;并附带上演示了Kafka的简单示例。然后&#xff0c;在开发的过程当中&#xff0c;我们会发现一些问题&…...

前潮网络网站建设/网络营销的八种方式

接触React项目快两个月了&#xff0c;还在研究摸索各种知识点的过程中&#xff0c;充实且幸福。 在项目中学习新知识&#xff0c;还是很有效率的&#xff0c;一边写项目&#xff0c;一边实验新的知识点&#xff0c;比如react hooks&#xff01;嘻嘻嘻~~~ 写了好一段时间class组…...

北碚区网络营销推广公司/搜索引擎优化策略有哪些

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼szdata[ROWS][COLS] 传递给char *szdata[]是数组指针传递给指针数组char *szdata[ROWS]传递给char *szdata[]就正常是因为都是指针数组char szdata[ROWS][COLS]中&#xff0c;szdata也是一个数组指针&#xff0c;char *szdata[ROWS…...

政府网站如何管理系统/如何做好网络营销

MIUI14是小米公司推出的一款定制版安卓系统&#xff0c;它拥有很多有用的功能和技巧。以下是一些使用技巧&#xff1a; 自定义主屏幕&#xff1a;您可以在主屏幕上添加或删除小部件&#xff0c;以获得更好的使用体验。 电池优化&#xff1a;通过在“设置”>“电池与性能”中…...

国际足联世界排名/青岛seo

List是一个接口&#xff0c;而ListArray是一个类。 ListArray继承并实现了List。 所以List不能被构造&#xff0c;但可以向上面那样为List创建一个引用&#xff0c;而ListArray就可以被构造。 List list; //正确 listnull; List listnew List(); // 是错误的用法…...