記一次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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM