CentOS6/7系列防火墻管理
阿新 • • 發佈:2018-06-16
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的站點
具體情況如下
- 本機能ping通虛擬機
- 虛擬機也能ping通過本機
- 虛擬機能訪問自己的web
- 本機無法訪問虛擬機的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系列防火墻管理