IDC知识库
IDC领域专业知识百科平台
首页 > 网络知识

网络知识Linux强制释放占用端口以及Linux防火墙端口开放方法详解

    • 企业邮箱 全新登场
    • 虚拟主机
    • 云服务器

    在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题。

    说到端口,还不得不提到防火墙,本文还会简单介绍如何配置防火墙开发端口。

    Linux查看端口情况的各种方法

    所有端口的映射关系在 /etc/services 文件中有

    Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下:

    0-1023:公认端口,与常见服务绑定(FTP,SSH)

    1024-49151:注册端口,用于和一些服务绑定

    49152-65535:动态或私有端口,可用于任意网络连接

    端口分为TCP和UDP传输协议。

    Linux查看端口状态命令

    可以有下面的命令查看端口情况,点击命令可以调整到每个命令的使用详情:

    nmap命令,端口扫描使用

    netstat检测开发端口

    lsof检查端口描述符

    # 查看绑定本机的端口
    nmap 127.0.0.1
    
    # 检查3306端口
    netstat -anlp | grep 3306
    
    # 检测3306接口
    lsof -i:3306
    

    linux释放占用端口解决办法

    解决步骤如下:

    查找占用端口的进程

    杀掉该进程

    使用下面命令即可:

    # 可以写成一条命令

    netstat -anp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}'|xargs kill -s 9

    各命令含义如下:

    netstat -anp 显示所有网络使用情况,并显示使用程序

    grep 8080 匹配8080端口的记录(可能会包含18080)

    awk '{print $7}' 输出第7列进程,形式如下:18989/nginx

    awk -F '/' '{print $1}' 截取进程PID:18989

    xargs kill -s 9 使用前一个命令的输出作为参数,杀掉该进程

    释放占用端口分步解决办法

    查询端口是否被占用

    比如需要查询8080端口是否占用,可以下面命令

    netstat -an | grep 8080

    查询占用端口的进程

    可以使用lsof命令查看

    lsof -i:8080

    也可以使用netstat和grep查看

    netstat -anp|grep 8080

    该命令最后一行就是占用8080端口的进程PID和名称。

    杀掉占用端口的进程

    可以使用kill命令直接杀死上一步中查到的进程。

    kill -9 19664

    linux防火墙释放端口

    Linux防火墙启动和关闭

    下面介绍的防火墙是iptable,对于firewalld并不适用。

    开启防火墙(重启后永久生效):chkconfig iptables on
    关闭防火墙(重启后永久生效):chkconfig iptables off
    开启防火墙(即时生效,重启后失效):service iptables start
    关闭防火墙(即时生效,重启后失效):service iptables stop
    重启防火墙:service iptables restart

    Linux查看防火墙状态

    可以使用下面命令查看:

    /etc/init.d/iptables status
    
    # 或者简写
    iptables status
    iptables -L
    
    # 也可以直接查看配置文件
    vim /etc/sysconfig/iptables 
    

    Linux开放防火墙某个端口

    比如打开8080端口,可用下面的命令:

    iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    # 还需要重启服务
    service iptables restart
    
    # 也可以直接编辑配置文件
    vim /etc/sysconfig/iptables
    # 然后在文件结尾添加一行,下面开发8080-8181之间的所有端口
    iptables -A INPUT -p tcp --dport 8080:8181 -j ACCEPT
    

    其中

    –A 参数就看成是添加一条规则
    –p 指定是什么协议,我们常用的tcp协议,当然也有udp
    –dport 就是目标端口,当数据从外部进入服务器为目标端口
    –sport 数据从服务器出去,则为数据源端口使用
    –j 指定是 ACCEPT -接收 或者 DROP 不接收

    声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Linux强制释放占用端口以及Linux防火墙端口开放方法详解
    • 日销500+
      基础型云服务器

      2核CPU

      2G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、个人站长类网站

      ¥106 原价¥116

    • 日销500+
      超值型云服务器

      2核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、行业门户类网站

      ¥156 原价¥171

    • 日销500+
      通用型云服务器

      4核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合电商、论坛类网站

      ¥203 原价¥223

    分享到:更多 ()
      • 企业邮箱 全新登场
      • 虚拟主机
      • 云服务器

      评论 抢沙发

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址

      中国领先的互联网域名及云服务提供商

      为您提供专业域名知识,域名交易知识,云服务器知识,虚拟主机知识讲解

      域名注册云服务器