Linux服务正常启动,Linux服务器能访问,但是外部机器不能访问

公司用到了jenkins,就在自己虚拟机里面部署了一个jenkins。部署成功之后,在Linux虚拟机里面能正常访问,但是外部真实机却不能访问。当时的第一反应就是觉得应该是权限问题,猜测会不会是jenkins需要开启某个权限,外部的机器才能访问。但是找了好久的资料,也没说到要开启什么权限之类的。于是又在Linux里面部署了一个tomcat,发现tomcat也不能访问,那就不是jenkins的问题了,肯定是Linux机器的原因。自然而然的想到会不会是防护墙的原因,果然,防火墙一关就OK了。

关闭防火墙确实能解决这个问题,但是在真实环境中,防火墙是不能直接关闭了,太危险。怎么办呢?只需要开放一下服务对应的端口不就可以了吗

方法一:关闭防火墙

[[email protected] ~]# service iptables stop         #关闭防火墙

[[email protected] ~]# service iptables start         #开启防火墙

[[email protected] ~]# service iptables status         #查看防火墙状态

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

[[email protected] ~]# systemctl stop firewalld.service             #关闭防火墙

[[email protected] ~]# systemctl start firewalld.service             #开启防火墙

[[email protected] ~]# systemctl status firewalld.service          #查看防火墙状态

方法二:开放指定的端口

[[email protected] ~]# 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端口

[[email protected] ~]# service iptables restart      #重启防火墙才能生效

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

[[email protected] ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success

[[email protected] ~# firewall-cmd --reload          #开放端口只需需要重启防火墙才能生效
success

备注:开放端口命令解释

-zone                 作用域

-add-port=8080/tcp          添加端口,格式为:端口/通信协议

--permanent            永久生效

原文地址:https://www.cnblogs.com/CUI-S/p/9191402.html

时间: 2024-10-02 10:43:25

Linux服务正常启动,Linux服务器能访问,但是外部机器不能访问的相关文章

linux服务延时启动

zabbix-server在系统启动时,需要先启动xampp中的mysql,如果mysql没启动就会导致zabbix-server启动失败 怎么设置linux服务延时启动呢,很简单,用sleep就可以 修改/etc/rc.local文件 /opt/lampp/lampp startmysql /bin/sleep 60 /etc/init.d/zabbix-server start 就这么简单.

linux服务自动手动启动tomcat的方式

Linux服务自启动的方式有多种,有时候无法通过chkconfig命令运行级别设置和ntsysv图形运行级别设置时,此下方法可以有效解决问题. 生产环境: OS: CentOS release 6.7 (Final) Web服务器:Apache Tomcat/7.0.57 任务:Linux启动时需要自动启动Tomcat服务. Linux自动启动服务配置方式如下: [[email protected] ~]# [[email protected]~]# cd  /etc/rc.d [[email 

Linux服务之搭建FTP服务器

参考帖子: Linux服务之FTP vsftpd的使用

通过yocto给p1010rdb定制linux,并启动linux

一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen  passwd -d chen 重启电脑进入chen用户. 给chen用户添加root权限,vim /etc/sudoers 第99行添加  chen   ALL=(ALL)   ALL chen ALL = NOPASSWD: /usr/bin/yum mkdir yocto  将光盘中的资料拷贝到yocto下,光盘名称(yocto soure iso).

linux服务开机启动

1.chkconfig 配置开机启动 在  /etc/init.d  创建执行服务的可执行脚本,赋予脚本可执行权限.如果是通过yum 或者rpm安装的,并且已经在该目录下存在对应的启动脚本,就不用自己创建了. 需要开机通过chkconfig设置开机启动的服务,必须在 /etc/init.d 目录创建一个可执行脚本,服务名称就是脚本名称.每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释. # chkconfig:  chkconfig缺省启动的运行级以及启

linux服务方式启动程序脚本(init.d脚本)

这才是真正正确的让jar后台启动的脚本,网络上的各种nohoup的脚本都是临时执行一次任务用的. #!/bin/sh # # init.d script # # ### BEGIN INIT INFO # Provides: mongodb # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Should-Start: $named # Should-St

如何启动linux的telnet服务--转载

如何启动linux的telnet服务 如何启动linux的telnet服务 步骤如下: 1.如果安装了telnet.telnet-server的rpm包,就跳到2.,否则安装这个包. 2.修改telnet服务配置文件 vi /etc/xinetd.d/telnet service telnet { disable = yes flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd

linux 服务简介

Linux服务(Linux services)对于每个应用Linux的用户来说都很重要.关闭不需要的服务,可以让Linux运行的更高效,但并不是所有的Linux服务都可以关闭.今天安装了一次CentOs Linux,发现Linux启动的时候启动了好多服务,大部分都不知道是干什么的.因此着重了解了一下那些Linux服务(Linux services)可以关闭,那些Linux服务(Linux services)不能随意关闭. 在关闭Linux服务之前,需要了解一些概念: 什么是Linux服务/后台进

linux下tomcat服务的启动、关闭与错误跟踪

linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下命令: ./startup.sh 2).关闭tomcat服务 进入tomcat主目录下的bin目录,然后执行如下命令: ./shutdown.sh 通过1)启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也就立即关闭了,通过以下命令可以作为linux服务一直运行 3).作为服务启