iptables与firewall的命令的使用

news2025/1/10 10:57:57

iptables与firewall的命令的使用

    • 安装
    • firewall指令基本使用
    • iptables
      • 简介
      • 命令
        • 查看 IPTABLES 版本¶
        • 查看当前 IPTABLES 规则¶
        • 添加规则
        • 修改规则
        • 删除某条规则
        • 加入白名单
        • 备份与还原
        • 定义策略
      • 其他

安装

查看是否已安装:

CentOS:rpm -qa | grep iptables
安装(一般系统是集成的):

CentOS 6:yum install -y iptables
Iptables 的配置文件
路径:vim /etc/sysconfig/iptables

firewall指令基本使用

查防火墙状态: systemctl status firewalld
开启防火墙:systemctl start firewalld.service
firewall-cmd --permanent --zone=public --remove-service=ssh #限制远程连接
firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.137.196.0/22” port protocol=“tcp” port=“22” accept” #添加22端口白名单
firewall-cmd --permanent --add-rich-rule=“rule family=“ipv4” source address=“10.224.0.0/16” port protocol=“tcp” port=“8080” accept” #添加8080端口白名单
firewall-cmd --reload #生效设置
如果之前没有设置白名单,8080端口一直在应用,可以查一下/etc/firewalld/zones/public.xml文件
看是否添加有这句,如果有,请删除,
再执行firewall-cmd --reload
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on

iptables

iptables 是 Linux 防火墙系统的重要组成部分,iptables 的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者由该设备转发、路由时,都可以使用 iptables 进行控制

简介

iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。
“四表”是指 iptables 的功能,默认的 iptable s规则表有 filter 表(过滤规则表)、nat 表(地址转换规则表)、mangle(修改数据标记位规则表)、raw(跟踪数据表规则表):
filter 表:控制数据包是否允许进出及转发,可以控制的链路有 INPUT、FORWARD 和 OUTPUT。
nat 表:控制数据包中地址转换,可以控制的链路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。
mangle:修改数据包中的原数据,可以控制的链路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。
raw:控制 nat 表中连接追踪机制的启用状况,可以控制的链路有 PREROUTING、OUTPUT。
“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含多个数据链:INPUT(入站数据过滤)、OUTPUT(出站数据过滤)、FORWARD(转发数据过滤)、PREROUTING(路由前过滤)和POSTROUTING(路由后过滤),防火墙规则需要写入到这些具体的数据链中。
在这里插入图片描述

可以看出,如果是外部主机发送数据包给防火墙本机,数据将会经过 PREROUTING 链与 INPUT 链;如果是防火墙本机发送数据包到外部主机,数据将会经过 OUTPUT 链与 POSTROUTING 链;如果防火墙作为路由负责转发数据,则数据将经过 PREROUTING 链、FORWARD 链以及 POSTROUTING 链。

命令

重启服务命令 :service iptables restart
查看服务状态: service iptables status
设置开启默认启动: chkconfig --level 345 iptables on
清除所有规则(慎用)
iptables -F
iptables -X
iptables -Z

查看 IPTABLES 版本¶

rpm -q iptables
这里返回的结果类似于 iptables-1.4.7-9.el6.i686。

查看当前 IPTABLES 规则¶

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

添加规则

格式 iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG
端口启动检查 netstat -ano|grep 8443,如果显示内容,表示端口监听了
选项与参数:
-AI 链名:针对某的链进行规则的 “插入” 或 “累加”
-A :新增加一条规则,该规则增加在原本规则的最后面。例如原本已经有四条规则,使用 -A 就可以加上第五条规则!
-I :插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则。例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 号链 :有 INPUT, OUTPUT, FORWARD 等,此链名称又与 -io 有关,请看底下。
-io 网络接口:设定封包进出的接口规范
-i :封包所进入的那个网络接口,例如 eth0, lo 等接口。需与 INPUT 链配合;
-o :封包所传出的那个网络接口,需与 OUTPUT 链配合;
-p 协定:设定此规则适用于哪种封包格式。主要的封包格式有: tcp, udp, icmp 及 all 。
-s 来源 IP/网域:设定此规则之封包的来源项目,可指定单纯的 IP 或包括网域,例如:IP:192.168.0.100,网域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。若规范为『不许』时,则加上 ! 即可,例如:-s ! 192.168.100.0/24 表示不许 192.168.100.0/24 之封包来源。
-d 目标 IP/网域:同 -s ,只不过这里指的是目标的 IP 或网域。
-j :后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG)

例如:iptables -A INPUT -p tcp -s 10.56.71.139/24 --dport 8443 -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许已建立的或相关连的通行
iptables -I OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # 允许访问 22 端口
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #允许访问 80 端口
iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT #允许访问 8080 端口
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT #允许 FTP 服务的 21 端口
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT #允许 FTP 服务的 20 端口
iptables -I INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT #允许 ping
iptables -I INPUT -j REJECT #禁止其他未允许的规则访问(使用该规则前一定要保证 22 端口是开着,不然就连 SSH 都会连不上)
iptables -I FORWARD -j REJECT

修改规则

