前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables的使用与基本扩展匹配的使用

iptables的使用与基本扩展匹配的使用

作者头像
小柒吃地瓜
发布2020-04-23 17:16:41
1.2K0
发布2020-04-23 17:16:41
举报
文章被收录于专栏:梦在深巷

iptables的基本使用

iptables的基本使用方式如上图所示,上图包含了基础与扩展的使用方式. iptables: 用户空间的工具,写规则,并自动发往netfilter,立即生效;netfilter: 接收并生效规则;

iptables工具语法

  • 规则与链的计数器:
代码语言:txt
复制
- pkts:由规则或链所匹配到的报文的个数.
- bytes: 由规则或链匹配到的所有报文大小之和.
代码语言:javascript
复制
iptables [-t TABLE] SUBCOMMANDS chain CRETIRIA -j TARGET

#表
-t TABLES:
    filter, nat, mangle, raw, security
    可以省略,省略默认为filter

#链的管理规则
SUBCOMMANDS:
    #链管理
    -F: --flush [chain] ,清空规则链;
    -N: --new-chain chain , 创建新的自定义规则链;
    -X: --delete-chain [chain] , 删除用户自定义的空的规则链;
    -Z: --zero [chain [rulenum]] , 置零,规则计数器置零;
    -P: --policy chain target , 为指定链设置默认策略,对filter表来讲,默认规则为ACCEPT, DROP, REJECT;
    -E: --rename-chain old-chain new-chain , 重命名自定义链;引用计数不为0的自定义链,无法改名,也无法删除;
    #链规则管理
    -A:--append chain rule-specification ,将新规则追加于指定链的尾部;
    -I:--insert chain [rulenum] rule-specification ,将新规则插入至指定链的指定位置;
    -D:--delete chain rulenum ,删除指定链上的指定规则;
        有两种指定方式:
            1. 指定匹配条件
            2. 指定规则编号
    -R: --replace chain rulenum rule-specification , 替换/修改指定链上的指定规则;
    #查看
    -L: list [chain] ,列出指定链上的指定规则
        -n: numberic, 以数值格式显示地址和端口号;
        -v: verbose, 显示详细信息;
            -vv,-vvv
        --line-numbers: 显示规则编号;
        -x: exactly, 显示计数器计数的精确值;
    -S:  --list-rules [chain] , 打印所选链中的所有规则,以iptables命令方式打印;

#链
chain:
    #默认
    PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

#指定匹配规则
CRETIRIA:
    #基本匹配
    [!] -s, --src, --source IP|Netaddr: 检查报文中源IP地址是否符合此处指定的地址范围;
    [!] -d, --dst, --destination IP|Netaddr: 检查报文中源IP地址是否符合此处指定的地址范围;
    [!] -p, --protocol {tcp|udp|icmp|icmpv6}: 检查报文中的协议,即ip首部中的protocols所标识的协议;
    [!] -i, --in-interface IFACE: 数据报文的流入接口;仅能用于PREROUTING, INPUT及FORWARD链上;
    [!] -o, --out-interface IFACE:数据报文的流出接口;仅能用于FORWARD, OUTPUT及POSTROUTING链上;
    #扩展匹配
    -m, --macth macth_name --spec_options: 指定要使用的匹配项,即测试特定属性的扩展模块。
    例如:-m tcp --dport 22
    #隐式扩展:对-p protocol指明的协议进行的扩展,可以省略-m选项.
    -p tcp
        --dport PORT[-PORT]: 目标端口,可以是单个端口或者连续的多个端口;
        --sport PORT[-PORT]: 源端口,可以是单个端口或者连续的多个端口;
        --tcp-flags LIST1 LIST2: 检查LIST1所指明的所有标志位,且这其中LIST2表示的所有标记位必须为1,而余下的必须为0;没有LIST1中指明的,不作检查;
        SYN, ACK, FIN, RST, PSH, URG
        例如:--tcp-flags SYN,ACK,FIN,RST SYN 这个表示:syn.ack,rst,fin四个位要求syn必须是1
        --syn: 表示是否新建的tcp请求
    -p udp
        --dport: PORT[-PORT]: 目标端口,可以是单个端口或者连续的多个端口;
        --sport: PORT[-PORT]: 源端口,可以是单个端口或者连续的多个端口;
    -p icmp
        --icmp-type: 0:echo-reply, 8:echo-request
    #显示扩展:必须使用-m选项指定使用的扩展;
