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            永久生效

猜你喜欢

转载自www.cnblogs.com/CUI-S/p/9191402.html