firewalld和iptables的關系
firewalld自身並不具備防火牆的功能,而是和iptables一樣需要通過內核的netfilter來實現,也就是說firewalld和iptables一樣,他們的作用都是用於維護規則,而真正使用規則干活的是內核的netfilter,只不過firewalld和iptables的結構以及使用方法不一樣罷了。
firewalld的配置模式
firewalld的配置文件以xml格式為主(主配置文件firewalld.conf例外),他們有兩個存儲位置
1、/etc/firewalld/ 用戶配置文件
2、/usr/lib/firewalld/ 系統配置文件,預置文件
我們知道每個zone就是一套規則集,但是有那么多zone,對於一個具體的請求來說應該使用哪個zone(哪套規則)來處理呢?這個問題至關重要,如果這點不弄明白其他的都是空中樓閣,即使規則設置的再好,不知道怎樣用、在哪里用也不行。
對於一個接受到的請求具體使用哪個zone,firewalld是通過三種方法來判斷的:
1、source,也就是源地址 優先級最高
2、interface,接收請求的網卡 優先級第二
3、firewalld.conf中配置的默認zone 優先級最低
https://blog.csdn.net/dream361/article/details/54022470
這三個的優先級按順序依次降低,也就是說如果按照source可以找到就不會再按interface去查找,如果前兩個都找不到才會使用第三個,也就是學生在前面給大家講過的在firewalld.conf中配置的默認zone。
CentOS 7中防火牆是一個非常的強大的功能,在CentOS 6.5中在iptables防火牆中進行了升級了。
一、安裝firewalld
# yum install firewalld firewall-config
二、firewalld服務開啟、關閉、重啟、狀態查看
啟動:# systemctl start firewalld
查看狀態:# systemctl status firewalld 或者 firewall-cmd –state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
重啟:#systemctl restart firewalld
三、開放端口
永久的開放需要的端口
- sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
- sudo firewall-cmd --reload //重載生效剛才的端口設置
參數介紹:
1、firwall-cmd:是Linux提供的操作firewall的一個工具;
2、--permanent:表示設置為持久;
3、--add-port:標識添加的端口;
之后檢查新的規則
- firewall-cmd --list-all //查看防火牆規則,可查到你當前開放的端口信息
firewalld常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
常用命令介紹
firewall-cmd --state
##查看防火牆狀態,是否是running
firewall-cmd --reload
##重新載入配置,比如添加規則之后,需要執行此命令
firewall-cmd --get-zones
##列出支持的zone
firewall-cmd --get-services
##列出支持的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp
##查看ftp服務是否支持,返回yes或者no
firewall-cmd
--add-service=ftp ##臨時開放ftp服務
firewall-cmd
--add-service=ftp --permanent ##永久開放ftp服務
firewall-cmd
--remove-service=ftp --permanent ##永久移除ftp服務
firewall-cmd
--add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n
##查看規則,這個命令是和iptables的相同的
man firewall-cmd
##查看幫助
|