#目标
-j TARGET:jump至指定的TARGET
    ACCEPT: 接受
    DROP: 丢弃
    REJECT: 拒绝
    RETURN: 返回调用链
    REDIRECT: 端口重定向
    LOG: 记录日志
    MARK: 做防火墙标记
    DNAT: 目标地址转换
    SNAT: 源地址转换
    MASQUERADE: 地址伪装
    ....
    自定义链: 由自定义链上的规则进行匹配检查.



#链信息标注
[root@study3 ~]# iptables -L -n
target     prot      opt     source           destination         
ACCEPT     all       --      0.0.0.0/0        0.0.0.0/0            ctstate RELATED,ESTABLISHED
目标       协议      选项    来源地址          目标地址             连接追踪状态

[root@template ~]# iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts  bytes   target prot opt in out  source        destination         
385   30401   ACCEPT all  --  *  *    0.0.0.0/0     0.0.0.0/0       ctstate RELATED,ESTABLISHED        
# pkts:由规则或链所匹配到的报文的个数.
# bytes: 由规则或链匹配到的所有报文大小之和.
# target:规则对应的target,往往表示规则对应的"动作",即规则匹配成功后需要采取的措施。
# prot:表示规则对应的协议,是否只针对某些协议应用此规则。
# opt:表示规则对应的选项。
# in:表示数据包由哪个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则。
# out:表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则。
# source:表示规则对应的源头地址,可以是一个IP,也可以是一个网段。
# destination:表示规则对应的目标地址。可以是一个IP,也可以是一个网段。

iptables链操作示例

查看链信息

代码语言:javascript
复制
#查看filter链信息
[root@study02 ~]# iptables -L  #不指定默认为filter链
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD_IN_ZONES (0 references)  #references表示应用此表的数量
target     prot opt source               destination     


#查看filter链详细信息
[root@study02 ~]# iptables -t filter -L -v
Chain INPUT (policy ACCEPT 401 packets, 23451 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 243 packets, 78008 bytes)
 pkts bytes target     prot opt in     out     source               destination   

增删改链

