linux中iptables防火墙怎么设置

author author     2023-04-08     432

关键词:

Linux系统内核内建了netfilter防火墙机制。Netfilter(数据包过滤机制),所谓的数据包过滤,就是分析进入主机的网络数据包,将数据包的头部数据提取出来进行分析,以决该连接为放行或阻挡的机制。Netfilter提供了iptables这个程序来作为防火墙数据包过滤的命令。Netfilter是内建的,效率非常高。
我们可以通过iptables命令来设置netfilter的过滤机制。
iptables里有3张表:
> Filter(过滤器),进入Linux本机的数据包有关,是默认的表。
> NAT(地址转换),与Linux本机无关,主要与Linux主机后的局域网内计算机相关。
> Mangle(破坏者),这个表格主要是与特殊的数据包的路由标志有关(通常不用涉及到这个表的修改,对这个表的修改破坏性很大,慎改之)。
每张表里都还有多条链:

Filter:INPUT, OUTPUT, FORWARD
NAT:PREROUTING, POSTROUTING, OUTPUT
Mangle:PREROUTING, OUTPUT, INPUT, FORWARD
iptables命令的使用
基本格式:iptables [-t table] -CMD chain CRETIRIA -j ACTION
-t table:3张表中的其中一种filter, nat, mangle,如果没有指定,默认是filter。
CMD:操作命令。查看、添加、替换、删除等。
chain:链。指定是对表中的哪条链进行操作,如filter表中的INPUT链。
CRETIRIA:匹配模式。对要过滤的数据包进行描述
ACTION:操作。接受、拒绝、丢弃等。
查看

格式:iptables [-t table] -L [-nv]
修改

添加
格式:iptables [-t table] -A chain CRETIRIA -j ACTION
将新规则加入到表table(默认filter)的chain链的最后位置

插入

格式:iptables [-t table] -I chain pos CRETIRIA -j ACTION
将新规则插入到table表(默认filter)chain链的pos位置。原来之后的规则都往后推一位。pos的有效范围为:1 ~ num+1
替换

格式:iptables [-t table] -R chain pos CRETIRIA -j ACTION
用新规则替换table表(默认filter)chain链的pos位置的规则。pos的有效范围为:1 ~ num
删除

格式:iptables [-t table] -D chain pos
删除table表(默认filter)chain链的pos位置的规则。pos的有效范围为:1 ~ num
包匹配(CRETIRIA)

上面没有介绍CRETIRIA的规则,在这小节里详细介绍。包匹配就是用于描述需要过滤的数据包包头特殊的字段。
指定网口:

-i :数据包所进入的那个网络接口,例如 eth0、lo等,需与INPUT链配合
-o: 数据包所传出的那么网络接口,需与OUTPUT链配合
指定协议:

-p:tcp, udp, icmp或all
指定IP网络:
-s:来源网络。可以是IP或网络
IP: 192.168.0.100
网络: 192.168.0.0/24 或 192.168.0.0/255.255.255.0 均可
可以在前加 ! 表示取反
-d:目标网格。同 -s
指定端口:
--sport:指定来源端口。可以是单个端口,还可以是连续的端口,例如:1024:65535。
--dport:指定目标端口。同--sport
注意:要指定了tcp或udp协议才会有效。
指定MAC地址:
-m mac --mac-source aa:bb:cc:dd:ee:ff
指定状态:
-m state --state STATUS
STATUS可以是:
> INVALID,无效包
> ESTABLISHED,已经连接成功的连接状态
> NEW,想要新立连接的数据包
> RELATED,这个数据包与主机发送出去的数据包有关,(最常用)
例如:只要已建立连接或与已发出请求相关的数据包就予以通过,不合法数据包就丢弃
-m state --state RELATED,ESTABLISHED
ICMP数据比对

ping操作发送的是ICMP包,如果不想被ping到,就可以拒绝。
--icmp-type TYPE
TYPE如下:
8 echo-request(请求)
0 echo-reply(响应)

注意:需要与 -p icmp 配合使用。

操作(ACTION)

DROP,丢弃
ACCEPT,接受
REJECT,拒绝
LOG,跟踪记录,将访问记录写入 /var/log/messages

保存配置

将新设置的规则保存到文件
格式:iptables-save [-t table]
将当前的配置保存到 /etc/sysconfig/iptables

其它

格式:iptables [-t table] [-FXZ]
-F :请除所有的已制订的规则
-X :除掉所有用户“自定义”的chain
-Z :将所有的统计值清0
参考技术A 一般通过修改配置文件~偶尔通过命令行~

如何在linux中启动/停止和启用/禁用firewalld和iptables防火墙

