iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux系统iptables命令该怎样使用
  • 378
分享到

Linux系统iptables命令该怎样使用

2023-06-28 13:06:16 378人浏览 独家记忆
摘要

linux系统iptables命令该怎样使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。很多人以为iptables就是防护墙,其实iptables是一个命令行工具,其背后的n

linux系统iptables命令该怎样使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

很多人以为iptables就是防护墙,其实iptables是一个命令行工具,其背后的netfilter才是防火墙,我们只是用iptables操作防火墙。

iptables -A INPUT -s 192.168.109.10 -j DROP:拒绝192.168.109.10主机访问本服务器

注意:-A:添加一条规则,默认是加在最后。

注意:“拒绝给192.168.109.10主机提供服务”,最好使用INPUT链。使用PREROUTING,也可以满足要求,但是如果用户的要求是让服务器提供转发功能,添加到PREROUTING链中,”转发”功能也将被拒绝掉。

注意:链名要大写;

注意:-s:指定源地址,可以是IP地址,也可以是网段”192.168.109.10/24″;”-s 为空”,表示拒绝所有;

注意:-j:指定所需要的操作;

注意:拒绝有两种方式,一种是”REJECT”,还有一种是”DROP”;DROP是不回应,REJECT是拒绝;

注意:iptables -A INPUT -j DROP,表示拒绝所有。不过加规则的时候,不要将自己的ssh给拒绝掉。

Linux系统iptables命令该怎样使用

iptables -nvL -t mangle:查看mangle表中的防火墙规则;

注意:-t:指定表名,默认情况下是”fliter”表;

注意:-v:查看详细信息;

pkts:被本机报文所匹配的个数;

prot:放行哪种协议;

opt:额外的选项,–表示没有;

target:处理机制;

注意:选项中”v”和”L”的顺序(V只能在L的前面);

iptables -nvL –line-numbers:查看fliter表中规则的顺序;

注意:–line-numbers:查看指定表中的规则的顺序;

注意:不指定表,默认情况下就是”fliter”表;

注意:表中的规则是有执行顺序的,编号(num)越小,越先执行。只要匹配到结果,就不会往下执行了;

Linux系统iptables命令该怎样使用

iptables -F:清空”fliter”表中的所有的规则;

注意:-F:表示清空指定表中的所有链中的规则;

iptables -I INPUT -s 1.1.1.1 -j DROP:在”fliter”表中的INPUT链中,链首插入一条规则;

注意:-I:表示在指定的链中插入一条规则,可以指定编号;

Linux系统iptables命令该怎样使用

iptables -R INPUT 1 -s 2.2.2.2 -j REJECT:表示替换第一条规则;

注意:-R,replace,替换指定的规则;

iptables -S:以iptables-save命令格式显示fliter链上的规则;

Linux系统iptables命令该怎样使用

iptables -A INPUT -s 192.168.109.10 -d 192.168.109.4 -j REJECT:拒绝来自192.168.109.10的主机访问192.168.109.4的ip地址;

注意:-d:指定目标地址,使规则更加详细;

Linux系统iptables命令该怎样使用

iptables -A INPUT -s 192.168.109.10 -d 192.168.109.4,192.168.109.5 -j REJECT:拒绝192.168.109.10的主机访问192.168.109.4,192.168.109.5这两个ip地址。

注意:一条命令添加两条规则;

注意:源地址也可以使用这种方式,快速添加规则;

注意:该命令在规则中的语义的含义,-s、-d属于并且的关系,即:拒绝源是192.168.109.10的ip,且源是192.168.109.4的访问;而192.168.109.4和192.168.109.5在逻辑上属于或者的关系。

Linux系统iptables命令该怎样使用

iptables -A INPUT -s 192.168.109.10 -p tcp –dport 22 -j REJECT:拒绝192.168.109.10主机使用tcp协议访问我的所有ip的22端口。

注意:-p:指定协议;可以通过”/etc/protocols”文件查看协议类型;

注意:–dport:指定目标主机的端口号;(拒绝别人链接我。)

注意:–sport:指定源主机的端口号;(拒绝我链接别人。)

注意:此处,注意区分dport和sport;

iptables -A INPUT -s 192.168.109.10 -p icmp -j REJECT:拒绝来自192.168.109.10主机发来的ping包。