修改规则
在修改规则时需要使用-R参数。 【例 4】把添加在第 6 行规则的 DROP 修改为 ACCEPT。首先需要使用 su 命令,切换当前用户到 root 用户,然后在终端页面输入如下命令:
iptables -R INPUT 6 -s 194.168.1.5 -j ACCEPT

删除某条规则

iptables -D INPUT 16
16为行数

加入白名单

白名单加入
iptables -A whitelist -s 10.235.5.86 -p all -j ACCEPT
input加入
iptables -A INPUT -s -p tcp -j ACCEPT

备份与还原

保存配置命令:service iptables save 或者 /etc/rc.d/init.d/iptables save
1、iptables-save命令
2、iptables-restore命令

定义策略

定义iptables默认策略(policy)
语法
iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
选项与参数:
-P:定义策略。
ACCEPT:该数据包可接受。
DROP:该数据包直接丢弃,不会让Client端知道为何被丢弃。
iptables -P INPUT DROP
tcpdump -i ens3 tcp port 8443 and host 10.56.71.139

FORWARD : 过滤所有不是本地产生的并且目的地不是本地(所谓本地就是防火墙了)的包
INPUT : 针对那些目的地是本地的包
OUTPUT : 过滤所有本地生成的包的

其他

-t:指定需要维护的防火墙规则表 filter、nat、mangle或raw。在不使用 -t 时则默认使用 filter 表。
COMMAND:子命令,定义对规则的管理。
chain:指明链表。
CRETIRIA:匹配参数。
ACTION:触发动作
iptables 命令常用的选项及各自的功能如表 2 所示

COMMAND如下所示:
-A 添加防火墙规则
-D 删除防火墙规则
-I 插入防火墙规则
-F 清空防火墙规则
-L 列出添加防火墙规则
-R 替换防火墙规则
-Z 清空防火墙数据表统计信息
-P 设置链默认规则
iptables 命令常用匹配参数及各自的功能。
[!]-p 匹配协议,! 表示取反
[!]-s 匹配源地址
[!]-d 匹配目标地址
[!]-i 匹配入站网卡接口
[!]-o 匹配出站网卡接口
[!]–sport 匹配源端口
[!]–dport 匹配目标端口
[!]–src-range 匹配源地址范围
[!]–dst-range 匹配目标地址范围
[!]–limit 四配数据表速率
[!]–mac-source 匹配源MAC地址
[!]–sports 匹配源端口
[!]–dports 匹配目标端口
[!]–stste 匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
[!]–string 匹配应用层字串

ACCEPT 允许数据包通过
DROP 丢弃数据包
REJECT 拒绝数据包通过
LOG 将数据包信息记录 syslog 曰志
DNAT 目标地址转换
SNAT 源地址转换
MASQUERADE 地址欺骗
REDIRECT 重定向

常用命令
iptables -A INPUT -p tcp -s 10.56.71.139/24 --dport 8443 -j ACCEPT
iptables -A INPUT -p tcp --dport 8443 -j DROP
1、iptables -P INPUT DROP 设置默认策略是禁用
2、iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT 设置所要允许的规则
在尾部添加允许所有数据包通行的规则
iptables -A FORWARD -j ACCEPT

/home/oracle/oracle12c
/home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain

iptables -A INPUT -p tcp -m tcp --dport 7001 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7021 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5556 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7002 -j ACCEPT

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

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

相关文章

推荐一个好用的程序员工具箱,集成了代码生成,云剪切板以及AI能力

给大家推荐一个程序员必备网站,功能方便、实用,页面精美,下面是部分功能截图: 代码生成 云剪切板 工作日报生成 专利文章生成 毕业论文生成 地址: http://119.29.247.153/#/ai-tools​

计算机组成部分

计算机的五大部件是什么?答案:计算机的五大部件是运算器,控制器,存储器,输入设备和输出设备。 其中运算器和控制器合称中央处理器,是计算机的核心部件; 存储器是用来存储程序指令和数据用的&am…

免费AI作图项目:Fooocus,Github高星推荐,支持win私有化部署

我们都知道,Midjourney是需要付费使用的,而Stable Diffusion需要大量的学习成本,在这种背景下,Fooocus应运而生。 Fooocus 是一款图像生成软件。 Fooocus项目原地址:https://github.com/lllyasviel/Fooocus Stable …

华为手机Outlook手机APP无法登录邮箱,提示[2002]错误代码

近期遇到不少华为手机的Outlook APP无法登录邮箱Office365邮箱的案例,并且提示: 错误 出错了。[2002] 经测试,这应该是华为应用市场下载的Outlook版本有问题。 解决方法: 把Outlook卸载之后从微软官网重新下载官网版本去安装&am…

全网最细,Jmeter接口测试-实现动态关联实战整理,你要的都有...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 业务场景&#xf…

http库 之 OKHttpUtil

源码位置 方便实用&#xff0c;个人感觉不错 依赖 <dependency><groupId>io.github.admin4j</groupId><artifactId>common-http-starter</artifactId><version>0.7.5</version> </dependency>代码实践 /*** 通用http的pos…

SringBoot-响应