代码语言:javascript
复制
#删除自定义链
[root@study02 ~]# iptables -t filter -X  #-X不加参数表示删除所有自定义链
[root@study02 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


#添加自定义链
[root@study02 ~]# iptables -t filter -N IN_public
[root@study02 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain IN_public (0 references)   #这是我们添加的自定义链,自定义的链会显示引用计数.
target     prot opt source               destination  


#修改自定义链名字
#修改是需要注意的是,如果内部没有规则且没有被引用就可以更改链名
[root@study02 ~]# iptables -t filter -E IN_public OUT_public
[root@study02 ~]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUT_public (0 references) #修改后的链名
target     prot opt source               destination  

修改链规则

代码语言:javascript
复制
#修改链的默认规则
[root@study02 ~]# iptables -F
[root@study02 ~]# iptables -X
[root@study02 ~]# iptables -t filter -P FORWARD DROP #修改链默认规则
[root@study02 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination     

#删除某个链的规则
[root@study02 ~]# iptables -t filter -L --line-numbers 
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
...        
7    FORWARD_OUT_ZONES  all  --  anywhere             anywhere            
8    DROP       all  --  anywhere             anywhere             ctstate INVALID
9    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited  #删除第9条规则
[root@study02 ~]# iptables -t filter -D FORWARD 9 #删除FORWARD链第9条规则
[root@study02 ~]# iptables -t filter -L --line-numbers
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
......    
6    FORWARD_OUT_ZONES_SOURCE  all  --  anywhere             anywhere            
7    FORWARD_OUT_ZONES  all  --  anywhere             anywhere            
8    DROP       all  --  anywhere             anywhere             ctstate INVALID

增加基本链规则管理

代码语言:javascript
复制
#在INPUT链上添加一条规则,任何地址都能访问本机,本机IP:10.10.1.109
[root@study02 ~]# iptables -F #清空规则
[root@study02 ~]# iptables -X #清空自定义链
[root@study02 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p tcp -j ACCEPT
[root@study1 ~]# iptables -t filter -L INPUT -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/24           10.10.1.109   
# -s: 源地址,可以省略.
# -d: 目标地址
# -P: 报文类型
# -j: 目标类型


#在OUTPUT链添加一条规则,本机任何响应的TCP报文都放行,本机IP:10.10.1.109
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p tcp -j ACCEPT
[root@study1 ~]# iptables -t filter -L OUTPUT -n
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  10.10.1.109          0.0.0.0/24   
# -s: 源地址
# -d: 目标地址,可以省略.
# -P: 报文类型
# -j: 目标类型

#本机ssh报文匹配显示示例
[root@study1 ~]# iptables -t filter -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  263 16920 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   23  2488 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0  


#修改filter链规则为DROP,测试以上规则是否会放行ssh
[root@study1 ~]# iptables -t filter -P INPUT DROP
[root@study1 ~]# iptables -t filter -P FORWARD DROP
[root@study1 ~]# iptables -t filter -P OUTPUT DROP
[root@study1 ~]# iptables -t filter -L -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  369 23176 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   83  7916 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0   
# 只要是tcp类型的报文依然可以继续访问.
#但是在其他机器是无法ping通
[root@study02 ~]# ping 10.10.1.109 -c 3
PING 10.10.1.109 (10.10.1.109) 56(84) bytes of data.

--- 10.10.1.109 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms
  • 放行ICMP协议
代码语言:javascript
复制
#放行icmp协议报文让其他机器可以ping通
[root@study1 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p icmp -j ACCEPT
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p icmp -j ACCEPT
[root@study1 ~]# iptables -t filter -L -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  845 51080 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109         
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            10.10.1.109         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  335 29468 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       10.10.1.109          0.0.0.0/0   
#在其他机器上ping测试
[root@study02 ~]# ping 10.10.1.109 -c 3
PING 10.10.1.109 (10.10.1.109) 56(84) bytes of data.
64 bytes from 10.10.1.109: icmp_seq=1 ttl=64 time=0.231 ms
64 bytes from 10.10.1.109: icmp_seq=2 ttl=64 time=0.169 ms
64 bytes from 10.10.1.109: icmp_seq=3 ttl=64 time=0.161 ms

--- 10.10.1.109 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.161/0.187/0.231/0.031 ms
  • 放行eth0接口报文流入流出
代码语言:javascript
复制
#查看规则序号
[root@study1 ~]#  iptables -t filter -L --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  anywhere             study1              
2    ACCEPT     icmp --  anywhere             study1              

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  study1               anywhere            
2    ACCEPT     icmp --  study1               anywhere         
#删除规则   
[root@study1 ~]# iptables -t filter -D INPUT 2
[root@study1 ~]# iptables -t filter -D OUTPUT 2
#添加规则
[root@study1 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -i eth0 -j ACCEPT #-i表示流入
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -o eth0 -j ACCEPT  #-o表示流出
[root@study1 ~]# iptables -t filter -L -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1727  107K ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109         
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            10.10.1.109         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  882 75676 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0           
    0     0 ACCEPT     all  --  *      eth0    10.10.1.109          0.0.0.0/0 

扩展匹配-链规则管理

扩展匹配所需要的扩展模块:/usr/lib64/xtables/,大写的扩展模块是TARGET;小写的模块可以做匹配条件.

代码语言:javascript
复制
#扩展匹配方式放行本机ssh服务报文,以插入的方式修改第一条规则
[root@study1 ~]# iptables -t filter -I INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p tcp --dport 22 -j ACCEPT
[root@study1 ~]# iptables -t filter -I OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p tcp --sport 22 -j ACCEPT
#INPUT放行规则是没有办法确定sport的端口所以可以省略sport
#OUTPUT放行规则是没有办法确定dport的端口所以可以省略dport

[root@study1 ~]# iptables -t filter -L  -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  401 24896 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:22
 2010  124K ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109         
    3   228 ACCEPT     all  --  eth0   *       0.0.0.0/0            10.10.1.109         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   51  4972 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0            tcp spt:22
 1232  112K ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0           
    4   304 ACCEPT     all  --  *      eth0    10.10.1.109          0.0.0.0/0  


#尝试放行httpd服务报文
# 1. study1的iptables规则
[root@study1 ~]# iptables -t filter -L INPUT -n -v
Chain INPUT (policy DROP 6 packets, 759 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  902 53044 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:22
 7352   19M ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109    #这条规则是允许任何地址访问本机    
   32  5974 ACCEPT     all  --  eth0   *       0.0.0.0/0            10.10.1.109      

# 2.在其他机器测试httpd服务是否能访问
[root@study02 ~]# curl 10.10.1.109 -I  #因此测试study2机器可以正常访问
HTTP/1.1 403 Forbidden
Date: Tue, 11 Feb 2020 10:28:46 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8

# 3. 删除INPUT与OUTPUT第2,3 条规则尝试能否访问
[root@study1 ~]# iptables -t filter -D INPUT 2
[root@study1 ~]# iptables -t filter -D OUTPUT 2
[root@study1 ~]# iptables -t filter -L INPUT -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1056 62208 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:22
   38  6736 ACCEPT     all  --  eth0   *       0.0.0.0/0            10.10.1.109  
# 访问测试
[root@study02 ~]# curl 10.10.1.109 -I
curl: (7) Failed connect to 10.10.1.109:80; 连接超时

# 4. 使用扩展匹配放行httpd服务的报文
[root@study1 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p tcp --dport 80 -j ACCEPT
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p tcp --sport 80 -j ACCEPT
[root@study1 ~]# iptables -t filter -L -n -v 
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1711  102K ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:80

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  888 95764 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0            tcp spt:22
    0     0 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0            tcp spt:80
[root@study02 ~]# curl 10.10.1.109 -I
HTTP/1.1 403 Forbidden
Date: Tue, 11 Feb 2020 11:49:31 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
  • 扩展匹配方式放行ICMP报文
代码语言:javascript
复制
#例如放行本机ICMP报文出去
# 1.本机ping 10.10.1.110主机
[root@study1 ~]# ping 10.10.1.110 -c 2
PING 10.10.1.110 (10.10.1.110) 56(84) bytes of data.
ping: sendmsg: 不允许的操作
ping: sendmsg: 不允许的操作
# 2.放行本机ICMP报文
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p icmp --icmp-type 8 -j ACCEPT
[root@study1 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p icmp --icmp-type 0 -j ACCEPT
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2662  158K ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:22
   32  3458 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.10.1.109          tcp dpt:80
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            10.10.1.109          icmptype 0
[root@study1 ~]# iptables -t filter -L OUTPUT -n -v
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1271  130K ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0            tcp spt:22
   30  8366 ACCEPT     tcp  --  *      *       10.10.1.109          0.0.0.0/0            tcp spt:80
    0     0 ACCEPT     icmp --  *      *       10.10.1.109          0.0.0.0/0            icmptype 8
# 3.本机ping测试
[root@study1 ~]# ping -c 3 10.10.1.110
PING 10.10.1.110 (10.10.1.110) 56(84) bytes of data.
64 bytes from 10.10.1.110: icmp_seq=1 ttl=64 time=0.235 ms
64 bytes from 10.10.1.110: icmp_seq=2 ttl=64 time=0.169 ms
64 bytes from 10.10.1.110: icmp_seq=3 ttl=64 time=0.200 ms

--- 10.10.1.110 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.169/0.201/0.235/0.029 ms
# 4.其他机器ping本机
[root@template ~]# ping 10.10.1.109
PING 10.10.1.109 (10.10.1.109) 56(84) bytes of data.
^C
--- 10.10.1.109 ping statistics ---
30 packets transmitted, 0 received, 100% packet loss, time 28999ms
# 5.放行本机icmp报文出去
[root@study1 ~]# iptables -t filter -A INPUT -s 0.0.0.0/0 -d 10.10.1.109 -p icmp --icmp-type 8 -j ACCEPT
[root@study1 ~]# iptables -t filter -A OUTPUT -s 10.10.1.109 -d 0.0.0.0/0 -p icmp --icmp-type 0 -j ACCEPT
[root@study3 ~]# ping -c3 10.10.1.109
PING 10.10.1.109 (10.10.1.109) 56(84) bytes of data.
64 bytes from 10.10.1.109: icmp_seq=1 ttl=64 time=0.185 ms
64 bytes from 10.10.1.109: icmp_seq=2 ttl=64 time=0.178 ms
64 bytes from 10.10.1.109: icmp_seq=3 ttl=64 time=0.156 ms

--- 10.10.1.109 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.156/0.173/0.185/0.012 ms
#此时双方的主机都能ping通
  • ICMP报文类型

版权属于:龙之介大人

本文链接:https://cloud.tencent.com/developer/article/1619655

本站所有原创文章采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源和作者署名并说明文章非原创且不可用于商业目的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 02 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iptables的基本使用
  • iptables工具语法
  • iptables链操作示例
    • 查看链信息
      • 增删改链
        • 修改链规则
          • 增加基本链规则管理
          • 扩展匹配-链规则管理
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档