Centos 7.x 防火墙端口管理

centos 7

firewalled

  • 开关防火墙php

    systemctl stop firewalld.service #中止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    systemctl enable firewalld.service #设置firewall开机启动
    systemctl restart firewalld.service #firewall重启
    systemctl start firewalld.service #firewall启动nginx

  • 开启端口shell

    firewall-cmd --zone=public --add-port=80/tcp --permanentapache

    命令含义
    --zone #做用域
    --add-port=80/tcp #添加端口,格式为:端口/通信协议
    --permanent #永久生效,没有此参数重启后失效
    复制代码
  • 重启防火墙
    firewall-cmd --reloadwindows

  • 经常使用命令介绍centos

    firewall-cmd --state ##查看防火墙状态,是不是running
    firewall-cmd --reload ##从新载入配置,好比添加规则以后,须要执行此命令
    firewall-cmd --get-zones ##列出支持的zone
    firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
    firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
    firewall-cmd --add-service=ftp ##临时开放ftp服务
    firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
    firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
    firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
    iptables -L -n ##查看规则,这个命令是和iptables的相同的
    man firewall-cmd ##查看帮助bash

    CentOS 7.0默认使用的是firewall做为防火墙,使用iptables必须从新设置一下

    直接关闭防火墙

    systemctl stop firewalld.service           #中止firewall  
    systemctl disable firewalld.service     #禁止firewall开机启动  
    复制代码

    设置 iptables service

    yum -y install iptables-services
    若是要修改防火墙配置,如增长防火墙端口3306
    vi /etc/sysconfig/iptables
    增长规则
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存退出后
    systemctl restart iptables.service #重启防火墙使配置生效
    systemctl enable iptables.service #设置防火墙开机启动
    最后重启系统使设置生效便可。tcp

centos 6.x

  • Centos查看端口占用状况命令,好比查看80端口占用状况使用以下命令:

lsof -i tcp:80php-fpm

  • 列出全部端口

netstat -ntlpspa

开启端口(以80端口为例)

  • 方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   写入修改 
  
 /etc/init.d/iptables save   保存修改
 
 service iptables restart    重启防火墙,修改生效
复制代码
  • 方法二:
vi /etc/sysconfig/iptables  打开配置文件加入以下语句:
 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT   重启防火墙,修改完成
复制代码

关闭端口

  • 方法一:
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP   写入修改
 
/etc/init.d/iptables save   保存修改
 
service iptables restart    重启防火墙,修改生效
复制代码
  • 方法二
vi /etc/sysconfig/iptables  打开配置文件加入以下语句
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP   重启防火墙,修改完成
复制代码

查看 防火墙 端口状态

/etc/init.d/iptables status
复制代码

有时启动应用时会发现端口已经被占用,或者是感受有些端口本身没有使用却发现是打开的。这时咱们但愿知道是哪一个应用/进程在使用该端口。 CentOS下能够用netstat或者lsof查看,Windows下也能够用netstat查看,不过参数会不一样

  • Linux:

netstat -nap #会列出全部正在使用的端口及关联的进程/应用 lsof -i :portnumber #portnumber要用具体的端口号代替,能够直接列出该端口听使用进程/应用

检查端口被哪一个进程占用
netstat -lnp|grep 88   #88请换为你的apache须要的端口,如:80
复制代码

结果: nginx pid 473 占用 采用 kill -9 473 可杀死进程

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      473/nginx           
unix  2      [ ACC ]     STREAM     LISTENING     322345929 480/php-fpm         /tmp/php-cgi.sock
复制代码
  • windows

netstat -nao #会列出端口关联的的进程号,能够经过任务管理器查看是哪一个任务 最后一列为程序PID,再经过tasklist命令:tasklist | findstr 2724 再经过任务管理结束掉这个程序就能够了

相关文章
相关标签/搜索