日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
firewalld和iptables使用方法

firewalld和iptables一樣,它們的作用都用于維護規(guī)則,而真正使用規(guī)則干活的是內(nèi)核的netfilter。只不過firewalld和iptables的結果以及使用方法不一樣!,下面詳細講解一下firewalld和iptables使用方法。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設,為客戶提供網(wǎng)站設計制作、網(wǎng)站制作、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),高端網(wǎng)站設計,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

防火墻

防火墻是一組規(guī)則。當數(shù)據(jù)包進出受保護的網(wǎng)絡區(qū)域時,進出內(nèi)容(特別是關于其來源、目標和使用的協(xié)議等信息)會根據(jù)防火墻規(guī)則進行檢測,以確定是否允許其通過。下面是一個簡單的例子:

防火墻可以根據(jù)協(xié)議或基于目標的規(guī)則過濾請求。

一方面,iptables是 Linux 機器上管理防火墻規(guī)則的工具。

另一方面,firewalld也是 Linux 機器上管理防火墻規(guī)則的工具。

好吧,我承認整件事確實有點好笑,所以讓我來解釋一下。這一切都從 Netfilter 開始,它在 Linux 內(nèi)核模塊級別控制訪問網(wǎng)絡棧。幾十年來,管理 Netfilter 鉤子的主要命令行工具是 iptables 規(guī)則集。

因為調(diào)用這些規(guī)則所需的語法看起來有點晦澀難懂,所以各種用戶友好的實現(xiàn)方式,如 ufw和 firewalld 被引入,作為更高級別的 Netfilter 解釋器。然而,ufw 和 firewalld 主要是為解決單獨的計算機所面臨的各種問題而設計的。構建全方面的網(wǎng)絡解決方案通常需要 iptables,或者從 2014 年起,它的替代品 nftables (nft 命令行工具)。

iptables 沒有消失,仍然被廣泛使用著。事實上,在未來的許多年里,作為一名管理員,你應該會使用 iptables 來保護的網(wǎng)絡。但是 nftables 通過操作經(jīng)典的 Netfilter 工具集帶來了一些重要的嶄新的功能。

從現(xiàn)在開始,我將通過示例展示 firewalld 和 iptables 如何解決簡單的連接問題。

使用 firewalld 配置 HTTP 訪問

正如你能從它的名字中猜到的,firewalld 是systemd家族的一部分。firewalld 可以安裝在 Debian/Ubuntu 機器上,不過,它默認安裝在 RedHat 和 CentOS 上。如果您的計算機上運行著像 Apache 這樣的 web 服務器,您可以通過瀏覽服務器的 web 根目錄來確認防火墻是否正在工作。如果網(wǎng)站不可訪問,那么 firewalld 正在工作。

你可以使用firewall-cmd工具從命令行管理 firewalld 設置。添加–state參數(shù)將返回當前防火墻的狀態(tài):

# firewall-cmd --state
running

默認情況下,firewalld 處于運行狀態(tài),并拒絕所有傳入流量,但有幾個例外,如 SSH。這意味著你的網(wǎng)站不會有太多的訪問者,這無疑會為你節(jié)省大量的數(shù)據(jù)傳輸成本。然而,這不是你對 web 服務器的要求,你希望打開 HTTP 和 HTTPS 端口,按照慣例,這兩個端口分別被指定為 80 和 443。firewalld 提供了兩種方法來實現(xiàn)這個功能。一個是通過–add-port參數(shù),該參數(shù)直接引用端口號及其將使用的網(wǎng)絡協(xié)議(在本例中為TCP)。 另外一個是通過–permanent參數(shù),它告訴 firewalld 在每次服務器啟動時加載此規(guī)則:

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --permanent --add-port=443/tcp

–reload 參數(shù)將這些規(guī)則應用于當前會話:

# firewall-cmd --reload

查看當前防火墻上的設置,運行–list-services:

# firewall-cmd --list-services
dhcpv6-client http https ssh

