当前位置:   article > 正文

iptables学习笔记(centos 7.6)_centos7.6 iptables

centos7.6 iptables

目录

iptables简介

iptables-services的安装

使用iptables

iptables规则书写:

描述规则的基本参数

描述规则的扩展参数

防火墙的备份与还原

iptables与firewalld的区别与联系


iptables简介

参考文章:https://blog.csdn.net/daocaokafei/article/details/115091313
参考文章:https://blog.csdn.net/weixin_44792344/article/details/109674599
参考文章:https://blog.csdn.net/u011537073/article/details/82685586
参考文章:https://blog.csdn.net/IT__learning/article/details/121784633

iptables和netfilter的关系:
这是第一个要说的地方,Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。

iptables传输数据包的过程
当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

                          

iptables的表与链

iptables具有Filter, NAT, Mangle, Raw四种内建表:

1. Filter表

Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链:

  • INPUT链 – 入站数据过滤。
  • OUTPUT链 – 出站数据过滤。
  • FORWARD链 – 转发数据过滤。

2. NAT表

NAT表有四种内建链:

  • PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
  • POSTROUTING链 – 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于SNAT(source NAT)。
  • INPUT链 – 处理进入本机的数据包。
  • OUTPUT链 – 处理本机产生的数据包。

3. Mangle表

Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链:

  • PREROUTING
  • OUTPUT
  • FORWARD
  • INPUT
  • POSTROUTING

4. Raw表

Raw表用于处理异常,它具有2个内建链:

  • PREROUTING chain
  • OUTPUT chain

iptables-services的安装

centos 7.6与centos 7.9 默认没有安装iptables-services,但是有iptables客户端,可以使用iptables命令设置规则以及不影响firewalld的调用。但是无法使用systemctl管理也无法使用/etc/sysconfig/iptables防火墙规则配置文件。
#############################################################################
iptables程序的配置文件:
[root@iZbp16mm3xbwen89azh9ffZ ~]# rpm -qc $(rpm -qf $(which iptables))
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-config
查询iptables-services配置文件  ###没有安装iptables-services之前/etc/sysconfig/目录下是没有iptables文件的
[root@VM-12-16-centos ~]# cat /etc/sysconfig/iptables
cat: /etc/sysconfig/iptables: No such file or directory
#############################################################################
下面开始安装iptables服务:
#停止和禁止开机自启动
systemctl stop firwalld.service&&systemctl disable firewalld.service
#安装iptables客户端和服务端
yum install iptables iptables-services -y
#开启iptables服务和开机自启动
systemctl enable iptables.service&&systemctl start iptables.service
查询iptables服务
# systemctl status iptables.services

  1. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# cat /etc/redhat-release
  2. CentOS Linux release 7.6.1810 (Core) #阿里云服务器centos 7.6
  3. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# systemctl status iptables
  4. Unit iptables.service could not be found. #未安装iptables服务
  5. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# whereis iptables
  6. iptables: /usr/sbin/iptables /usr/share/man/man8/iptables.8.gz
  7. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# iptables -V
  8. iptables v1.4.21 #iptables客户端版本iptables v1.4.21
  9. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# yum install iptables-services -y
  10. #安装iptables-services
  11. Installed:
  12. iptables-services.x86_64 0:1.4.21-35.el7
  13. Dependency Updated:
  14. iptables.x86_64 0:1.4.21-35.el7
  15. Complete
  16. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# systemctl status iptables
  17. ● iptables.service - IPv4 firewall with iptables
  18. Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
  19. Active: inactive (dead)
  20. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# systemctl stop firewalld && systemctl disable firewalld
  21. ###关闭firewalld防火墙以及关闭firewalld的开机自启动
  22. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# systemctl start iptables
  23. ###开启iptables-services
  24. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# systemctl status iptables
  25. ● iptables.service - IPv4 firewall with iptables
  26. Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
  27. Active: active (exited) since Fri 2022-07-29 10:41:17 CST; 24s ago
  28. Process: 12336 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
  29. Main PID: 12336 (code=exited, status=0/SUCCESS)
  30. Jul 29 10:41:17 iZbp16mm3xbwen89azh9ffZ systemd[1]: Starting IPv4 firewall with iptables...
  31. Jul 29 10:41:17 iZbp16mm3xbwen89azh9ffZ iptables.init[12336]: iptables: Applying firewall rules: [ OK ]
  32. Jul 29 10:41:17 iZbp16mm3xbwen89azh9ffZ systemd[1]: Started IPv4 firewall with iptables.

使用iptables

首先介绍iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成。
表的优先级raw(跟踪数据表规则表)>mangle(修改数据标记位规则表)>nat(地址转换规则表)>filter(过滤规则表)
filter 表:控制数据包是否允许进出及转发,可以控制的链路有 INPUT、FORWARD 和 OUTPUT。
nat 表:控制数据包中地址转换,可以控制的链路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。
mangle:修改数据包中的原数据,可以控制的链路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。
raw:控制 nat 表中连接追踪机制的启用状况,可以控制的链路有 PREROUTING、OUTPUT。