注意:icmp协议没有端口号,即不属于tcp也不属于udp。由于icmp协议的特性,这条命令的结果会造成,192.168.109.10无法ping通自己,自己也无法ping通192.168.109.10主机。

注意:如果要想实现别人无法ping通自己,自己可以ping通别人,需要根据state来判断。0表示回应包,8表示请求包。

iptables -A INPUT -s 192.168.109.10 -i eth0 -j REJECT:拒绝192.168.109.10主机访问我的eth0网卡。

注意:-i:加上网卡名,表示报文流入的接口;

注意:-o:加上网卡名,表示报文流出的接口;

iptables -A INPUT ! -s 192.168.109.4 -p tcp –dport 80 -j REJECT:除了192.168.109.4的主机可以访问我的tcp的80端口,其他的主机全部拒绝;

注意:!:表示”非”;一般情况下,很少使用该方式。

iptables -A INPUT -s 192.168.109.4 -p icmp –icmp-type 8 -j REJECT:拒绝来自192.168.109.10主机发送来的icmp的请求包。即192.168.109.10主机无法ping通我,我可以ping通它。

注意:icmp协议中,ping通需要满足两个条件,首先源主机向目标主机发送一个请求包(8),目标主机收到之后,便会返回一个回应包(0)。

注意:-p:指定协议;

注意:–icmp-type:指定ping包的类型。(code可以省略;)

iptables -A INPUT -s 192.168.109.10 -p tcp -m multiport –dports 20:22,80 -j REJECT:拒绝来自192.168.109.10主机发送来的访问我的20-22,80端口的包。

注意:-m:后面跟模块名,multiport:以离散形式表示的多端口(最多可以跟15个端口);

注意:–dports:目标端口是多个端口;

注意:使用samba服务测试多端口的话,可能存在问题。想要抓包测试的话,可以使用”tcpdump -i eth0 -nn host 192.168.109.4″;

iptables -A INPUT -m iprange –src-range 192.168.109.1-192.168.109.10 -j REJECT:拒绝192.168.109.1~192.168.109.10范围内的所有主机的访问。

注意:iprange:ip范围的模块;

注意:–src-range:源地址范围;

注意:–dsc-range:目标地址的范围;

Linux系统iptables命令该怎样使用

iptables -A INPUT -m mac –mac-source 00:0c:29:2f:b1:d6 -j REJECT:拒绝该Mac地址的主机访问本主机的资源。

注意:mac:mac地址模块;

注意:–mac-source:源主机的mac地址;

iptables -A OUTPUT -p tcp -m string –algo bm –string “han” -j REJECT:拒绝所有主机访问访问我的有”han”字符串的报文。

注意:string:字符串模块;

注意:–alGo:指定匹配算法,bm、kmp算法,两个随便选一个;

注意:–string:指定要匹配的字符串;

注意:–from offset:开始偏移,–to offset:结束偏移;

注意:添加的是OUTPUT链;

Linux系统iptables命令该怎样使用

iptables -F OUTPUT:清空OUTPUT链中的规则;

iptables -A INPUT -m time –weekdays 1,2,3,4,5 –timestart 9:00 –timestop 10:00 -j REJECT:拒绝所有的主机在周一到周五的九点~十点之间,访问本主机的所有资源;

注意:time:时间模块;

注意:–datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]] 日期

–datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]

–timestart hh:mm[:ss] 时间

–timestop hh:mm[:ss]

–monthdays day[,day…] 每个月的几号

–weekdays day[,day…] 星期几

注意:Centos7中,使用的是UTC时间(北京时间转化成UTC时间是减8);centos6中使用的是本地时间;

Linux系统iptables命令该怎样使用

iptables -A INPUT -m connlimit –connlimit-above 2 -j REJECT并发连接的数量大于两条的时候,就拒绝;

注意:connlimit:并发连接数量的模块;

注意:–connlimit-upto n:连接的数量小于等于n时匹配;

注意:–connlimit-above n:连接的数量大于n时匹配;

注意:可以使用ssh服务测试;

iptables -A INPUT -p icmp -m limit –limit 10/minute –limit-burst 5 -j ACCEPT:对于icmp协议,ping通5个包后,便会以每分钟接收十个的速度匹配。

