iptables命令

news/2025/4/1 2:17:05/

 iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。

iptables(选项)(参数)
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。

  iptables安装与基本语法

# 安装 iptables
yum install iptables-services -y


# 开启 iptables
systemct start iptables 或 service iptables start


# 清楚所有规则,一定要执行,不然,你现在所有端口外部都没法访问
iptables -F 


# 关闭端口开放,raw 为 table 名称,PREROUTING 为 “路由规则” 的前置拦截
iptables -t raw -I PREROUTING -p tcp --dport 端口 -j DROP


# 端口针对 ip 开放
iptables -t raw -I PREROUTING -s ip -p tcp --dport 端口 -j ACCEPT
iptables -t raw -I PREROUTING -s ip/16 -p tcp --dport 端口 -j ACCEPT


# 查看设置的规则
iptables -t raw -nvL


# 查看规则编号
iptables -t raw -L -n --line-number


# 删除添加的规则
iptables -t raw -D PREROUTING xx


# 开机自启动
systemctl enable iptables 或 service iptables enable

开放指定的端口 

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         #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT    #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT    #允许FTP服务的20端口
iptables -A INPUT -j reject       #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT     #禁止其他未允许的规则访问

屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP       #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP      #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP    #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP    #封IP段即从123.45.6.1到123.45.6.254的命令是

查看已添加的iptables规则

iptables -L -n -v

删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8


http://www.ppmy.cn/news/104342.html

相关文章

设计模式-享元模式

问题背景 有一个小型的外包项目&#xff0c;就是给客户A做一个展示的网站&#xff0c;例如展示&#xff1a;这个网站展示的都是客户A的产品。然后可以A的朋友觉得不错&#xff0c;也希望做这样一个网站&#xff0c;但是要求有些不同&#xff0c;要求以新闻的形式展示。还有更多…

【面试】计算机网络面试题

计算机网络面试题一 简述OSI七层协议 OSI七层协议包括&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;运输层&#xff0c;会话层&#xff0c;表示层&#xff0c; 应用层 简述TCP/IP五层协议 TCP/IP五层协议包括&#xff1a;物理层&#xff0c;数据…

[.NET/C#] 委托与 Lambda 表达式, 语句详解

在 C# 中, 委托与 Lambda 是最常用的功能之一, 诸如多线程, 可迭代类型的 LINQ 操作, 回调, 都是借助委托完成的. 它在 C 语言对应的是函数指针, 在 C 中对应的是 std::function 委托 / Delegate 在 C# 中, 委托是一种特殊的类型, 它用来存储一段逻辑(可执行的内容). 例如在声…

逍遥自在学C语言 | 揭开while循环的神秘面纱

前言 循环是一种重要的控制结构&#xff0c;可以使程序重复执行一段代码&#xff0c;直到满足特定条件为止。 在C语言中&#xff0c;while和do-while是两种常用的循环结构&#xff0c;本文将详细介绍这两种循环的用法。 一、人物简介 第一位闪亮登场&#xff0c;有请今后会一…

给osg::Geometry(自己绘制的几何体)添加纹理(二)

目录 1. 前言 2. 自会集合体贴纹理 2.1. 一张图贴到整个几何体 2.2. 几何体每个面贴不同的图片纹理 3. 说明 1. 前言 前文讲述了如何给osg自带的几何体&#xff0c;如&#xff1a;BOX等&#xff0c;添加纹理&#xff0c;文章参考链接如下&#xff1a; osg给osg::Geometry&…

【车载开发系列】Autosar DCM模块配置

【车载开发系列】Autosar DCM模块配置 Autosar DCM模块配置 【车载开发系列】Autosar DCM模块配置一.DCM的概念二.DCM模块组成三.DCM模块的作用四.OBD与UDS区别五.DSL模块介绍1.处理诊断请求2. 处理诊断响应3. 管理安全等级 六.DSD模块介绍1.检查诊断服务2.汇总响应数据 七.DSP…

Top大学教授:青年学者,请避免这些写作问题→

在科研初期&#xff0c;很多作者由于缺乏经验和指导&#xff0c;糊里糊涂地发了一些质量较低的论文。 为了帮助青年科学家提高写作能力&#xff0c;比利时鲁汶大学的Blocken教授&#xff08;同时也是Building & Environment、Journal of Wind Engineering & Industrial…

PHPMySQL基础(一):创建数据库并通过PHP进行连接

PHP同样可以对数据库进行连接&#xff0c;并且实现增删改查、登录注册等功能&#xff0c;这一篇写一下怎么使用PHP去连接MySQL数据库 目录 一、创建数据库 1.1 登录页面 1.2 创建数据库 1.3 创建数据库表 1.4 添加表字段 1.5 插入数据 1.6 导出和导入 二、PHP连接数据…