Linux 防火墙的过滤框架

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

iptables规则书写:

基本语法:iptables [-t 表] [操作命令] [链] [规则匹配器] [-j 目标动作]

iptables命令选项输入顺序:

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

说明:表名、链名用于指定 iptables命令所操作的表和链,命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;规则匹配用于指定对符合什么样条件的数据包进行处理;目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转(Jump)给其它链处理。

说明支持的链
raw一般是为了不再让iptables对数据包进行跟踪,提高性能PREROUTING、OUTPUT
mangle对数据包进行修改,用于实现服务质量五个链都可以
nat进行地址转换,用于网关路由器PREROUTING、OUTPUT、INPUT、POSTROUTING
filter(默认)对包进行过滤,用于防火墙规则INPUT、FORWARD、OUTPUT
常用操作命令说明
-A在指定链尾部添加规则
-D删除匹配的规则
-R替换匹配的规则
-I在指定位置插入规则(例:iptables -I INPUT 1 --dport 80 -j ACCEPT(将规则插入到filter表INPUT链中的第一位上)
-L/S列出指定链或所有链的规则
-F删除指定链或所有链的规则
-N创建用户自定义链[例:iptables -N allowed]
-X删除指定的用户自定义链
-P为指定链设置默认规则策略,对自定义链不起作用
-Z将指定链或所有链的计数器清零
-E更改自定义链的名称[例:iptables -E allowed disallowed]
-nip地址和端口号以数字方式显示[例:iptables -nL]
常用规则匹配器说明
-p tcp/udp/icmp/all匹配协议,all会匹配所有协议
-s addr[/mask]匹配源地址
-d addr[/mask]匹配目标地址
--sport port1[:port2]匹配源端口(可指定连续的端口)
--dport port1[:port2]匹配目的端口(可指定连续的端口)
-o interface匹配出口网卡,只适用FORWARD、POSTROUTING、OUTPUT(例:iptables -A FORWARD -o eth0)
-i interface匹配入口网卡,只使用PREROUTING、INPUT、FORWARD。
--icmp-type匹配icmp类型(使用iptables -p icmp -h可查看可用的ICMP类型)
--tcp-flags mask comp匹配TCP标记,mask表示检查范围,comp表示匹配mask中的哪些标记。(例:iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j ACCEPT 表示匹配SYN和ACK标记的数据包)
目标动作说明
ACCEPT允许数据包通过
DROP丢弃数据包
REJECT丢弃数据包,并且将拒绝信息发送给发送方
SNAT源地址转换(在nat表上)例:iptables -t nat -A POSTROUTING -d 192.168.0.102 -j SNAT --to 192.168.0.1
DNAT目标地址转换(在nat表上)例:iptables -t nat -A PREROUTING -d 202.202.202.2 -j DNAT --to-destination 192.168.0.102
REDIRECT目标端口转换(在nat表上)例:iptables -t nat -D PREROUTING -p tcp --dport 8080 -i eth2.2 -j REDIRECT --to 80
MARK将数据包打上标记;例:iptables -t mangle -A PREROUTING -s 192.168.1.3 -j MARK --set-mark 60

描述规则的基本参数

以下这些规则参数用于描述数据包的协议、源地址、目的地址、允许经过的网络接口,以及如何处理这些数据包。这些描述是对规则的基本描述。

-p 协议(protocol)
指定规则的协议,如tcp, udp, icmp等,可以使用all来指定所有协议。
如果不指定-p参数,则默认是all值。这并不明智,请总是明确指定协议名称。
可以使用协议名(如tcp),或者是协议值(比如6代表tcp)来指定协议。映射关系请查看/etc/protocols,还可以使用–protocol参数代替-p参数

-s 源地址(source)
指定数据包的源地址
参数可以使IP地址、网络地址、主机名
例如:-s 192.168.1.101指定IP地址
例如:-s 192.168.1.10/24指定网络地址
如果不指定-s参数,就代表所有地址,还可以使用–src或者–source

-d 目的地址(destination)
指定目的地址,参数和-s相同,还可以使用–dst或者–destination

-i 输入接口(input interface)
-i代表输入接口(input interface)
-i指定了要处理来自哪个接口的数据包
这些数据包即将进入INPUT, FORWARD, PREROUTE链
例如:-i eth0指定了要处理经由eth0进入的数据包
如果不指定-i参数,那么将处理进入所有接口的数据包
如果出现! -i eth0,那么将处理所有经由eth0以外的接口进入的数据包
如果出现-i eth+,那么将处理所有经由eth开头的接口进入的数据包
还可以使用-in-interface参数

-o 输出(out interface)
-o代表”output interface”
-o指定了数据包由哪个接口输出
这些数据包即将进入FORWARD, OUTPUT, POSTROUTING链
如果不指定-o选项,那么系统上的所有接口都可以作为输出接口
如果出现! -o eth0,那么将从eth0以外的接口输出
如果出现-i eth+,那么将仅从eth开头的接口输出
还可以使用-out-interface参数

描述规则的扩展参数

对规则有了一个基本描述之后,有时候我们还希望指定端口、TCP标志、ICMP类型等内容。

--sport 源端口(source port)针对 -p tcp 或者 -p udp
缺省情况下,将匹配所有端口
可以指定端口号或者端口名称,例如"--sport 22"与"--sport ssh"。
/etc/services文件描述了上述映射关系。
从性能上讲,使用端口号更好
使用冒号可以匹配端口范围,如"--sport 22:100"
还可以使用"--source-port"

--dport 目的端口(destination port)针对-p tcp 或者 -p udp
参数和--sport类似,还可以使用"--destination-port"

--tcp-flags TCP标志 针对-p tcp
可以指定由逗号分隔的多个参数,有效值可以是:SYN, ACK, FIN, RST, URG, PSH,可以使用ALL或者NONE

--icmp-type ICMP类型 针对-p icmp
--icmp-type 0 表示Echo Reply
--icmp-type 8 表示Echo

 说明:iptables -F 无法清除链默认规则(即iptables -P 设置的规则)

  1. 查询iptables相关规则
  2. # iptables -nvL
  3. #查看iptables现有规则
  4. iptables -L -n
  5. #先允许所有,不然有可能会杯具
  6. iptables -P INPUT ACCEPT
  7. #清空表的所有链规则(链的默认规则不受此命令影响)
  8. iptables -F
  9. #清空所有自定义规则
  10. iptables -X
  11. #所有计数器归0
  12. iptables -Z
  13. #拒绝进入防火墙的所有ICMP协议数据包
  14. iptables -I INPUT -p icmp -j REJECT
  15. #只允许管理员从202.13.0.0/16网段使用SSH远程登录防火墙主机
  16. iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
  17. iptables -A INPUT -p tcp --dport 22 -j DROP
  18. 说明:这个用法比较适合对设备进行远程管理时使用,比如位于分公司中的SQL服务器需要被总公司的管理员管理时。
  19. #允许本机开放从TCP端口20-1024提供的应用服务
  20. iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
  21. iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT
  22. #允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包
  23. iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
  24. iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT
  25. #禁止其他主机ping防火墙主机,但是允许从防火墙上ping其他主机
  26. iptables -I INPUT -p icmp --icmp-type Echo-Request -j DROP
  27. iptables -I INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT
  28. iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
  29. #禁止转发来自MAC地址为00:0C:29:27:55:3F的和主机的数据包
  30. iptables -A FORWARD -m mac --mac-source 00:0c:29:27:55:3F -j DROP
  31. 说明:iptables中使用“-m 模块关键字”的形式调用显示匹配。咱们这里用“-m mac –mac-source”来表示数据包的源MAC地址。
  32. #允许防火墙本机对外开放TCP端口20、21、25、110以及被动模式FTP端口1250-1280
  33. iptables -A INPUT -p tcp -m multiport --dport 20,21,25,110,1250:1280 -j ACCEPT
  34. 说明:这里用“-m multiport –dport”来指定目的端口及范围
  35. #禁止转发源IP地址为192.168.1.20-192.168.1.99的TCP数据包
  36. iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j DROP
  37. 说明:此处用“-m –iprange –src-range”指定IP范围。
  38. #禁止转发与正常TCP连接无关的非—syn请求数据包
  39. iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP
  40. 说明:“-m state”表示数据包的连接状态,“NEW”表示与任何连接无关的,新的嘛!
  41. #拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包
  42. iptables -A INPUT -p tcp -m state --state NEW -j DROP
  43. iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
  44. 说明:“ESTABLISHED”表示已经响应请求或者已经建立连接的数据包,“RELATED”表示与已建立的连接有相关性的,比如FTP数据连接等。
  45. #只开放本机的web服务(80)、FTP(20、21、20450-20480),放行外部主机发住服务器其它端口的应答数据包,将其他入站数据包均予以丢弃处理
  46. iptables -I INPUT -p tcp -m multiport --dport 20,21,80 -j ACCEPT
  47. iptables -I INPUT -p tcp --dport 20450:20480 -j ACCEPT
  48. iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
  49. iptables -P INPUT DROP
  50. #允许来自于lo接口的数据包(本地访问)
  51. iptables -A INPUT -i lo -j ACCEPT
  52. #开放22端口
  53. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  54. #开放21端口(FTP)
  55. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  56. #开放80端口(HTTP)
  57. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  58. #开放443端口(HTTPS)
  59. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  60. #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
  61. iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
  62. #其他入站一律丢弃
  63. iptables -P INPUT DROP
  64. #所有出站一律绿灯
  65. iptables -P OUTPUT ACCEPT
  66. #所有转发一律丢弃
  67. iptables -P FORWARD DROP
  68. #封堵网段(10.20.30.0/24),两小时后解封
  69. [root@dongm ~]# iptables -I INPUT -s 10.20.30.0/24 -j DROP
  70. [root@dongm ~]# iptables -I FORWARD -s 10.20.30.0/24 -j DROP
  71. [root@dongm at]# at now+2hours
  72. at> iptables -D INPUT 1
  73. at> iptables -D FORWARD 1<EOT> #利用Ctrl+D保存
  74. job 9 at Fri Nov 11 13:04:00 2022
  75. [root@dongm at]# tail -5 /var/spool/at/a0000901a83b10
  76. }
  77. ${SHELL:-/bin/sh} << 'marcinDELIMITER4e66ee6f'
  78. iptables -D INPUT 1
  79. iptables -D FORWARD 1
  80. marcinDELIMITER4e66ee6f
  81. [root@localhost ~]# iptables -S ##查看规则,-t可以选择表
  82. -P INPUT ACCEPT
  83. -P FORWARD ACCEPT
  84. -P OUTPUT ACCEPT
  85. -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
  86. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  87. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  88. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  89. -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
  90. -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
  91. -A FORWARD -j REJECT --reject-with icmp-port-unreachable
  92. -A OUTPUT -j ACCEPT
  93. [root@localhost ~]# iptables -nL --line-numbers ##查看规则并添加序号
  94. Chain INPUT (policy ACCEPT)
  95. num target prot opt source destination
  96. 1 ACCEPT all -- 127.0.0.1 127.0.0.1
  97. 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
  98. 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
  99. 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
  100. 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
  101. 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
  102. Chain FORWARD (policy ACCEPT)
  103. num target prot opt source destination
  104. 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
  105. Chain OUTPUT (policy ACCEPT)
  106. num target prot opt source destination
  107. 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
  108. [root@localhost ~]# iptables -R INPUT 1 -s 127.0.0.1 -j REJECT
  109. ##根据序号修改规则
  110. [root@localhost ~]# iptables -D INPUT 3 ###根据序号删除规则
  111. [root@localhost ~]# iptables -nL --line-numbers
  112. Chain INPUT (policy ACCEPT)
  113. num target prot opt source destination
  114. 1 REJECT all -- 127.0.0.1 0.0.0.0/0 reject-with icmp-port-unreachable
  115. 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
  116. 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
  117. 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
  118. 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
  119. Chain FORWARD (policy ACCEPT)
  120. num target prot opt source destination
  121. 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
  122. Chain OUTPUT (policy ACCEPT)
  123. num target prot opt source destination
  124. 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
  125. [root@localhost ~]# iptables -F ###删除所有定义的规则,无法改变已设置的默认规则
  126. C:\Users\dongmin1>ping 192.168.220.128 #####192.168.220.128主机无规则下
  127. 正在 Ping 192.168.220.128 具有 32 字节的数据:
  128. 来自 192.168.220.128 的回复: 字节=32 时间<1ms TTL=64
  129. 来自 192.168.220.128 的回复: 字节=32 时间<1ms TTL=64
  130. 来自 192.168.220.128 的回复: 字节=32 时间=1ms TTL=64
  131. 来自 192.168.220.128 的回复: 字节=32 时间<1ms TTL=64
  132. 192.168.220.128 的 Ping 统计信息:
  133. 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
  134. 往返行程的估计时间(以毫秒为单位):
  135. 最短 = 0ms,最长 = 1ms,平均 = 0ms
  136. ####192.168.220.128主机iptables -A INPUT -p icmp -j REJECT规则下
  137. C:\Users\dongmin1>ping 192.168.220.128
  138. 正在 Ping 192.168.220.128 具有 32 字节的数据:
  139. 来自 192.168.220.128 的回复: 无法连到端口。
  140. 来自 192.168.220.128 的回复: 无法连到端口。
  141. 来自 192.168.220.128 的回复: 无法连到端口。
  142. 来自 192.168.220.128 的回复: 无法连到端口。
  143. 192.168.220.128 的 Ping 统计信息:
  144. 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
  145. ####192.168.220.128主机iptables -I INPUT -p icmp -j DROP规则下
  146. #本机INPUT链的Echo-Request表示是否允许其他主机ping本防火墙主机,Echo-Reply表示是否允许其他主机对本机防火墙发出的ping包的应答数据包通过
  147. #本机OUTPUT链的Echo-Request表示是否允许本机ping其他的主机,Echo-Reply表示是否允许本机对其他主机发出的ping所答复的数据包通过
  148. C:\Users\dongmin1>ping 192.168.220.128
  149. 正在 Ping 192.168.220.128 具有 32 字节的数据:
  150. 请求超时。
  151. 请求超时。
  152. 请求超时。
  153. 请求超时。
  154. 192.168.220.128 的 Ping 统计信息:
  155. 数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
  156. --icmp-type 8 表示Echo-Request
  157. #iptables -A OUTPUT -p icmp --icmp-type Echo-Request -j DROP #不允许从防火墙上ping其他主机
  158. [root@master ~]# ping 180.101.50.242
  159. ping: sendmsg: Operation not permitted
  160. --icmp-type 0 表示Echo-Reply
  161. # iptables -A INPUT -p icmp --icmp-type Echo-Reply -j DROP #不允许其他主机答复本机的ping数据包通过
  162. [root@master ~]# ping 180.101.50.242
  163. PING 180.101.50.242 (180.101.50.242) 56(84) bytes of data.
  164. #iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
  165. ##############-p icmp总结##################
  166. --icmp-type ICMP类型 针对-p icmp
  167. --icmp-type 0 表示Echo Reply
  168. --icmp-type 8 表示Echo
  169. --icmp-type说明
  170. 在192.168.1.10主机配置
  171. # iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP
  172. 表示其他主机ping 192.168.1.10时,不允许192.168.1.10主机icmp协议的回应数据包通过
  173. # iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
  174. 表示不允许192.168.1.10主机ping其他主机icmp协议的发数据包通过
  175. # iptables -A INPUT -p icmp --icmp-type 8 -j DROP
  176. 表示不允许其他主机ping 192.168.1.10主机icmp协议的发数据包通过
  177. # iptables -A INPUT -p icmp --icmp-type 0 -j DROP
  178. 表示192.168.1.10主机ping其他主机时,不允许其他主机icmp协议的回应数据包通过
  179. ############################################
  180. ####配置应用程序规则(重点领悟)
  181. 如何在默认链策略为DROP的情况下,进行防火墙设置。在这里,我们将引进一种新的 参数-m state,并检查数据包的状态字段。
  182. 1.SSH
  183. # 1.允许接收远程主机的SSH请求
  184. iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  185. # 2.允许发送本地主机的SSH响应
  186. iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
  187. -m state: 启用状态匹配模块(state matching module)
  188. --state: 状态匹配模块的参数。当SSH客户端第一个数据包到达服务器时,状态字段为NEW;建立连接后数据包的状态字段都是ESTABLISHED
  189. --sport 22: sshd监听22端口,同时也通过该端口和客户端建立连接、传送数据。因此对于SSH服务器而言,源端口就是22
  190. --dport 22: ssh客户端程序可以从本机的随机端口与SSH服务器的22端口建立连接。因此对于SSH客户端而言,目的端口就是22
  191. 如果服务器也需要使用SSH连接其他远程主机,则还需要增加以下配置:
  192. # 1.送出的数据包目的端口为22
  193. iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  194. # 2.接收的数据包源端口为22
  195. iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
  196. 2.HTTP
  197. 如何访问192.168.220.108主机的80端口
  198. iptables -P INPUT DROP
  199. iptables -p OUTPUT DROP
  200. [root@master ~]# iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  201. [root@master ~]# iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
  202. 3.完整的配置
  203. # 1.删除现有规则
  204. iptables -F
  205. # 2.配置默认链策略
  206. iptables -P INPUT DROP
  207. iptables -P FORWARD DROP
  208. iptables -P OUTPUT DROP
  209. # 3.允许远程主机进行SSH连接
  210. iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  211. iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
  212. # 4.允许本地主机进行SSH连接
  213. iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  214. iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
  215. # 5.允许HTTP请求
  216. iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  217. iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