假設您已經(jīng)如前所述添加了瀏覽器訪問,那么 HTTP、HTTPS 和 SSH 端口現(xiàn)在都應該是和dhcpv6-client一樣開放的 —— 它允許 Linux 從本地 DHCP 服務器請求 IPv6 IP 地址。

使用 iptables 配置鎖定的客戶信息亭

我相信你已經(jīng)看到了信息亭——它們是放在機場、圖書館和商務場所的盒子里的平板電腦、觸摸屏和 ATM 類電腦,邀請顧客和路人瀏覽內(nèi)容。大多數(shù)信息亭的問題是,你通常不希望用戶像在自己家一樣,把他們當成自己的設備。它們通常不是用來瀏覽、觀看 YouTube 視頻或對五角大樓發(fā)起拒絕服務攻擊的。因此,為了確保它們沒有被濫用,你需要鎖定它們。

一種方法是應用某種信息亭模式,無論是通過巧妙使用 Linux 顯示管理器還是控制在瀏覽器級別。但是為了確保你已經(jīng)堵塞了所有的漏洞,你可能還想通過防火墻添加一些硬性的網(wǎng)絡控制。在下一節(jié)中,我將講解如何使用iptables 來完成。

關于使用 iptables,有兩件重要的事情需要記?。耗憬o出的規(guī)則的順序非常關鍵;iptables 規(guī)則本身在重新啟動后將無法保持。我會一次一個地在解釋這些。

信息亭項目

為了說明這一切,讓我們想象一下,我們?yōu)橐患颐麨?BigMart 的大型連鎖商店工作。它們已經(jīng)存在了幾十年;事實上,我們想象中的祖父母可能是在那里購物并長大的。但是如今,BigMart 公司總部的人可能只是在數(shù)著亞馬遜將他們永遠趕下去的時間。

盡管如此,BigMart 的 IT 部門正在盡他們最大努力提供解決方案,他們向你發(fā)放了一些具有 WiFi 功能信息亭設備,你在整個商店的戰(zhàn)略位置使用這些設備。其想法是,登錄到 BigMart.com 產(chǎn)品頁面,允許查找商品特征、過道位置和庫存水平。信息亭還允許進入 bigmart-data.com,那里儲存著許多圖像和視頻媒體信息。

除此之外,您還需要允許下載軟件包更新。最后,您還希望只允許從本地工作站訪問 SSH,并阻止其他人登錄。下圖說明了它將如何工作:

*信息亭業(yè)務流由 iptables 控制。 *

腳本

以下是 Bash 腳本內(nèi)容:

#!/bin/bash
iptables -A OUTPUT -p tcp -d bigmart.com -j ACCEPT
iptables -A OUTPUT -p tcp -d bigmart-data.com -j ACCEPT
iptables -A OUTPUT -p tcp -d ubuntu.com -j ACCEPT
iptables -A OUTPUT -p tcp -d ca.archive.ubuntu.com -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP
iptables -A OUTPUT -p tcp --dport 443 -j DROP
iptables -A INPUT -p tcp -s 10.0.3.1 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP

我們從基本規(guī)則 -A 開始分析,它告訴 iptables 我們要添加規(guī)則。OUTPUT 意味著這條規(guī)則應該成為輸出鏈的一部分。-p 表示該規(guī)則僅使用 TCP 協(xié)議的數(shù)據(jù)包,正如 -d 告訴我們的,目的地址是 bigmart.com。-j 參數(shù)的作用是當數(shù)據(jù)包符合規(guī)則時要采取的操作是 ACCEPT。第一條規(guī)則表示允許(或接受)請求。但,往下的規(guī)則你能看到丟棄(或拒絕)的請求。

規(guī)則順序是很重要的。因為 iptables 會對一個請求遍歷每個規(guī)則,直到遇到匹配的規(guī)則。一個向外發(fā)出的瀏覽器請求,比如訪問 bigmart.com 是會通過的,因為這個請求匹配第一條規(guī)則,但是當它到達 dport 80 或 dport 443 規(guī)則時——取決于是 HTTP 還是 HTTPS 請求——它將被丟棄。當遇到匹配時,iptables 不再繼續(xù)往下檢查了。