响应数据 如何加载响应数据呢 其实在SpringBoot&#xff0c;已经有名为RessponseBody的方法注解为我们提供的响应的方法&#xff0c;他的作用是将方法返回值直接响应&#xff0c;如果返回值类型为实体对象/集合&#xff0c;则会转换为JSON格式响应。 而RestController已经在内…

Java后端开发需要掌握什么知识和技能?干货来了

Java作为一种广泛应用于软件开发中的编程语言&#xff0c;其独特的编写风格、代码复用性以及多平台兼容性等特点&#xff0c;使其成为软件开发领域中最受欢迎的编程语言之一。然而&#xff0c;Java后端开发需要掌握什么知识和技能?下面就让小编为大家介绍一些Java开发常用的知…

idea格式化日志打印

Live Template 需要在Live Templates里面创建一个模板组为MyTemplate 触发时机选择java 1、创建一个loge log.error($content$,$params$); content groovyScript("def params _3.collect {【it {}】}.join(, ); return \" _1 . _2 () exception > (params…

【kubernetes】k8s高可用集群搭建(三主三从)

目录 【kubernetes】k8s高可用集群搭建&#xff08;三主三从&#xff09; 一、服务器设置 二、环境配置 1、关闭防火墙 2、关闭selinux 3、关闭swap 4、修改主机名&#xff08;根据主机角色不同&#xff0c;做相应修改&#xff09; 5、主机名映射 6、将桥接的IPv4流量…

6-1_ADC示例分析

1.参考代码示例 PRJ_M66_4.3.3\boards\apollo4l_blue_eb\examples\peripherals\adc_measure\src\adc_measure.c 本篇基于Apollo4BlueLite 4.3.3版本的SDK中adc_measure.c示例的代码进行分析。 2. 代码流程 &#xff08;1&#xff09;初始化一路GPIO作为ADC输入 &#xff0…

P4500Q22CLRP 半导体放电管 品牌厂家 现货直供

防浪涌过电压保护电路中&#xff0c;常用的过电压保护器件有&#xff1a;半导体放电管TSS、TVS瞬态抑制二极管、压敏电阻MOV、陶瓷气体放电管GDT&#xff0c;其中半导体放电管TSS和陶瓷气体放电管GDT属于开关型过压保护器件&#xff0c;压敏电阻MOV和TVS瞬态抑制二极管属于钳位…

金蝶软件实现导入Excel数据分录行信息到单据体分录行中

>>>适合KIS云专业版V16.0|KIS云旗舰版V7.0|K/3 WISE 14.0等版本<<< 金蝶软件中实现[导入Excel数据业务分录行]信息到[金蝶单据体分录]中,在采购订单|采购入库单|销售订单|销售出库单等类型单据中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地从…

app测试和web测试有什么区别

1.性能方面: web页面可能更关注响应时间&#xff0c;而app更关注流量、电量、QPS。 2.系统架构方面&#xff1a; web项目&#xff0c;一般都是b/s架构&#xff0c;基于浏览器的&#xff0c;而app则是c/s的&#xff0c;必须要有客户端。在系统测试的时候就会产生区别了。首从…

使用ntp服务器调整linux系统时间(附带代码示例)

前言 这是我在这个网站整理的笔记&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;RodmaChen 为了防止应用在系统上运行时候&#xff0c;系统时间与真实时间出现误差。可以调用ntp服务器获取正确的时间进行调整 NTP简介 网络时间协议&#xff08;NTP&…

Qt扫盲-QTableView理论总结

QTableView理论总结 一、概述二、导航三、视觉外观四、坐标系统五、示例代码1. 性别代理2. 学生信息模型3. 对应视图 一、概述 QTableView实现了一个tableview 来显示model 中的元素。这个类用于提供之前由QTable类提供的标准表&#xff0c;但这个是使用Qt的model/view架构提供…

mysql 8.0.20不停机主从同步

一、环境 CentOS &#xff1a; 7.3.1611 (Core) mysql&#xff1a;8.0.20 二、遇到的问题 1.查看主从同步发现下列问题 error connecting to master repl192.168.0.21:3306 - retry-time: 60 retries: 4 message: Authentication plugin caching_sha2_password reported e…

https协议的nginx请求http协议tomcat,出现静态文件js访问不到的情况!

复现问题&#xff1a; 访问https://1.1.1.1:443/aaa,页面出现静态js,css请求失败&#xff01; F12查看&#xff1a; 分析问题&#xff1a; 问题的根源应该就是浏览器的安全机制&#xff0c;不允许在嵌套在https的页面中进行http请求吧&#xff0c;结合google想到这个应该可以…

用dcker极简打包java.jar镜像并启动

用dcker极简打包java.jar镜像并启动 一、本地打包好jar包 二、新建文件夹&#xff0c;将步骤1中的jar包拷贝到文件夹下 三、同目录下新建Dockerfile ## 基础镜像&#xff0c;这里用的是openjdk:8 FROM openjdk:8## 将步骤一打包好的jar包 拷贝到镜像的 跟目录下[目录可以自定义…

真想学技术,还是不要去外包了,干了三年,废了....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…