前提基础:
1、当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。

2、iptables实现防火墙功能的原理是:在数据包经过内核的过程中有五处关键地方,分别是PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING,称为钩子函数,iptables这款用户空间的软件可以在这5处地方写规则,对经过的数据包进行处理,规则一般的定义为“如果数据包头符合这样的条件,就这样处理数据包”。

3、iptables中定义有5条链,说白了就是上面说的5个钩子函数,因为每个钩子函数中可以定义多条规则,每当数据包到达一个钩子函数时,iptables就会从钩子函数中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合钩子函数中任一条规则,iptables就会根据该函数预先定义的默认策略来处理数据包

4、iptables中定义有表,分别表示提供的功能,有filter表(实现包过滤)、nat表(实现网络地址转换)、mangle表(实现包修改)、raw表(实现数据跟踪),这些表具有一定的优先级:raw-->mangle-->nat-->filter

一条链上可定义不同功能的规则,检查数据包时将根据上面的优先级顺序检查

linux iptables详解--个人笔记
1、目的地址是本地,则发送到INPUT,让INPUT决定是否接收下来送到用户空间,流程为①--->②;

2、若满足PREROUTING的nat表上的转发规则,则发送给FORWARD,然后再经过POSTROUTING发送出去,流程为: ①--->③--->④--->⑥

