CentOS查看端口防火牆狀態


1.查看防火牆狀態

命令:firewall-cmd --state

2.關閉防火牆

命令:systemctl stop firewalld.service

3.啟動防火牆

命令:systemctl start firewalld.service

4.設置開機自動啟動:systemctl enable firewalld.service

關閉開機啟動:systemctl disable firewalld.service

5.查看防火牆所有開放的端口

命令:firewall-cmd --zone=public --list-ports

這條命令我執行完后居然什么都沒有,我理解為我安裝的虛擬機上可能沒啟任何端口吧,但一點提示也沒有太不友好了。

6.開啟某個(某段)端口

firewall-cmd --zone=public --add-port=8080-8081/tcp --permanent //永久

firewall-cmd --zone=public --add-port=8080-8081/tcp //臨時

firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 永久開放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #永久關閉5672端口

firewall-cmd --reload   # 在不改變狀態的條件下重新加載防火牆--配置立即生效

7.查看具體某個端口

命令:netstat -tunlp | grep 8081 【模糊查詢】

lsof -i:8081【精確查詢】

命令格式:netstat -tunlp | grep 端口號

  • -t (tcp) 僅顯示tcp相關選項
  • -u (udp)僅顯示udp相關選項
  • -n 拒絕顯示別名,能顯示數字的全部轉化為數字
  • -l 僅列出在Listen(監聽)的服務狀態
  • -p 顯示建立相關鏈接的程序名
  • PS:centos7默認沒有 netstat 命令,需要安裝 net-tools 工具,yum install -y net-tools

如果發現端口被占用,kill -9 進程號 殺死進程

8.查看開放的所有端口,命令:firewall-cmd --list-ports

下面記錄一下服務的相關命令:

獲取所有支持的服務firewall-cmd --get-service

啟動某個服務firewall-cmd --zone=public --add-service=https //臨時 firewall-cmd --permanent --zone=public --add-service=https //永久

查看開啟的服務firewall-cmd --permanent --zone=public --list-services

設置ip訪問某個服務firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept" //ip 192.168.0.4/24 訪問 http

刪除上面的設置firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"

檢查設定是否生效 iptables -L -n | grep 21

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM