Linux-CentOS 防火牆操作

CentOS 7.0默認使用的是firewall作爲防火牆, 使用systemctl來管理服務和程序,包括了service和chkconfig

1、查看默認防火牆狀態(關閉後顯示not running,開啓後顯示running)

[root@localhost ~]# firewall-cmd --state
not running

2、檢查防火牆的狀態

[root@localhost ~]# systemctl list-unit-files|grep firewalld.service
firewalld.service                             disabled  # 沒有啓動
firewalld.service                             enabled  # 啓動
或者:
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)                 --表示防火牆已經關閉
  Docs: man:firewalld(1)

3、開啓防火牆

[root@localhost ~]#systemctl start firewalld.service       --啓動firewall
[root@localhost ~]#systemctl enable firewalld.service     --開機時啓動firewall
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

4、關閉防火牆:

[root@localhost ~]#systemctl stop firewalld.service            --停止firewall
[root@localhost ~]# systemctl disable firewalld.service        --禁止firewall開機啓動
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

5、重啓防火牆

[root@localhost ~]# systemctl restart firewalld.service

6、查看防火牆是否開機自啓

[root@localhost ~]# systemctl is-enabled firewalld.service;echo $?
enabled                  --自啓
0
或者:
[root@localhost ~]# systemctl is-enabled firewalld.service;echo $?
disabled                --不自啓
1

7、查看已啓動的服務列表

[root@localhost ~]# systemctl list-unit-files|grep enabled
auditd.service                                      enabled 
[email protected]                                     enabled 
avahi-daemon.service                                enabled 
crond.service                                       enabled 

8、開啓端口

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
命令含義:
–zone #作用域
–add-port=80/tcp #添加端口,格式爲:端口/通訊協議
–permanent #永久生效,沒有此參數重啓後失效

9、查看已經開放的端口

[root@localhost ~]#firewall-cmd --list-port
80/tcp

10、屏蔽FirewallD服務

[root@localhost ~]#systemctl mask firewalld
還可以通過創建一個firewall.service到/dev/null的符號連接來屏蔽防火牆服務。

11、反屏蔽FirewallD服務

[root@localhost ~]#systemctl unmask firewalld
這是反屏蔽FirewallD服務,它會移除屏蔽FirewallD服務時創建的符號鏈接,故能重新啓用服務。

12、檢查是否已安裝防火牆

[root@localhost ~]#yum install firewalld firewall-config

13、永久移除端口

#永久移除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#檢查端口是否開啓
#centos7以下使用netstat -ant,7使用ss;80替換爲想要檢查的端口
ss -ant | grep 80

下面說下CentOS7和6的默認防火牆的區別

CentOS 7默認使用的是firewall作爲防火牆,使用iptables必須重新設置一下

1、直接關閉防火牆

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啓動

2、設置 iptables service

yum -y install iptables-services

3、如果要修改防火牆配置,如增加防火牆端口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 #設置防火牆開機啓動

4、最後重啓系統使設置生效即可

systemctl start iptables.service #打開防火牆
systemctl stop iptables.service #關閉防火牆

本文轉自此處https://blog.csdn.net/cool_summer_moon/article/details/78744009

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章