主机发送数据包时,流程则是⑤--->⑥

防火墙的备份与还原

# rpm -qa|grep iptables
iptables-services-1.4.21-35.el7.x86_64
iptables-1.4.21-35.el7.x86_64
# rpm -ql iptables-services-1.4.21-35.el7.x86_64
/etc/sysconfig/ip6tables
/etc/sysconfig/iptables                 ##iptables-services配置文件
......................
# rpm -ql iptables-1.4.21-35.el7.x86_64
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-config
/usr/sbin/ip6tables
/usr/sbin/ip6tables-restore
/usr/sbin/ip6tables-save
/usr/sbin/iptables
/usr/sbin/iptables-restore             ##可对iptables-save重定向的文件进行iptables规则还原
/usr/sbin/iptables-save                ##输出当前iptables规则
/usr/sbin/xtables-multi
.......................

保存iptables规则的2种方式

①系统没有安装iptables-services软件包的情况下

默认的 iptables 命令配置的防火墙规则会立刻生效,但如果不保存,当计算机重启后所有的规则都会丢失,所以对防火墙规则进行及时保存的操作是非常必要的。可以使用iptables软件包自带的iptables-save命令,iptables-save命令只输出当前规则。可以将iptables-save的输出重定向到文件的方式保存当前iptables规则
# iptables-save|tee -a filename
但是电脑重启后规则消失,使用命令
# iptables-restore < filename
加载保存的规则到重启后的系统。