参考技术A清除iptables规则1如果启动的iptables防火墙不想关闭的话,可以通过iptables-F来清除防火墙关闭。然后通过iptables-L查看END关闭iptables服务如果要关闭iptables,可以通过命令/etc/init.d/iptablesstop停止除此之外,iptables的服务名称... 查看详情

linux系统的iptables防火墙配置好了,重启有还原了,怎么回事啊!

...是不知道怎么会还原?你那是暂时设置的吧,记住设置了防火墙规则之后要保存,以RHEL为例:<1>这里是你添加的规则...<2>iptables-save>/etc/sysconfig/iptables#注意文件备份,以防万一,这个文件就是iptables记录规则的文件,... 查看详情

iptables

iptables防火墙规则整理iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux... 查看详情

(转)centos防火墙设置

1、安装iptables防火墙 怎么知道系统是否安装了iptables?执行iptables-V,如果显示如: iptablesv1.3.5 说明已经安装了iptables。 如果没有安装iptables需要先安装,执行: yuminstalliptables 在Linux中设置防火墙,以CentOS为... 查看详情

iptables设置用法(代码片段)

1.安装iptables防火墙怎么知道系统是否安装了iptables?执行一下iptables-V,如果现实版本信息那说明已经安装了。反之则需要安装,执行命令:yuminstalliptables在linux中设置防火墙,以CentOS为例,打开iptables的配置文件:vim/etc/sysconfig/i... 查看详情

linux系统中iptables防火墙管理工具

策略以规则链:   防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即方形或者阻止)如果在读取完所有的策略规则之后没有匹配项,就去执行默认... 查看详情

iptables防火墙规则整理

iptables防火墙规则整理iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux... 查看详情

在linux里面如何设置防火墙?

先重新启动Linux防火墙(servicesiptablesrestart)再进行防火墙策略的设置,用命令“iptables”引用四表五链,设置允许拒绝和丢弃就行了,具体怎么设置,自己查资料吧,都告诉你了,你就什么都不看了。参考技术A1.图形界面下,sys... 查看详情

linux系统的iptables防火墙配置好了,重启有还原了,怎么回事啊!

在nat表添加了规则,还有filter表。echo1>打开了路由,也吧路由配置设置了开启启动了。但是不知道怎么会还原?你修改的这些都是直接改到内核的,而不是改到配置文件,系统重启后,修改到内核的配置都会消失。解决系统重... 查看详情

linux运维ubuntu18.04设置端口开放(iptables)(代码片段)

...    iptables是Linux从2.4.x版本内核开始,系统自带的防火墙。随着Linux内核的不断更新,Linux的防火墙在iptables基础上泛生出UFW和Firewalld,并且在一些发行版中已经替代iptables。开放 查看详情

iptables防火墙规则使用

iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会... 查看详情

linux服务器怎样设置防火墙

一、怎样在Linux系统中安装Iptables防火墙?几乎所有Linux发行版都预装了Iptables。您可以使用以下命令更新或检索软件包:sudoapt-getinstalliptables二、关闭哪些防火墙端口?防火墙安装的第一步是确定哪些端口在服务器中保持打开状态。... 查看详情

linux怎么关闭iptableslinux如何关闭防火墙

一.Linux下开启/关闭防火墙命令1)永久性生效,重启后不会复原开启:chkconfigiptableson关闭:chkconfigiptablesoff2)即时生效,重启后复原开启:serviceiptablesstart关闭:serviceiptablesstop需要说明的是对于Linux下的其它服务都可以用以上命令... 查看详情

怎么关闭linux服务器防火墙

1、查看防火墙状态/etc/init.d/iptables/status。2、关闭防火墙:/etc/init.d/iptables/stop(这是临时关闭,关闭的是当前运行的防火墙,重启之后防火墙又会启动,因为它是开机自启动的)。3、查看是否关闭成功。4、改为开机不启动:chkcon... 查看详情

linux防火墙iptables配置详解

一、开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[[email protected]~]#iptables-L-nChainINPUT(policyACCEPT)target   protoptsource        destin 查看详情

iptables防火墙规则设置

#注:Linux7默认启用的是firewalld.service,要启用iptables,需要关闭firewalld.servicesystemctlstopfirewalld.service;systemctldisablefirewalld.serviceyuminstalliptables-y;systemctlstartiptables.service;systemctlenableipt 查看详情

centos7的防火墙怎么开放端口

可以用iptables防火墙试试CentOS_6.5配置iptables防火墙策略#清除预设表filter中的所有规则链的规则iptables-F#清除预设表filter中使用者自定链中的规则iptables-X#保存iptables配置serviceiptablessave#重启iptables服务serviceiptablesrestart#查看iptables规... 查看详情

iptables防火墙

linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。(1)在许多安全技术资料中,netfilter和iptables都用来指linux防火墙,它们之间的区别如下:netfilter位于Li... 查看详情