另一方面,向 ubuntu.com 發(fā)出軟件升級的系統(tǒng)請求,只要符合其適當?shù)囊?guī)則,就會通過。顯然,我們在這里做的是,只允許向我們的 BigMart 或 Ubuntu 發(fā)送 HTTP 或 HTTPS 請求,而不允許向其他目的地發(fā)送。

最后兩條規(guī)則將處理 SSH 請求。因為它不使用端口 80 或 443 端口,而是使用 22 端口,所以之前的兩個丟棄規(guī)則不會拒絕它。在這種情況下,來自我的工作站的登錄請求將被接受,但是對其他任何地方的請求將被拒絕。這一點很重要:確保用于端口 22 規(guī)則的 IP 地址與您用來登錄的機器的地址相匹配——如果不這樣做,將立即被鎖定。當然,這沒什么大不了的,因為按照目前的配置方式,只需重啟服務器,iptables 規(guī)則就會全部丟失。如果使用 LXC 容器作為服務器并從 LXC 主機登錄,則使用主機 IP 地址連接容器,而不是其公共地址。

如果機器的 IP 發(fā)生變化,請記住更新這個規(guī)則;否則,你會被拒絕訪問。

在家玩(是在某種一次性虛擬機上)?太好了。創(chuàng)建自己的腳本。現(xiàn)在我可以保存腳本,使用 chmod 使其可執(zhí)行,并以 sudo 的形式運行它。不要擔心“igmart-data.com 沒找到”之類的錯誤 —— 當然沒找到;它不存在。

chmod +X scriptname.sh
sudo ./scriptname.sh

你可以使用 cURL 命令行測試防火墻。請求 ubuntu.com 奏效,但請求manning.com是失敗的

curl ubuntu.com
curl manning.com

配置 iptables 以在系統(tǒng)啟動時加載

現(xiàn)在,我如何讓這些規(guī)則在每次信息亭啟動時自動加載?第一步是將當前規(guī)則保存。使用 iptables-save 工具保存規(guī)則文件。這將在根目錄中創(chuàng)建一個包含規(guī)則列表的文件。管道后面跟著 tee 命令,是將我的sudo 權限應用于字符串的第二部分:將文件實際保存到否則受限的根目錄。

然后我可以告訴系統(tǒng)每次啟動時運行一個相關的工具,叫做 iptables-restore 。我們在上一章節(jié)(LCTT 譯注:指作者的書)中看到的常規(guī) cron 任務并不適用,因為它們在設定的時間運行,但是我們不知道什么時候我們的計算機可能會決定崩潰和重啟。

有許多方法來處理這個問題。這里有一個:

在我的 Linux 機器上,我將安裝一個名為anacron的程序,該程序將在 /etc/ 目錄中為我們提供一個名為 anacrontab 的文件。我將編輯該文件并添加這個 iptables-restore 命令,告訴它加載那個 .rule 文件的當前內(nèi)容。當引導后,規(guī)則每天(必要時)01:01 時加載到 iptables 中(LCTT 譯注:anacron 會補充執(zhí)行由于機器沒有運行而錯過的 cron 任務,因此,即便 01:01 時機器沒有啟動,也會在機器啟動會盡快執(zhí)行該任務)。我會給該任務一個標識符(iptables-restore),然后添加命令本身。如果你在家和我一起這樣,你應該通過重啟系統(tǒng)來測試一下。

sudo iptables-save | sudo tee /root/my.active.firewall.rules
sudo apt install anacron
sudo nano /etc/anacrontab
1 1 iptables-restore iptables-restore 

我希望這些實際例子已經(jīng)說明了如何使用 iptables 和 firewalld 來管理基于 Linux 的防火墻上的連接問題。


當前文章:firewalld和iptables使用方法
文章轉載:http://www.5511xx.com/article/dhdspic.html