注意:–limit-burst 5:达到5个之后,便会限制速度;

注意:–limit 10/minute:以每分钟通过10个的速度匹配;

注意:需要”iptables -A INPUT -p icmp -j REJECT”配合使用。

Linux系统iptables命令该怎样使用

iptables -N ACCOUNT:在”fliter表中,”创建一个自定义链,命名为ACCOUNT;

注意:-N:创建一条链;建议,将一些常用的规则放在自定义的链中,当使用的时候,将自定义的链关联到INPUT链中。

注意:可以将自定义链的操作,理解为函数的声明。将关联操作,理解为函数的调用;

iptables -A ACCOUNT -s 192.168.109.10,192.168.109.220 -j REJECT:在自定义链ACCOUNT中添加一条规则;

iptables -D INPUT 2:删除INPUT链中的第二条;

iptables -A INPUT -j ACCOUNT:将ACCOUNT链关联到INPUT链中;

iptables -F ACCOUNT:清空”fliter”表中的ACCOUNT链中的规则;

iptables -X ACCOUNT:删除”fliter”表中ACCOUNRT链;

注意:-X:删除指定的自定义的链

Linux系统iptables命令该怎样使用

iptables -A INPUT -p icmp -m state –state NEW -j REJECT:拒绝使用icmp第一次连接的请求包;

注意:state:state模块;

注意:NEW:第一连接(注意此处并不是三次握手中的状态);

iptables -A INPUT -s 192.168.109.10 -j LOG –log-prefix “FROM .10~~”:当192.168.109.10主机访问我时,将他记录到/var/log/messige日志文件中,并且,日志中的记录的前缀的”FROM .10~~”

注意:LOG,记录日志的target;

注意:–log-prefix:定义日志文件中的记录的前缀;

Linux系统iptables命令该怎样使用

iptables -A FORWARD -s 192.168.109.4/24 -d 172.17.253.120/16 -m state –state NEW -j ACCEPT:在FORWARD表中添加一条规则,当源192.168.109.0网段中的主机,目标是172.17.0.0网段中的主机时,状态是NEW(第一条连接)时,就允许连接;

iptables -A FORWARD -m state –state ESTABLISHED -j ACCEPT:对于状态是ESTABLISHED的连接,允许通过。

iptables -A FORWARD -j REJECT:拒绝所有连接;

以上三条规则结合起来,可以实现允许192.168.109.0网段中的主机ping通172.17.0.0的主机,但是反过来,ping不通。实现网络防火墙的功能。

可以通过实验来验证:

四台机器,两台192的地址(A、B),一台172的地址(D),还有一台充当路由器(C),既有172的地址,又有192的地址。设置好四台主机的路由表,并开启C主机的路由转发功能。然后,执行iptables的命令,添加规则,即可实现功能。

Linux系统iptables命令该怎样使用

iptables -t nat -R POSTROUTING 1 -s 192.168.109.0/24 -j SNAT –to-source 172.17.250.111:在nat表中的POSTROUTING链中,添加一策略,当收到192.168.109.0/24网段的主机访问的目标地址是任意地址的时候,就将该包的源地址改成172.17.250.111,发送。(SNAT)

注意:要保证防火墙主机上的路由表,有到达目标地址的路径。

注意:实验中的C主机上,执行了该规则后,A主机通过C主机,到达C主机的POSTROUTING链的时候,将包的源地址改成C主机的公网地址,然后,发送给D主机。实验的时候,将D主机上的默认路由删掉。确保返回的包是将C主机的公网地址,作为目标地址的。

注意:可以在D主机上,安装一个Httpd服务,A访问D之后,通过查看日志(/var/log/httpd/access_log),来验证结果。

Linux系统iptables命令该怎样使用

iptables -t nat -A PREROUTING -d 172.17.250.111 -dport 80 -j DNAT –to-destination 192.168.109.4:8080:当访问172.17.250.111主机的80端口的时候,将目标端口改成192.168.109.4主机的8080端口。(DNAT)

注意:将192.168.109.4主机上的httpd服务监听的端口改成8080;

Linux系统iptables命令该怎样使用

看完上述内容,你们掌握Linux系统iptables命令该怎样使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网操作系统频道,感谢各位的阅读!

--结束END--

本文标题: Linux系统iptables命令该怎样使用

