# 查看防火牆狀態
firewall-cmd --state
# 如果處於關閉
systemctl start firewalld.service # 打開防火牆
# 開放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# --zone=public:表示作用域爲公共的;
# --add-port=8080/tcp:添加tcp協議的端口8080;
# --permanent:永久生效,如果沒有此參數,則只能維持當前服務生命週期內,重新啓動後失效
# 重啓防火牆
systemctl restart firewalld.service
# 重載防火牆
firewall-cmd --reload
# 查看端口情況
netstat -nap # 列出所有正在使用的端口及關聯程序
netstat -lnp | grep 8080 # 查詢8080端口的應用程序和進程
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 83298/python
kill -9 83298 # 殺掉進程
firewalld的基本使用
啓動:systemctl start firewalld
查看: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
systemctl的基本使用
systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。
作成服務:/sbin/chkconfig --add foo 把新生成的foo.service 放到/usr/lib/systemd/system/下面,然後採用load命令導入 systemctl load foo.service
啓動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啓一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啓用一個服務:systemctl enable firewalld.service
原理:
ln -s ‘/usr/lib/systemd/system/postfix.service’ ‘/etc/systemd/system/multi-user.target.wants/postfix.service’
在開機時禁用一個服務:systemctl disable firewalld.service
原理:
刪除/etc/systemd/system/multi-user.target.wants下的軟鏈接
查看開機自啓動的程序:ls /etc/systemd/system/multi-user.target.wants/(相當於chkconfig --list)
查看服務是否開機啓動:systemctl is-enabled firewalld.service
查看已啓動的服務列表:systemctl list-unit-files|grep enabled
查看啓動失敗的服務列表:systemctl --failed
配置firewalld-cmd
查看版本: firewall-cmd --version
查看幫助: firewall-cmd --help
顯示狀態: firewall-cmd --state
查看所有打開的端口: firewall-cmd --zone=public --list-ports
更新防火牆規則: firewall-cmd --reload
查看區域信息: firewall-cmd --get-active-zones
查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0
拒絕所有包:firewall-cmd --panic-on
取消拒絕狀態: firewall-cmd --panic-off
查看是否拒絕: firewall-cmd --query-panic
開啓一個端口:firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,沒有此參數重啓後失效)
重新載入:firewall-cmd --reload
查看一個端口:firewall-cmd --zone= public --query-port=80/tcp
刪除一個端口:firewall-cmd --zone= public --remove-port=80/tcp --permanent