firewall详解
官方文檔介紹地址:https:
//access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld1
一,防火墻介紹
CentOS 7中防火墻是一個非常的強大的功能,在CentOS 6.5中在iptables防火墻中進行了升級了。
1,官方介紹
動態防火墻守護程序firewalld提供動態管理的防火墻,支持網絡“區域”,以便為網絡及其關聯的連接和接口分配信任級別。它支持IPv4和IPv6防火墻設置。它支持以太網橋,并具有運行時和永久配置選項的分離。它還有一個服務或應用程序接口,可以直接添加防火墻規則。
2,什么是區域區:
網絡區域定義了網絡連接的可信等級。這是一個一對多的關系,這意味著一次連接可以僅僅是一個區域的一部分,而一個區域可以用于很多連接。
3,哪個區域可用?
由firewalld提供的區域按照從不信任到信任的順序排序。
4,區域的分類?
防火墻可用于根據用戶決定放置在設備上的信任級別和該網絡內的流量將網絡分成不同的區域。NetworkManager通知firewalld接口所屬的區域。可以通過NetworkManager或firewall-config工具更改接口的分配區域,該工具可以為您打開相關的NetworkManager窗口。
/ etc / firewalld /中的區域設置是一系列預設設置,可以快速應用于網絡接口。這里列出了它們的簡要說明:
drop
任何傳入的網絡數據包都被丟棄,沒有回復。只能進行傳出網絡連接。
阻止
任何傳入的網絡連接被拒絕,其中包含用于IPv4的icmp-host-prohibited消息和用于IPv6的icmp6-adm-prohibited。只能從系統內啟動網絡連接。
公共
用于公共場所。您不相信網絡上的其他計算機不會損害您的計算機。僅接受選定的傳入連接。
external
用于特別為路由器啟用偽裝的外部網絡。您不相信網絡上的其他計算機不會損害您的計算機。僅接受選定的傳入連接。
dmz
適用于非軍事區中的計算機,這些計算機可公開訪問,并且對內部網絡的訪問權限有限。僅接受選定的傳入連接。
工作
用于工作區域。您最常信任網絡上的其他計算機,以免損害您的計算機。僅接受選定的傳入連接。
home
適用于家庭領域。您最常信任網絡上的其他計算機,以免損害您的計算機。僅接受選定的傳入連接。
內部
用于內部網絡。您最常信任網絡上的其他計算機,以免損害您的計算機。僅接受選定的傳入連接。
trusted
接受所有網絡連接。
可以將這些區域中的一個指定為默認區域。將接口連接添加到NetworkManager時,會將它們分配給默認區域。安裝時,firewalld中的默認區域將設置為公共區域。
注:具體內容,請參見官方文檔介紹!
?
二,防火墻配置
firewalld的配置存儲在/ usr / lib / firewalld /和/ etc / firewalld /中的各種XML文件中。
這樣可以提供很大的靈活性,因為文件可以編輯,編寫,備份,用作其他安裝的模板等。
修改防火墻配置文件之前,需要對之前防火墻做好備份
1. firewall-cmd?--state???????? #查看firewall的狀態 firewall-cmd?--list-all? #查看防火墻規則(只顯示/etc/firewalld/zones/public.xml中防火墻策略) firewall-cmd?--list-all-zones? #查看所有的防火墻策略(即顯示/etc/firewalld/zones/下的所有策略) firewall-cmd?--reload #重新加載配置文件 2、關閉firewall:systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
firewall-cmd --state #查看默認防火墻狀態(關閉后顯示notrunning,開啟后顯示running) 3、firewalld的基本使用 啟動: systemctl start firewalld 查看狀態: systemctl status firewalld? 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 4、systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能于一體。
啟動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啟一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啟用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啟動:systemctl is-enabled firewalld.service
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
查看啟動失敗的服務列表:systemctl --failed
5、配置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 因為在/usr/lib/firewalld/services/中事先定義了ssh.xml的相應的規則轉載于:https://www.cnblogs.com/shawhe/p/11050088.html
總結
以上是生活随笔為你收集整理的firewall详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS基础学习-6.CSS属性_列表、表
- 下一篇: make and run