记一次iptables配置(REJECT --reject-with icmp-host-prohibited)

 

目的:需要主机A能访问主机B,主机A上telnet  主机B 65005端口,返回如下:

RBTGW-CH121-b:~ # telnet  192.168.90.25 65005

Trying 192.168.90.25...

telnet: connect to address 192.168.90.25: No route to host

查明原因为主机B开启了iptables防火墙,开启对应端口允许访问规则即可,记录本文主要原因是新增放通规则时用的iptables -A,新规则追加到了(A INPUT -j REJECT --reject-with icmp-host-prohibited)这条规则至下,导致65005端口依然无法被访问,查明原因做次记录。

 

新增规则:允许所有ip能访问本机的65005端口

# 新增规则(-I表示插入在链的第一位置,-A 表示追加到链的末尾位置,防火墙规则是从上往下读取)
[root@data ~]# iptables -I INPUT -p tcp --dport 65005 -j ACCEPT

# 保存规则到默认文件/etc/sysconfig/iptables

[root@data ~]# service iptables save
# 重启
[root@data ~]# service iptables restart

 

  

 

查看当前iptables保存的配置

  特别说明:这里需要注意,如果上面用的iptables -A的方式追加规则,新规则虽然是放通端口,但规则却在-A INPUT -j REJECT --reject-with icmp-host-prohibited之后,防火墙规则读取是由上至下,当读取到该规则后,65005这条新增规则就不会被读取,导致65005依然不能被访问,所以要么使用iptables -I插入到最上面(也可以指定序号),要么通过手动添加规则到该规则前面即可(vim /etc/sysconfig/iptables )

  -A INPUT -p tcp -m tcp --dport 65005 -j ACCEPT # 表示刚新增的规则,此时已允许其他主机访问该端口

  -A INPUT -j REJECT --reject-with icmp-host-prohibited  # 这行是已拒绝其他端口的命令,如果我们将新插入的开放端口在放在这行命令之后的情况下,后面的配置开放的端口是不会被启用的。


[root@data ~]# vim /etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Tue Mar  9 16:14:49 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1430:101042]
-A INPUT -p tcp -m tcp --dport 65005 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53361 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Mar  9 16:14:49 2021

  

查看当前规则(蓝色为新增)

[root@data ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination    
     
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:65005
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:53361 
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
4    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
5    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
7    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination  
posted @ 2021-03-09 17:34  云深知处  阅读(13881)  评论(3编辑  收藏  举报