本文链接: https://www.lsjlt.com/news/319862.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux系统iptables命令该怎样使用
    Linux系统iptables命令该怎样使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。很多人以为iptables就是防护墙,其实iptables是一个命令行工具,其背后的n...
    99+
    2023-06-28
  • Linux系统iptables命令怎么用
    Linux系统iptables命令怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的,...
    99+
    2023-06-28
  • Linux系统命令top该怎么使用
    小编今天带大家了解Linux系统命令top该怎么使用,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统命令top该怎么使用...
    99+
    2023-06-28
  • Linux系统rm命令该怎么使用
    今天给大家介绍一下Linux系统rm命令该怎么使用。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。rm命令是Linux系统中删除文件或目录的命令,其功能非常强大...
    99+
    2023-06-28
  • Linux系统source命令怎样使用
    这期内容当中小编将会给大家带来有关Linux系统source命令怎样使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。source命令是一个内置的shell命令,其主要作用就是在当前bash环境下读取并执...
    99+
    2023-06-28
  • Linux系统iptables命令是什么
    这篇文章跟大家分析一下“Linux系统iptables命令是什么”。内容详细易懂,对“Linux系统iptables命令是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin...
    99+
    2023-06-28
  • Linux系统xargs命令该怎么用
    这篇文章的内容主要围绕Linux系统xargs命令该怎么用进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在使用 Linux 时,你是否遇到过需要将一...
    99+
    2023-06-28
  • Linux系统nc命令该如何使用
    Linux系统nc命令该如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在Linux系统中netcat(nc)是一个非常强大的工具,被誉为网络安全界的瑞士军刀。在Linu...
    99+
    2023-06-28
  • Linux系统nice命令该如何使用
    这篇文章主要为大家分析了Linux系统nice命令该如何使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统nice命令该如何使用”的知识吧。L...
    99+
    2023-06-28
  • Linux系统dd命令该怎么用
    Linux系统dd命令该怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux系统中dd命令可以用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。参数注释:&n...
    99+
    2023-06-28
  • Linux系统chroot命令该如何使用
    本篇文章给大家分享的是有关Linux系统chroot命令该如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。chroot简介:chroot,既是Linux的一条命令,也是它...
    99+
    2023-06-28
  • Linux系统命令mkdir该如何使用
    这期内容当中小编将会给大家带来有关Linux系统命令mkdir该如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mkdir命令是Linux系统中一个基本得命令,其主要作用就是在Linux系统中用来创...
    99+
    2023-06-28
  • Linux中iptables-save命令怎么使用
    在Linux中,iptables-save命令用于保存当前iptables规则并输出到标准输出或指定文件中。使用该命令的基本语法如下...
    99+
    2024-03-04
    Linux
  • 如何使用Linux iptables命令
    本篇内容介绍了“如何使用Linux iptables命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!《Linux iptables:规则原...
    99+
    2023-06-13
  • Linux系统中bash命令怎样用
    Linux系统中bash命令怎样用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。大多数Linux系统采用bash标准,它可以处理并执行“.sh”为扩展名的文件,可以说它也是一种...
    99+
    2023-06-28
  • Linux系统中怎样使用命令连接WiFi
    今天给大家介绍一下Linux系统中怎样使用命令连接WiFi。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。(1)首先ifconfig命令查看一下,这个就是查看你...
    99+
    2023-06-28
  • Linux系统常用命令是怎样的
    这篇文章主要为大家分析了Linux系统常用命令是怎样的的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux系统常用命令是怎样的”的知识吧。awk 是一种...
    99+
    2023-06-28
  • Linux系统指定less命令怎样用
    这篇文章给大家介绍Linux系统指定less命令怎样用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在Linux系统中用于显示文件或者命令输出的内容大家就会想到less和more这两个命令,less和more有点类似但...
    99+
    2023-06-28
  • Linux常用命令iptables怎么用
    这篇文章主要为大家展示了“Linux常用命令iptables怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux常用命令iptables怎么用”这篇文章吧。Linux常用命令iptab...
    99+
    2023-06-28
  • Linux的iptables-save命令怎么用
    这篇文章主要介绍“Linux的iptables-save命令怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux的iptables-save命令怎么用”文章能帮助大家解决问题。Linux常...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作