Host administratively prohibited 問題


sftp 連接遠端 server 超時,

 

 

 Wireshark 抓包,顯示 Host administratively prohibited,很大程度是遠端 server 防火牆問題。

 

 

解決方法1

如果是內部 server,關閉遠端 server 的防火牆服務即可,

$ sudo systemctl stop firewalld.service
$ sudo systemctl disable firewalld.service

 

解決方法2

保持防火牆服務,調整 iptables 服務,例如,

$ sudo iptables -t filter -I INPUT -p tcp -s 192.168.2.10 --dport 14920  -j ACCEPT    # 允許源地址為 192.168.2.10 的 tcp 數據包通過 server 的 14920 端口
$ sudo iptables -t filter -I OUTPUT -p tcp --dport 14920 -j ACCEPT                    # 允許 server 的任何外發數據包通過 14920 端口 

經過上述設置后,就能臨時開啟 sftp 服務 (假設已設置 sftp 走 14920 端口,而不是默認的 22 端口),重啟后失效

注意,CentOS 7  默認沒有安裝 iptables-services,要先安裝,

$ sudo yum install iptables-services

查看現有規則,

$ sudo iptables -L -n

重新調整 iptables 如本例最開始兩條命令,然后保存設置並重啟服務,

$ sudo service iptables save
$ sudo systemctl restart iptables.service  

可查看保存的設置  /etc/sysconfig/iptables-config

===========================================

常用的設置參考,

//先允許所有,不然有可能會杯具  
iptables -P INPUT ACCEPT  
// 清空所有默認規則  
iptables -F  
// 清空所有自定義規則  
iptables -X  
// 所有計數器歸0  
iptables -Z  
// 允許來自於lo接口的數據包(本地訪問)  
iptables -A INPUT -i lo -j ACCEPT  
// 開放22端口  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
// 開放21端口(FTP)  
iptables -A INPUT -p tcp --dport 21 -j ACCEPT  
// 開放80端口(HTTP)  
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  
// 開放443端口(HTTPS)  
iptables -A INPUT -p tcp --dport 443 -j ACCEPT  
// 允許ping  
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  
// 允許接受本機請求之后的返回數據 RELATED,是為FTP設置的  
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT  
// 其他入站一律丟棄  
iptables -P INPUT DROP  
// 所有出站一律綠燈  
iptables -P OUTPUT ACCEPT  
// 所有轉發一律丟棄  
iptables -P FORWARD DROP  

 

(完)

 


免責聲明!

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



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