②系统安装iptables-services软件包的情况下

# iptables -nvL --line-numbers     ##查看当前规则
# service iptables save           ##将当前系统的规则保存到/etc/sysconfig/iptables文件
# systemctl enable iptables  ##使iptables服务开机启动,自动加载/etc/sysconfig/iptables的规则

举例说明:

iptables 软件包提供了两个非常有用的工具,我们可以使用这两个工具处理大量的防火墙规则。这两个工具分别是 iptables-save 和 iptables-restore。

CentOS 7 系统中安装iptables-services软件包后,使用service iptables save 命令将规则保存至 默认文件/etc/sysconfig/iptables中,可以实现保存iptables规则的作用,计算机重启后会自动加载该文件中的规则(需要systemctl enable iptables)。如果使用 iptables-save 将规则保存至其他位置,也可以实现备份iptables规则的作用。当iptables规则需要做还原操作时,可以使用 iptables-restore 将备份文件直接导入当前防火墙规则。

  1. ###iptables服务端和客户端的iptables软件版本(centos 7.6)
  2. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# rpm -qa|grep iptables
  3. iptables-1.4.21-35.el7.x86_64
  4. iptables-services-1.4.21-35.el7.x86_64
  5. [root@master ~]# rpm -qc iptables-1.4.21-35.el7.x86_64 #命令软件包
  6. /etc/sysconfig/ip6tables-config
  7. /etc/sysconfig/iptables-config
  8. [root@master ~]# rpm -qc iptables-services-1.4.21-35.el7.x86_64 #服务软件包
  9. /etc/sysconfig/ip6tables
  10. /etc/sysconfig/iptables
  11. ######执行iptables-save 命令:显示出当前启用的所有规则,按照
  12. raw、mangle、nat、filter 表的顺序依次列出,如下所示:
  13. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# iptables-save|tee 1.txt
  14. ##iptables-save可以显示所有表和规则设置,并可以重定向到文件后利用iptables-restore恢复####
  15. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:52:20 2022
  16. *filter
  17. :INPUT ACCEPT [0:0]
  18. :FORWARD ACCEPT [0:0]
  19. :OUTPUT ACCEPT [125:19850]
  20. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  21. -A INPUT -p icmp -j ACCEPT
  22. -A INPUT -i lo -j ACCEPT
  23. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  24. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  25. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  26. COMMIT
  27. # Completed on Fri Jul 29 14:52:20 2022
  28. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:52:20 2022
  29. *nat
  30. :PREROUTING ACCEPT [1:40]
  31. :INPUT ACCEPT [0:0]
  32. :OUTPUT ACCEPT [17:1292]
  33. :POSTROUTING ACCEPT [17:1292]
  34. COMMIT
  35. # Completed on Fri Jul 29 14:52:20 2022
  36. #########################################################################
  37. 其中:
  38. #”号开头的表示注释;
  39. “*filter”表示所在的表;
  40. “:链名默认策略”表示相应的链及默认策略,具体的规则部分省略了命令名“iptables”;
  41. 在末尾处“COMMIT”表示提交前面的规则设置。
  42. ##########################################################################
  43. [root@iZbp16mm3xbwen89azh9ffZ ~]# cat /etc/sysconfig/1.txt ####iptables-save保存的文件
  44. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:53:41 2022
  45. *filter
  46. :INPUT ACCEPT [0:0]
  47. :FORWARD ACCEPT [0:0]
  48. :OUTPUT ACCEPT [230:41650]
  49. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  50. -A INPUT -p icmp -j ACCEPT
  51. -A INPUT -i lo -j ACCEPT
  52. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  53. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  54. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  55. COMMIT
  56. # Completed on Fri Jul 29 14:53:41 2022
  57. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:53:41 2022
  58. *nat
  59. :PREROUTING ACCEPT [1:40]
  60. :INPUT ACCEPT [0:0]
  61. :OUTPUT ACCEPT [25:1900]
  62. :POSTROUTING ACCEPT [25:1900]
  63. COMMIT
  64. # Completed on Fri Jul 29 14:53:41 2022
  65. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# service iptables save
  66. ####此命令可以将规则配置保存到/etc/sysconfig/iptables文件,以便iptables服务开机自动加载######
  67. iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
  68. [root@iZbp16mm3xbwen89azh9ffZ sysconfig]# cat /etc/sysconfig/iptables
  69. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:57:12 2022
  70. *filter
  71. :INPUT ACCEPT [0:0]
  72. :FORWARD ACCEPT [0:0]
  73. :OUTPUT ACCEPT [339:61642]
  74. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  75. -A INPUT -p icmp -j ACCEPT
  76. -A INPUT -i lo -j ACCEPT
  77. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
  78. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  79. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  80. COMMIT
  81. # Completed on Fri Jul 29 14:57:12 2022
  82. # Generated by iptables-save v1.4.21 on Fri Jul 29 14:57:12 2022
  83. *nat
  84. :PREROUTING ACCEPT [2:80]
  85. :INPUT ACCEPT [1:40]
  86. :OUTPUT ACCEPT [54:4104]
  87. :POSTROUTING ACCEPT [54:4104]
  88. COMMIT
  89. # Completed on Fri Jul 29 14:57:12 2022
  90. [root@iZbp16mm3xbwen89azh9ffZ ~]# systemctl enable iptables
  91. ###设置iptables服务开机自启动,加载/etc/sysconfig/iptables配置#########
  92. [root@iZbp16mm3xbwen89azh9ffZ ~]# iptables -F ###如果规则清空
  93. [root@iZbp16mm3xbwen89azh9ffZ ~]# iptables-restore</etc/sysconfig/1.txt
  94. #######使用iptables-save重定向的规则配置文件恢复规则###############
  95. [root@iZbp16mm3xbwen89azh9ffZ ~]# iptables -nvL ###查看是否还原
  96. Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
  97. pkts bytes target prot opt in out source destination
  98. 299 147K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
  99. 6 216 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
  100. 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
  101. 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
  102. 8 440 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
  103. Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
  104. pkts bytes target prot opt in out source destination
  105. 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
  106. Chain OUTPUT (policy ACCEPT 327 packets, 52732 bytes)
  107. pkts bytes target prot opt in out source destination

