這篇文章主要講解了“l(fā)inux7防火墻的基本使用及詳解”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux7防火墻的基本使用及詳解”吧!
1、firewalld的基本使用
啟動(dòng): systemctl start firewalld
查看狀態(tài): systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
2.systemctl是CentOS7的服務(wù)管理工具中主要的工具,它融合之前service和chkconfig的功能于一體。
啟動(dòng)一個(gè)服務(wù):systemctl start firewalld.service
關(guān)閉一個(gè)服務(wù):systemctl stop firewalld.service
重啟一個(gè)服務(wù):systemctl restart firewalld.service
顯示一個(gè)服務(wù)的狀態(tài):systemctl status firewalld.service
在開機(jī)時(shí)啟用一個(gè)服務(wù):systemctl enable firewalld.service
在開機(jī)時(shí)禁用一個(gè)服務(wù):systemctl disable firewalld.service
查看服務(wù)是否開機(jī)啟動(dòng):systemctl is-enabled firewalld.service
查看已啟動(dòng)的服務(wù)列表:systemctl list-unit-files|grep enabled
查看啟動(dòng)失敗的服務(wù)列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看幫助: firewall-cmd --help
顯示狀態(tài): firewall-cmd --state
查看所有打開的端口: firewall-cmd --zone=public --list-ports
更新防火墻規(guī)則: firewall-cmd --reload
查看區(qū)域信息: firewall-cmd --get-active-zones
查看指定接口所屬區(qū)域: firewall-cmd --get-zone-of-interface=eth0
拒絕所有包:firewall-cmd --panic-on
取消拒絕狀態(tài): firewall-cmd --panic-off
查看是否拒絕: firewall-cmd --query-panic
那怎么開啟一個(gè)端口呢
添加
firewall-cmd
代碼如下 | 復(fù)制代碼 |
應(yīng)急模式在 0.3.0 版本中發(fā)生了變化 在 0.3.0 之前的 FirewallD版本中, panic 選項(xiàng)是 –enable-panic 與 –disable-panic. |
查詢應(yīng)急模式
firewall-cmd --query-panic
此命令返回應(yīng)急模式的狀態(tài),沒有輸出。可以使用以下方式獲得狀態(tài)輸出:
firewall-cmd --query-panic && echo "On" || echo "Off"
處理運(yùn)行時(shí)區(qū)域
運(yùn)行時(shí)模式下對(duì)區(qū)域進(jìn)行的修改不是永久有效的。重新加載或者重啟后修改將失效。
啟用區(qū)域中的一種服務(wù)
firewall-cmd [--zone=<zone>] --add-service=<service> [--timeout=<seconds>]
此舉啟用區(qū)域中的一種服務(wù)。如果未指定區(qū)域,將使用默認(rèn)區(qū)域。如果設(shè)定了超時(shí)時(shí)間,服務(wù)將只啟用特定秒數(shù)。如果服務(wù)已經(jīng)活躍,將不會(huì)有任何警告信息。
例: 使區(qū)域中的ipp-client服務(wù)生效60秒:
firewall-cmd --zone=home --add-service=ipp-client --timeout=60
例: 啟用默認(rèn)區(qū)域中的http服務(wù):
firewall-cmd --add-service=http
禁用區(qū)域中的某種服務(wù)
firewall-cmd [--zone=<zone>] --remove-service=<service>
此舉禁用區(qū)域中的某種服務(wù)。如果未指定區(qū)域,將使用默認(rèn)區(qū)域。
例: 禁止home區(qū)域中的http服務(wù):
firewall-cmd --zone=home --remove-service=http
區(qū)域種的服務(wù)將被禁用。如果服務(wù)沒有啟用,將不會(huì)有任何警告信息。
查詢區(qū)域中是否啟用了特定服務(wù)
firewall-cmd [--zone=<zone>] --query-service=<service>
如果服務(wù)啟用,將返回1,否則返回0。沒有輸出信息。
啟用區(qū)域端口和協(xié)議組合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此舉將啟用端口和協(xié)議的組合。端口可以是一個(gè)單獨(dú)的端口 <port> 或者是一個(gè)端口范圍 <port>-<port> 。協(xié)議可以是 tcp 或 udp。
禁用端口和協(xié)議組合
firewall-cmd [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
查詢區(qū)域中是否啟用了端口和協(xié)議組合
firewall-cmd [--zone=<zone>] --query-port=<port>[-<port>]/<protocol>
如果啟用,此命令將有返回值。沒有輸出信息。
啟用區(qū)域中的IP偽裝功能
firewall-cmd [--zone=<zone>] --add-masquerade
此舉啟用區(qū)域的偽裝功能。私有網(wǎng)絡(luò)的地址將被隱藏并映射到一個(gè)公有IP。這是地址轉(zhuǎn)換的一種形式,常用于路由。由于內(nèi)核的限制,偽裝功能僅可用于IPv4。
禁用區(qū)域中的IP偽裝
firewall-cmd [--zone=<zone>] --remove-masquerade
查詢區(qū)域的偽裝狀態(tài)
firewall-cmd [--zone=<zone>] --query-masquerade
如果啟用,此命令將有返回值。沒有輸出信息。
啟用區(qū)域的ICMP阻塞功能
firewall-cmd [--zone=<zone>] --add-icmp-block=<icmptype>
此舉將啟用選中的Internet控制報(bào)文協(xié)議(ICMP)報(bào)文進(jìn)行阻塞。ICMP報(bào)文可以是請(qǐng)求信息或者創(chuàng)建的應(yīng)答報(bào)文,以及錯(cuò)誤應(yīng)答。
禁止區(qū)域的ICMP阻塞功能
firewall-cmd [--zone=<zone>] --remove-icmp-block=<icmptype>
查詢區(qū)域的ICMP阻塞功能
firewall-cmd [--zone=<zone>] --query-icmp-block=<icmptype>
如果啟用,此命令將有返回值。沒有輸出信息。
例: 阻塞區(qū)域的響應(yīng)應(yīng)答報(bào)文:
firewall-cmd --zone=public --add-icmp-block=echo-reply
在區(qū)域中啟用端口轉(zhuǎn)發(fā)或映射
firewall-cmd [--zone=<zone>] --add-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
端口可以映射到另一臺(tái)主機(jī)的同一端口,也可以是同一主機(jī)或另一主機(jī)的不同端口。端口號(hào)可以是一個(gè)單獨(dú)的端口 <port> 或者是端口范圍 <port>-<port> 。協(xié)議可以為 tcp 或udp 。目標(biāo)端口可以是端口號(hào) <port> 或者是端口范圍 <port>-<port> 。目標(biāo)地址可以是 IPv4 地址。受內(nèi)核限制,端口轉(zhuǎn)發(fā)功能僅可用于IPv4。
禁止區(qū)域的端口轉(zhuǎn)發(fā)或者端口映射
firewall-cmd [--zone=<zone>] --remove-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
查詢區(qū)域的端口轉(zhuǎn)發(fā)或者端口映射
firewall-cmd [--zone=<zone>] --query-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
如果啟用,此命令將有返回值。沒有輸出信息。
例: 將區(qū)域home的ssh轉(zhuǎn)發(fā)到127.0.0.2
firewall-cmd --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
處理永久區(qū)域
永久選項(xiàng)不直接影響運(yùn)行時(shí)的狀態(tài)。這些選項(xiàng)僅在重載或者重啟服務(wù)時(shí)可用。為了使用運(yùn)行時(shí)和永久設(shè)置,需要分別設(shè)置兩者。 選項(xiàng) –permanent 需要是永久設(shè)置的第一個(gè)參數(shù)。
獲取永久選項(xiàng)所支持的服務(wù)
firewall-cmd --permanent --get-services
獲取永久選項(xiàng)所支持的ICMP類型列表
firewall-cmd --permanent --get-icmptypes
獲取支持的永久區(qū)域
firewall-cmd --permanent --get-zones
啟用區(qū)域中的服務(wù)
firewall-cmd --permanent [--zone=<zone>] --add-service=<service>
此舉將永久啟用區(qū)域中的服務(wù)。如果未指定區(qū)域,將使用默認(rèn)區(qū)域。
禁用區(qū)域中的一種服務(wù)
firewall-cmd --permanent [--zone=<zone>] --remove-service=<service>
查詢區(qū)域中的服務(wù)是否啟用
firewall-cmd --permanent [--zone=<zone>] --query-service=<service>
如果服務(wù)啟用,此命令將有返回值。此命令沒有輸出信息。
例: 永久啟用 home 區(qū)域中的 ipp-client 服務(wù)
firewall-cmd --permanent --zone=home --add-service=ipp-client
永久啟用區(qū)域中的一個(gè)端口-協(xié)議組合
firewall-cmd --permanent [--zone=<zone>] --add-port=<port>[-<port>]/<protocol>
永久禁用區(qū)域中的一個(gè)端口-協(xié)議組合
firewall-cmd --permanent [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
查詢區(qū)域中的端口-協(xié)議組合是否永久啟用
firewall-cmd --permanent [--zone=<zone>] --query-port=<port>[-<port>]/<protocol>
如果服務(wù)啟用,此命令將有返回值。此命令沒有輸出信息。
例: 永久啟用 home 區(qū)域中的 https (tcp 443) 端口
firewall-cmd --permanent --zone=home --add-port=443/tcp
永久啟用區(qū)域中的偽裝
firewall-cmd --permanent [--zone=<zone>] --add-masquerade
此舉啟用區(qū)域的偽裝功能。私有網(wǎng)絡(luò)的地址將被隱藏并映射到一個(gè)公有IP。這是地址轉(zhuǎn)換的一種形式,常用于路由。由于內(nèi)核的限制,偽裝功能僅可用于IPv4。
永久禁用區(qū)域中的偽裝
firewall-cmd --permanent [--zone=<zone>] --remove-masquerade
查詢區(qū)域中的偽裝的永久狀態(tài)
firewall-cmd --permanent [--zone=<zone>] --query-masquerade
如果服務(wù)啟用,此命令將有返回值。此命令沒有輸出信息。
永久啟用區(qū)域中的ICMP阻塞
firewall-cmd --permanent [--zone=<zone>] --add-icmp-block=<icmptype>
此舉將啟用選中的 Internet 控制報(bào)文協(xié)議 (ICMP) 報(bào)文進(jìn)行阻塞。 ICMP 報(bào)文可以是請(qǐng)求信息或者創(chuàng)建的應(yīng)答報(bào)文或錯(cuò)誤應(yīng)答報(bào)文。
永久禁用區(qū)域中的ICMP阻塞
firewall-cmd --permanent [--zone=<zone>] --remove-icmp-block=<icmptype>
查詢區(qū)域中的ICMP永久狀態(tài)
firewall-cmd --permanent [--zone=<zone>] --query-icmp-block=<icmptype>
如果服務(wù)啟用,此命令將有返回值。此命令沒有輸出信息。
例: 阻塞公共區(qū)域中的響應(yīng)應(yīng)答報(bào)文:
firewall-cmd --permanent --zone=public --add-icmp-block=echo-reply
在區(qū)域中永久啟用端口轉(zhuǎn)發(fā)或映射
firewall-cmd --permanent [--zone=<zone>] --add-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
端口可以映射到另一臺(tái)主機(jī)的同一端口,也可以是同一主機(jī)或另一主機(jī)的不同端口。端口號(hào)可以是一個(gè)單獨(dú)的端口 <port> 或者是端口范圍 <port>-<port> 。協(xié)議可以為 tcp 或udp 。目標(biāo)端口可以是端口號(hào) <port> 或者是端口范圍 <port>-<port> 。目標(biāo)地址可以是 IPv4 地址。受內(nèi)核限制,端口轉(zhuǎn)發(fā)功能僅可用于IPv4。
永久禁止區(qū)域的端口轉(zhuǎn)發(fā)或者端口映射
firewall-cmd --permanent [--zone=<zone>] --remove-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
查詢區(qū)域的端口轉(zhuǎn)發(fā)或者端口映射狀態(tài)
firewall-cmd --permanent [--zone=<zone>] --query-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
如果服務(wù)啟用,此命令將有返回值。此命令沒有輸出信息。
例: 將 home 區(qū)域的 ssh 服務(wù)轉(zhuǎn)發(fā)到 127.0.0.2
firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
直接選項(xiàng)
直接選項(xiàng)主要用于使服務(wù)和應(yīng)用程序能夠增加規(guī)則。 規(guī)則不會(huì)被保存,在重新加載或者重啟之后必須再次提交。傳遞的參數(shù) <args> 與 iptables, ip6tables 以及 ebtables 一致。
選項(xiàng)–direct需要是直接選項(xiàng)的第一個(gè)參數(shù)。
將命令傳遞給防火墻。參數(shù) <args> 可以是 iptables, ip6tables 以及 ebtables 命令行參數(shù)。
firewall-cmd --direct --passthrough { ipv4 | ipv6 | eb } <args>
為表 <table> 增加一個(gè)新鏈 <chain> 。
firewall-cmd --direct --add-chain { ipv4 | ipv6 | eb } <table> <chain>
從表 <table> 中刪除鏈 <chain> 。
firewall-cmd --direct --remove-chain { ipv4 | ipv6 | eb } <table> <chain>
查詢 <chain> 鏈?zhǔn)欠翊嬖谂c表 <table>. 如果是,返回0,否則返回1.
firewall-cmd --direct --query-chain { ipv4 | ipv6 | eb } <table> <chain>
如果啟用,此命令將有返回值。此命令沒有輸出信息。
獲取用空格分隔的表 <table> 中鏈的列表。
firewall-cmd --direct --get-chains { ipv4 | ipv6 | eb } <table>
為表 <table> 增加一條參數(shù)為 <args> 的鏈 <chain> ,優(yōu)先級(jí)設(shè)定為 <priority>。
firewall-cmd --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
從表 <table> 中刪除帶參數(shù) <args> 的鏈 <chain>。
firewall-cmd --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <args>
查詢帶參數(shù) <args> 的鏈 <chain> 是否存在表 <table> 中. 如果是,返回0,否則返回1.
firewall-cmd --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <args>
如果啟用,此命令將有返回值。此命令沒有輸出信息。
獲取表 <table> 中所有增加到鏈 <chain> 的規(guī)則,并用換行分隔。
firewall-cmd --direct --get-rules { ipv4 | ipv6 | eb } <table> <chain>
當(dāng)前的firewalld特性
D-BUS接口
D-BUS 接口提供防火墻狀態(tài)的信息,使防火墻的啟用、停用或查詢?cè)O(shè)置成為可能。
區(qū)域
網(wǎng)絡(luò)或者防火墻區(qū)域定義了連接的可信程度。firewalld 提供了幾種預(yù)定義的區(qū)域。區(qū)域配置選項(xiàng)和通用配置信息可以在firewall.zone(5)的手冊(cè)里查到。
服務(wù)
服務(wù)可以是一系列本讀端口、目的以及附加信息,也可以是服務(wù)啟動(dòng)時(shí)自動(dòng)增加的防火墻助手模塊。預(yù)定義服務(wù)的使用使啟用和禁用對(duì)服務(wù)的訪問變得更加簡(jiǎn)單。服務(wù)配置選項(xiàng)和通用文件信息在 firewalld.service(5) 手冊(cè)里有描述。
ICMP類型
Internet控制報(bào)文協(xié)議 (ICMP) 被用以交換報(bào)文和互聯(lián)網(wǎng)協(xié)議 (IP) 的錯(cuò)誤報(bào)文。在 firewalld 中可以使用 ICMP 類型來限制報(bào)文交換。 ICMP 類型配置選項(xiàng)和通用文件信息可以參閱 firewalld.icmptype(5) 手冊(cè)。
直接接口
直接接口主要用于服務(wù)或者應(yīng)用程序增加特定的防火墻規(guī)則。這些規(guī)則并非永久有效,并且在收到 firewalld 通過 D-Bus 傳遞的啟動(dòng)、重啟、重載信號(hào)后需要重新應(yīng)用。
運(yùn)行時(shí)配置
運(yùn)行時(shí)配置并非永久有效,在重新加載時(shí)可以被恢復(fù),而系統(tǒng)或者服務(wù)重啟、停止時(shí),這些選項(xiàng)將會(huì)丟失。
永久配置
永久配置存儲(chǔ)在配置文件種,每次機(jī)器重啟或者服務(wù)重啟、重新加載時(shí)將自動(dòng)恢復(fù)。
托盤小程序
托盤小程序 firewall-applet 為用戶顯示防火墻狀態(tài)和存在的問題。它也可以用來配置用戶允許修改的設(shè)置。
圖形化配置工具
firewall daemon 主要的配置工具是 firewall-config 。它支持防火墻的所有特性(除了由服務(wù)/應(yīng)用程序增加規(guī)則使用的直接接口)。 管理員也可以用它來改變系統(tǒng)或用戶策略。
命令行客戶端
firewall-cmd是命令行下提供大部分圖形工具配置特性的工具。
對(duì)于ebtables的支持
要滿足libvirt daemon的全部需求,在內(nèi)核 netfilter 級(jí)上防止 ip*tables 和 ebtables 間訪問問題,ebtables 支持是需要的。由于這些命令是訪問相同結(jié)構(gòu)的,因而不能同時(shí)使用。
/usr/lib/firewalld中的默認(rèn)/備用配置
該目錄包含了由 firewalld 提供的默認(rèn)以及備用的 ICMP 類型、服務(wù)、區(qū)域配置。由 firewalld 軟件包提供的這些文件不能被修改,即使修改也會(huì)隨著 firewalld 軟件包的更新被重置。 其他的 ICMP 類型、服務(wù)、區(qū)域配置可以通過軟件包或者創(chuàng)建文件的方式提供。
/etc/firewalld中的系統(tǒng)配置設(shè)置
存儲(chǔ)在此的系統(tǒng)或者用戶配置文件可以是系統(tǒng)管理員通過配置接口定制的,也可以是手動(dòng)定制的。這些文件將重載默認(rèn)配置文件。
為了手動(dòng)修改預(yù)定義的 icmp 類型,區(qū)域或者服務(wù),從默認(rèn)配置目錄將配置拷貝到相應(yīng)的系統(tǒng)配置目錄,然后根據(jù)需求進(jìn)行修改。
如果你加載了有默認(rèn)和備用配置的區(qū)域,在 /etc/firewalld下的對(duì)應(yīng)文件將被重命名為 <file>.old 然后啟用備用配置。
正在開發(fā)的特性
富語(yǔ)言
富語(yǔ)言特性提供了一種不需要了解iptables語(yǔ)法的通過高級(jí)語(yǔ)言配置復(fù)雜 IPv4 和 IPv6 防火墻規(guī)則的機(jī)制。
Fedora 19 提供了帶有 D-Bus 和命令行支持的富語(yǔ)言特性第2個(gè)里程碑版本。第3個(gè)里程碑版本也將提供對(duì)于圖形界面 firewall-config 的支持。
對(duì)于此特性的更多信息,請(qǐng)參閱: firewalld Rich Language
鎖定
鎖定特性為 firewalld 增加了鎖定本地應(yīng)用或者服務(wù)配置的簡(jiǎn)單配置方式。它是一種輕量級(jí)的應(yīng)用程序策略。
Fedora 19 提供了鎖定特性的第二個(gè)里程碑版本,帶有 D-Bus 和命令行支持。第3個(gè)里程碑版本也將提供圖形界面 firewall-config 下的支持。
更多信息請(qǐng)參閱: firewalld Lockdown
永久直接規(guī)則
這項(xiàng)特性處于早期狀態(tài)。它將能夠提供保存直接規(guī)則和直接鏈的功能。通過規(guī)則不屬于該特性。更多關(guān)于直接規(guī)則的信息請(qǐng)參閱Direct options。
從ip*tables和ebtables服務(wù)遷移
這項(xiàng)特性處于早期狀態(tài)。它將盡可能提供由iptables,ip6tables 和 ebtables 服務(wù)配置轉(zhuǎn)換為永久直接規(guī)則的腳本。此特性在由firewalld提供的直接鏈集成方面可能存在局限性。
此特性將需要大量復(fù)雜防火墻配置的遷移測(cè)試。
計(jì)劃和提議功能
防火墻抽象模型
在 ip*tables 和 ebtables 防火墻規(guī)則之上添加抽象層使添加規(guī)則更簡(jiǎn)單和直觀。要抽象層功能強(qiáng)大,但同時(shí)又不能復(fù)雜,并不是一項(xiàng)簡(jiǎn)單的任務(wù)。為此,不得不開發(fā)一種防火墻語(yǔ)言。使防火墻規(guī)則擁有固定的位置,可以查詢端口的訪問狀態(tài)、訪問策略等普通信息和一些其他可能的防火墻特性。
對(duì)于conntrack的支持
要終止禁用特性已確立的連接需要 conntrack 。不過,一些情況下終止連接可能是不好的,如:為建立有限時(shí)間內(nèi)的連續(xù)性外部連接而啟用的防火墻服務(wù)。
用戶交互模型
這是防火墻中用戶或者管理員可以啟用的一種特殊模式。應(yīng)用程序所有要更改防火墻的請(qǐng)求將定向給用戶知曉,以便確認(rèn)和否認(rèn)。為一個(gè)連接的授權(quán)設(shè)置一個(gè)時(shí)間限制并限制其所連主機(jī)、網(wǎng)絡(luò)或連接是可行的。配置可以保存以便將來不需通知便可應(yīng)用相同行為。 該模式的另一個(gè)特性是管理和應(yīng)用程序發(fā)起的請(qǐng)求具有相同功能的預(yù)選服務(wù)和端口的外部鏈接嘗試。服務(wù)和端口的限制也會(huì)限制發(fā)送給用戶的請(qǐng)求數(shù)量。
用戶策略支持
管理員可以規(guī)定哪些用戶可以使用用戶交互模式和限制防火墻可用特性。
端口元數(shù)據(jù)信息(由 Lennart Poettering 提議)
擁有一個(gè)端口獨(dú)立的元數(shù)據(jù)信息是很好的。當(dāng)前對(duì) /etc/services 的端口和協(xié)議靜態(tài)分配模型不是個(gè)好的解決方案,也沒有反映當(dāng)前使用情況。應(yīng)用程序或服務(wù)的端口是動(dòng)態(tài)的,因而端口本身并不能描述使用情況。
元數(shù)據(jù)信息可以用來為防火墻制定簡(jiǎn)單的規(guī)則。下面是一些例子:
允許外部訪問文件共享應(yīng)用程序或服務(wù)
允許外部訪問音樂共享應(yīng)用程序或服務(wù)
允許外部訪問全部共享應(yīng)用程序或服務(wù)
允許外部訪問 torrent 文件共享應(yīng)用程序或服務(wù)
允許外部訪問 http 網(wǎng)絡(luò)服務(wù)
這里的元數(shù)據(jù)信息不只有特定應(yīng)用程序,還可以是一組使用情況。例如:組“全部共享”或者組“文件共享”可以對(duì)應(yīng)于全部共享或文件共享程序(如:torrent 文件共享)。這些只是例子,因而,可能并沒有實(shí)際用處。
這里是在防火墻中獲取元數(shù)據(jù)信息的兩種可能途徑:
第一種是添加到 netfilter (內(nèi)核空間)。好處是每個(gè)人都可以使用它,但也有一定使用限制。還要考慮用戶或系統(tǒng)空間的具體信息,所有這些都需要在內(nèi)核層面實(shí)現(xiàn)。
第二種是添加到 firewall daemon 中。這些抽象的規(guī)則可以和具體信息(如:網(wǎng)絡(luò)連接可信級(jí)、作為具體個(gè)人/主機(jī)要分享的用戶描述、管理員禁止完全共享的應(yīng)歸則等)一起使用。
第二種解決方案的好處是不需要為有新的元數(shù)據(jù)組和納入改變(可信級(jí)、用戶偏好或管理員規(guī)則等等)重新編譯內(nèi)核。這些抽象規(guī)則的添加使得 firewall daemon 更加自由。即使是新的安全級(jí)也不需要更新內(nèi)核即可輕松添加。
sysctld
現(xiàn)在仍有 sysctl 設(shè)置沒有正確應(yīng)用。一個(gè)例子是,在 rc.sysinit 正運(yùn)行時(shí),而提供設(shè)置的模塊在啟動(dòng)時(shí)沒有裝載或者重新裝載該模塊時(shí)會(huì)發(fā)生問題。
另一個(gè)例子是 net.ipv4.ip_forward ,防火墻設(shè)置、libvirt 和用戶/管理員更改都需要它。如果有兩個(gè)應(yīng)用程序或守護(hù)進(jìn)程只在需要時(shí)開啟 ip_forwarding ,之后可能其中一個(gè)在不知道的情況下關(guān)掉服務(wù),而另一個(gè)正需要它,此時(shí)就不得不重啟它。
sysctl daemon 可以通過對(duì)設(shè)置使用內(nèi)部計(jì)數(shù)來解決上面的問題。此時(shí),當(dāng)之前請(qǐng)求者不再需要時(shí),它就會(huì)再次回到之前的設(shè)置狀態(tài)或者是直接關(guān)閉它。
防火墻規(guī)則
netfilter 防火墻總是容易受到規(guī)則順序的影響,因?yàn)橐粭l規(guī)則在鏈中沒有固定的位置。在一條規(guī)則之前添加或者刪除規(guī)則都會(huì)改變此規(guī)則的位置。 在靜態(tài)防火墻模型中,改變防火墻就是重建一個(gè)干凈和完善的防火墻設(shè)置,且受限于 system-config-firewall / lokkit 直接支持的功能。也沒有整合其他應(yīng)用程序創(chuàng)建防火墻規(guī)則,且如果自定義規(guī)則文件功能沒在使用 s-c-fw / lokkit 就不知道它們。默認(rèn)鏈通常也沒有安全的方式添加或刪除規(guī)則而不影響其他規(guī)則。
動(dòng)態(tài)防火墻有附加的防火墻功能鏈。這些特殊的鏈按照已定義的順序進(jìn)行調(diào)用,因而向鏈中添加規(guī)則將不會(huì)干擾先前調(diào)用的拒絕和丟棄規(guī)則。從而利于創(chuàng)建更為合理完善的防火墻配置。
下面是一些由守護(hù)進(jìn)程創(chuàng)建的規(guī)則,過濾列表中啟用了在公共區(qū)域?qū)?ssh , mdns 和 ipp-client 的支持:
*filter :INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:FORWARD_ZONES - [0:0]:FORWARD_direct - [0:0]:INPUT_ZONES - [0:0]:INPUT_direct - [0:0]:IN_ZONE_public - [0:0]:IN_ZONE_public_allow - [0:0]:IN_ZONE_public_deny - [0:0]:OUTPUT_direct - [0:0]-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -j INPUT_direct -A INPUT -j INPUT_ZONES -A INPUT -p icmp -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -j FORWARD_direct -A FORWARD -j FORWARD_ZONES -A FORWARD -p icmp -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A OUTPUT -j OUTPUT_direct -A IN_ZONE_public -j IN_ZONE_public_deny -A IN_ZONE_public -j IN_ZONE_public_allow -A IN_ZONE_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT -A IN_ZONE_public_allow -d 224.0.0.251/32 -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT -A IN_ZONE_public_allow -p udp -m udp --dport 631 -m conntrack --ctstate NEW -j ACCEPT
使用 deny/allow 模型來構(gòu)建一個(gè)清晰行為(最好沒有沖突規(guī)則)。例如: ICMP塊將進(jìn)入 IN_ZONE_public_deny 鏈(如果為公共區(qū)域設(shè)置了的話),并將在 IN_ZONE_public_allow 鏈之前處理。
該模型使得在不干擾其他塊的情況下向一個(gè)具體塊添加或刪除規(guī)則而變得更加容易。
感謝各位的閱讀,以上就是“l(fā)inux7防火墻的基本使用及詳解”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)linux7防火墻的基本使用及詳解這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享名稱:linux7防火墻的基本使用及詳解-創(chuàng)新互聯(lián)
分享地址:http://www.rwnh.cn/article30/johso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、軟件開發(fā)、品牌網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容