1. 程式人生 > >CentOS6/7系列防火墻管理

CentOS6/7系列防火墻管理

wall 防火 狀態 ystemd 1.5 不能訪問 tel onf ble

1.CentOS7系列防火墻

CentOS7默認使用firewall作為防火墻,這裏改為iptables防火墻步驟

firewall-cmd --state 
#查看默認防火墻狀態 
(關閉後顯示 not running ,開啟後 running)

1.1 開啟防火墻

啟動防火墻服務

systemctl start firewalld.service

開機啟動時開啟防火墻服務

systemctl enable firewalld.service

查看防火墻服務是否開機自啟動

systemctl is-enable firewalld.service

查看開機自啟動的服務

systemctl list-unit-files | grep enabled

1.2 檢查防火墻狀態:

從CentOS7開始使用systemctl來管理服務和程序,包括了service和chkconfig.

方法1

[root@elk1 ~]# systemctl list-unit-files | grep firewalld

firewalld.service                             disabled

方法2

[root@elk1 ~]# 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)

1.3 關閉防火墻

關閉當前防火墻

systemctl stop firewalld.service

禁止防火墻開機自啟動

systemctl disabled firewalld.service

1.4 CentOS7 firewall命令管理

看已開放的端口

firewall-cmd --list-ports

開啟端口

firewall-cmd --zone=pulic --add-port=80/tcp --permanent

命令含義:

--zone #作用域

--add-port=80/tcp #添加端口,格式為:通信/通訊協議

--permanent #永久生效,沒有此參數重啟後生效

重啟防火墻

firewall-cmd --reload 
#重啟firewall

查看默認防火墻狀態

firewall-cmd --state

關閉後顯示not running 開啟後 顯示running

1.5 CentOS7 以下版本iptables命令

如果要開放80,22,8080端口,輸入以下命令即可

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

保存

/etc/rc.d/init.d/iptables save

查看打開的端口

/etc/init.d/iptables status

防火墻開機自啟開關

ckconfig iptables on #開機自啟

chkconfig iptables off #開機不啟動

即時生效,重啟後復原

開啟 
service iptables start

關閉 
service iptables stop

查看防火墻狀態

service iptables status

2.CentOS7和6的默認防火墻的區別

CentOS7默認使用的是firewall作為防火墻,使用iptables必須重新設置一下

2.1 直接關閉防火墻

systemctl stop firewalld.service

systemc disabled firewalld.service

2.2 設置iptables service

yum -y install iptables-service

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

解決主機不能訪問虛擬機CentOS的站點

具體情況如下

  1. 本機能ping通虛擬機
  2. 虛擬機也能ping通過本機
  3. 虛擬機能訪問自己的web
  4. 本機無法訪問虛擬機的web

後來發現是防火墻的80端口屏蔽的緣故

檢查是不是服務器的80端口被防火墻堵了,可以通過命令

telnet web_host_ip 80 來測試

解決方法如下:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

然後保存

/etc/init.d/iptables save

重啟防火墻

/etc/init.d/iptables restart

CentOS6/7系列防火墻管理