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 再經過任務管理結束掉這個程序就能夠了

相關文章
相關標籤/搜索