iptables与firewalld的区别与联系

在需要配置防火墙的情况下,二者配置其中一个即可

①使用iptables配置
# systemctl stop firewalld
在firewalld服务关闭的情况下使用iptables命令配置规则即可

②使用firewalld配置
参考资料:https://www.zhihu.com/question/352221004/answer/2479567005
Firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一样,它们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
firewalld任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables即可。
我的理解是:在firewalld防火墙关闭的情况下,iptables设置了规则后再启动firewalld防火墙,那么iptables的规则先清空,再将firewalld防火墙的规则保存并更新到iptables。
netfilter使用定义的规则决定数据包的走向

  1. # iptables -P FORWARD DROP
  2. # iptables -nvL --line-numbers
  3. Chain INPUT (policy ACCEPT 151 packets, 9846 bytes)
  4. num   pkts bytes target     prot opt in     out     source               destination         
  5. Chain FORWARD (policy DROP 0 packets, 0 bytes)            ##FORWARD链默认策略为DROP
  6. num   pkts bytes target     prot opt in     out     source               destination         
  7. Chain OUTPUT (policy ACCEPT 97 packets, 7780 bytes)
  8. num   pkts bytes target     prot opt in     out     source               destination         
  9. # systemctl start firewalld
  10. # firewall-cmd --list-all
  11. public (active)
  12.   target: default
  13.   icmp-block-inversion: no
  14.   interfaces: ens33
  15.   sources: 
  16.   services: dhcpv6-client ssh
  17.   ports: 
  18.   protocols: 
  19.   masquerade: no
  20.   forward-ports: 
  21.   source-ports: 
  22.   icmp-blocks: 
  23.   rich rules: 
  24.     
  25. # iptables -nvL --line-numbers            ##ptables的规则先清空,再将firewalld防火墙的规则保存并更新到iptables
  26. Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
  27. num   pkts bytes target     prot opt in     out     source               destination         
  28. 1      253 15703 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  29. 2       16   960 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
  30. 3        1    92 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  31. 4        1    92 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  32. 5        1    92 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  33. 6        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
  34. 7        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
  35. Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
  36. num   pkts bytes target     prot opt in     out     source               destination         
  37. 1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  38. 2        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
  39. 3        0     0 FORWARD_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  40. 4        0     0 FORWARD_IN_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  41. 5        0     0 FORWARD_IN_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  42. 6        0     0 FORWARD_OUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  43. 7        0     0 FORWARD_OUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  44. 8        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
  45. 9        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
  46. Chain OUTPUT (policy ACCEPT 58 packets, 5608 bytes)
  47. num   pkts bytes target     prot opt in     out     source               destination         
  48. 1      160  9495 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
  49. 2       58  5608 OUTPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  50. Chain FORWARD_IN_ZONES (1 references)
  51. num   pkts bytes target     prot opt in     out     source               destination         
  52. 1        0     0 FWDI_public  all  --  ens33  *       0.0.0.0/0            0.0.0.0/0           [goto] 
  53. 2        0     0 FWDI_public  all  --  +      *       0.0.0.0/0            0.0.0.0/0           [goto] 
  54. Chain FORWARD_IN_ZONES_SOURCE (1 references)
  55. num   pkts bytes target     prot opt in     out     source               destination         
  56. Chain FORWARD_OUT_ZONES (1 references)
  57. num   pkts bytes target     prot opt in     out     source               destination         
  58. 1        0     0 FWDO_public  all  --  *      ens33   0.0.0.0/0            0.0.0.0/0           [goto] 
  59. 2        0     0 FWDO_public  all  --  *      +       0.0.0.0/0            0.0.0.0/0           [goto] 
  60. Chain FORWARD_OUT_ZONES_SOURCE (1 references)
  61. num   pkts bytes target     prot opt in     out     source               destination         
  62. Chain FORWARD_direct (1 references)
  63. num   pkts bytes target     prot opt in     out     source               destination         
  64. Chain FWDI_public (2 references)
  65. num   pkts bytes target     prot opt in     out     source               destination         
  66. 1        0     0 FWDI_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  67. 2        0     0 FWDI_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  68. 3        0     0 FWDI_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  69. 4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
  70. Chain FWDI_public_allow (1 references)
  71. num   pkts bytes target     prot opt in     out     source               destination         
  72. Chain FWDI_public_deny (1 references)
  73. num   pkts bytes target     prot opt in     out     source               destination         
  74. Chain FWDI_public_log (1 references)
  75. num   pkts bytes target     prot opt in     out     source               destination         
  76. Chain FWDO_public (2 references)
  77. num   pkts bytes target     prot opt in     out     source               destination         
  78. 1        0     0 FWDO_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  79. 2        0     0 FWDO_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  80. 3        0     0 FWDO_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  81. Chain FWDO_public_allow (1 references)
  82. num   pkts bytes target     prot opt in     out     source               destination         
  83. Chain FWDO_public_deny (1 references)
  84. num   pkts bytes target     prot opt in     out     source               destination         
  85. Chain FWDO_public_log (1 references)
  86. num   pkts bytes target     prot opt in     out     source               destination         
  87. Chain INPUT_ZONES (1 references)
  88. num   pkts bytes target     prot opt in     out     source               destination         
  89. 1        1    92 IN_public  all  --  ens33  *       0.0.0.0/0            0.0.0.0/0           [goto] 
  90. 2        0     0 IN_public  all  --  +      *       0.0.0.0/0            0.0.0.0/0           [goto] 
  91. Chain INPUT_ZONES_SOURCE (1 references)
  92. num   pkts bytes target     prot opt in     out     source               destination         
  93. Chain INPUT_direct (1 references)
  94. num   pkts bytes target     prot opt in     out     source               destination         
  95. Chain IN_public (2 references)
  96. num   pkts bytes target     prot opt in     out     source               destination         
  97. 1        1    92 IN_public_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  98. 2        1    92 IN_public_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  99. 3        1    92 IN_public_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  100. 4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
  101. Chain IN_public_allow (1 references)
  102. num   pkts bytes target     prot opt in     out     source               destination         
  103. 1        1    92 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW,UNTRACKED
  104. Chain IN_public_deny (1 references)
  105. num   pkts bytes target     prot opt in     out     source               destination         
  106. Chain IN_public_log (1 references)
  107. num   pkts bytes target     prot opt in     out     source               destination         
  108. Chain OUTPUT_direct (1 references)
  109. num   pkts bytes target     prot opt in     out     source               destination    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/669724
推荐阅读
相关标签
  

闽ICP备14008679号