Linux服務正常啟動,Linux服務器能訪問,但是外部機器不能訪問


公司用到了jenkins,就在自己虛擬機里面部署了一個jenkins。部署成功之后,在Linux虛擬機里面能正常訪問,但是外部真實機卻不能訪問。當時的第一反應就是覺得應該是權限問題,猜測會不會是jenkins需要開啟某個權限,外部的機器才能訪問。但是找了好久的資料,也沒說到要開啟什么權限之類的。於是又在Linux里面部署了一個tomcat,發現tomcat也不能訪問,那就不是jenkins的問題了,肯定是Linux機器的原因。自然而然的想到會不會是防護牆的原因,果然,防火牆一關就OK了。

關閉防火牆確實能解決這個問題,但是在真實環境中,防火牆是不能直接關閉了,太危險。怎么辦呢?只需要開放一下服務對應的端口不就可以了嗎

方法一:關閉防火牆

[root@localhost ~]# service iptables stop         #關閉防火牆

[root@localhost ~]# service iptables start         #開啟防火牆

[root@localhost ~]# service iptables status         #查看防火牆狀態

 

cenOS7或者Red Hat7操作防火牆的命令改變了,命令如下:

[root@localhost ~]# systemctl stop firewalld.service             #關閉防火牆

[root@localhost ~]# systemctl start firewalld.service             #開啟防火牆

[root@localhost ~]# systemctl status firewalld.service          #查看防火牆狀態

 

方法二:開放指定的端口

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

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  
-A INPUT -j REJECT --reject-with icmp-host-prohibited 

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

備注: 找到 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT   這一行,在這一行后天添加如上紅色的一行,即可開放8080端口

[root@localhost ~]# service iptables restart      #重啟防火牆才能生效

 

cenOS7或者Red Hat7開放端口方法如下:

[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success

[root@localhost ~# firewall-cmd --reload          #開放端口只需需要重啟防火牆才能生效
success

 

備注:開放端口命令解釋

-zone                 作用域

-add-port=8080/tcp          添加端口,格式為:端口/通信協議

--permanent            永久生效

 


免責聲明!

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



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