亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
專案介紹
總的來說,iptables是一個功能強大的工具,用於配置Linux系統(tǒng)上的防火牆和網路位址轉換功能。
首頁 電腦教學 電腦知識 Linux防火牆之-iptables詳解

Linux防火牆之-iptables詳解

Feb 20, 2024 am 11:57 AM
防火牆 iptables 規(guī)則

專案介紹

iptables是Linux系統(tǒng)下的免費套件過濾防火牆軟體,可實現(xiàn)封包過濾、封包重定向和網路位址轉換等功能。它是一個高效且靈活的解決方案,可取代昂貴的商業(yè)防火牆。 iptables具有強大的配置選項和規(guī)則設置,使用戶能夠根據自身需求對網路流量進行精細控制,提高網路安全性和效能。

iptables的規(guī)則其實是指網路管理員預先定義的條件,則規(guī)則一般的定義為「如果封包頭符合這樣的條件,就這樣處理這個封包」。規(guī)則儲存在核心空間的資訊包過濾表中,這些規(guī)則分別指定了來源位址、目的位址、傳輸協(xié)定(如TCP、UDP、ICMP)和服務類型(如HTTP、FTP和SMTP)等。當封包與規(guī)則相符時,iptables會根據規(guī)則所定義的方法來處理這些封包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的主要工作就是新增、修改和刪除這些規(guī)則。

iptables內建了4個表,分別是filter表、nat表、mangle表和raw表,分別用於實現(xiàn)套件過濾、網路位址轉換、套件重構(修改)和資料追蹤處理。而每一條鏈其實只是眾多規(guī)則中的一個檢查清單,每一條鏈中可以有一條或數(shù)條規(guī)則。當一個封包到達一個鏈時,iptables就會從鏈中第一條規(guī)則開始檢查,看該封包是否符合規(guī)則所定義的條件。如果滿足,系統(tǒng)就會根據該條規(guī)則所定義的方法處理該封包;否則iptables將繼續(xù)檢查下一條規(guī)則。如果該封包不符合鏈中任一條規(guī)則,iptables就會根據該鏈預先定義的預設策略來處理封包。

總的來說,iptables是一個功能強大的工具,用於配置Linux系統(tǒng)上的防火牆和網路位址轉換功能。

Linux防火牆之-iptables詳解

#替換系統(tǒng)防火牆:?在Centos7系統(tǒng)中預設防火牆管理工具不是iptables,當需要使用時則需要自行安裝替換.

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# yum install -y iptables iptables-services

[root@localhost ~]# systemctl restart iptables
[root@localhost ~]# systemctl enable iptables

查詢完整防火牆規(guī)則:?使用 -L -n –line-numbers 參數(shù)檢視防火牆預設設定規(guī)則.

[root@localhost ~]# iptables -L -n --line-numbers
[root@localhost ~]# iptables -F # 臨時清空規(guī)則
Chain INPUT (policy ACCEPT)
numtarget prot opt source destination 
1ACCEPT all--0.0.0.0/00.0.0.0/0state RELATED,ESTABLISHED
2ACCEPT icmp --0.0.0.0/00.0.0.0/0 
3ACCEPT all--0.0.0.0/00.0.0.0/0 
4ACCEPT tcp--0.0.0.0/00.0.0.0/0state NEW tcp dpt:22
5REJECT all--0.0.0.0/00.0.0.0/0reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
numtarget prot opt source destination 
1REJECT all--0.0.0.0/00.0.0.0/0reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
numtarget prot opt source destination

設定防火牆預設拒絕:?設定預設拒絕規(guī)則,把 INPUT 鏈設定為預設拒絕,也就是拒絕所有連線請求.

[root@localhost ~]# iptables -P INPUT DROP
[root@localhost ~]# iptables -L -n --line-numbers

Chain INPUT (policy DROP) #這里可以看出INPUT鏈已變成DROP
numtarget prot opt source destination 

Chain FORWARD (policy ACCEPT)
numtarget prot opt source destination 

Chain OUTPUT (policy ACCEPT)
numtarget prot opt source destination

開啟防火牆ICMP回顯:?在預設規(guī)則拒絕的情況下,設定開啟ICMP測試,允許主機ping通.

[root@localhost ~]# iptables -I INPUT -p icmp -j ACCEPT
[root@localhost ~]# iptables -L -n --line-numbers

Chain INPUT (policy DROP)
numtarget prot opt source destination 
1ACCEPT icmp --0.0.0.0/00.0.0.0/0 

Chain FORWARD (policy ACCEPT)
numtarget prot opt source destination 

Chain OUTPUT (policy ACCEPT)
numtarget prot opt source destination

允許客戶SSH遠端連線:?在預設拒絕的情況下,設定開啟22號連接埠,允許遠端ssh連線至本機.

[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -j ACCEPT
[root@localhost ~]# iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT

[root@localhost ~]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
numtarget prot opt source destination 
1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22
Chain OUTPUT (policy ACCEPT)
numtarget prot opt source destination 
1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp spt:22

刪除指定規(guī)則:?在預設拒絕的情況下,刪除INPUT鏈,第2條資料,刪除ICMP規(guī)則.

[root@localhost ~]# iptables -L -n --line-numbers
Chain INPUT (policy DROP)
numtarget prot opt source destination 
1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22
2ACCEPT icmp --0.0.0.0/00.0.0.0/0 

[root@localhost ~]# iptables -D INPUT 2
[root@localhost ~]# iptables -L -n --line-numbers
Chain INPUT (policy DROP)
numtarget prot opt source destination 
1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22

指定允許網段存取:?在預設拒絕的情況下,設定只允許192.168.1.0/24網段的主機存取本機的22號連接埠.

[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
[root@localhost ~]# iptables -I OUTPUT -s 192.168.1.0/24 -p tcp --sport 22 -j ACCEPT
[root@localhost ~]# iptables -L -n --line-numbers

Chain INPUT (policy DROP)
numtarget prot opt source destination 
1ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22

Chain OUTPUT (policy ACCEPT)
numtarget prot opt source destination 
1ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp spt:22

拒絕存取指定連接埠:?在INPUT規(guī)則鏈中,新增拒絕所有人存取本機的8888號連接埠.

[root@localhost ~]# iptables -I INPUT -p tcp --dport 8888 -j REJECT
[root@localhost ~]# iptables -L -n --line-numbers
Chain INPUT (policy DROP)
numtarget prot opt source destination 
1REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable
2ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22

拒絕存取指定主機網段的連接埠:?在INPUT規(guī)則鏈中,新增拒絕192.168.1.20主機存取本機的80埠.

[root@localhost ~]# iptables -I INPUT -p tcp -s 192.168.1.20 --dport 80 -j REJECT
[root@localhost ~]# iptables -L -n --line-numbers

Chain INPUT (policy DROP)
numtarget prot opt source destination 
1REJECT tcp--192.168.1.20 0.0.0.0/0tcp dpt:80 reject-with icmp-port-unreachable
2REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable
3ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22

拒絕存取指定連接埠範圍:?在INPUT規(guī)則鏈中,新增拒絕所有主機存取本機1000-2000連接埠.

[root@localhost ~]# iptables -A INPUT -p tcp --dport 1000:2000 -j REJECT
[root@localhost ~]# iptables -A INPUT -p udp --dport 1000:2000 -j REJECT
[root@localhost ~]# iptables -L -n --line-numbers

Chain INPUT (policy DROP)
numtarget prot opt source destination 
1REJECT tcp--192.168.1.20 0.0.0.0/0tcp dpt:80 reject-with icmp-port-unreachable
2REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable
3ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22
4REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpts:1000:2000 reject-with icmp-port-unreachable
5REJECT udp--0.0.0.0/00.0.0.0/0udp dpts:1000:2000 reject-with icmp-port-unreachable

SNAT-來源位址轉換<內網對應到公網>:?從本地發(fā)出的封包,經過SNAT後,會自動偽裝成公網的IP,並以公網IP存取指定服務.

#例:將本地 192.168.1.1 的請求自動偽裝成外網地址 59.110.167.234
[root@localhost ~]# iptables -t nat -A POSTROUTING -o ens32 -s 192.168.1.1 -j SNAT --to-source 59.110.167.234

-o#指定外網接口,此處為ens32
-s#指定內網口地址,此處為192.168.1.1
--to-source #外網口的地址

DNAT-目標位址轉換<公網對應到內網>:?從公網接收的封包,經過DNAT後,會自動將封包轉到指定的內網主機.

#例:將請求 59.110.167.234 且端口為 80 的數(shù)據包,自動映射到內網 192.168.1.10
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens32 -d 59.110.167.234 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10

--to-destination #內網口地址,此處為192.168.1.1
-i #綁定外網接口,此處為ens32
-d #外網地址,此處為8.8.8.8
-dport #內網端口,此處為80

限制實體請求連線數(shù):?iptables可以利用connlimit模組實作限制相同IP針對某個連接埠的連線數(shù). 允許限制每個客戶端IP的並發(fā)連線數(shù),即每個IP同時連線到一個伺服器個數(shù),也可以限制內網用戶的網路使用,對伺服器而言則可以限制每個IP發(fā)起的連線數(shù).

# 限制同一IP同時最多100個http連接
[root@localhost ~]# iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT
[root@localhost ~]# iptables -I INPUT -p tcp --syn --dport 80 -m connlimit ! --connlimit-above 100 -j ACCEPT

# 只允許每組C類IP同時100個http連接
[root@localhost ~]# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 --connlimit-mask 24 -j REJECT

# 只允許每個IP同時5個80端口轉發(fā),超過的丟棄
[root@localhost ~]# iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP

# 限制某IP最多同時100個http連接
[root@localhost ~]# iptables -A INPUT -s 192.168.1.100 -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

# 限制每IP在一定的時間(比如60秒)內允許新建立最多100個http連接數(shù)
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 100 -j REJECT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT

設定基本防火牆規(guī)則:?我們可以在新安裝的系統(tǒng)中依序執(zhí)行下方程式碼,來設定一個基本的防火牆規(guī)則.

# 刪除已有規(guī)則
iptables --delete-chain
iptables --flush

# 默認禁止進,允許出,允許回環(huán)網卡
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# 允許已建立的或相關連接的通行
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 限制80端口443端口的單個IP的最大連接數(shù)為10
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
iptables -I INPUT -p tcp --dport 443 -m connlimit --connlimit-above 10 -j DROP

# 允許80(HTTP)/873(RSYNC)/443(HTTPS)/20,21(FTP)/25(SMTP)端口的連接
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT

# 允許SSH端口的連接,放行SSH端口
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

# 允許ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

# 放行允許DNS解析端口
iptables -A OUTPUT -p udp -m udp -d 8.8.8.8 --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp -d 114.114.114.114 --dport 53 -j ACCEPT

# 保存規(guī)則
iptables-save

生產常用設定規(guī)則:?下面是收藏的一些生成環(huán)境下常用規(guī)則的配置,一般情況下配置這些規(guī)則足夠使用.

 filter -P INPUT DROP #設置默認規(guī)則,拒絕所有
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT#放行80口
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT #放行22口
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT#放行22口

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT#放行80端口
iptables -t filter -I INPUT -p tcp --dport 443-j ACCEPT#插入在頂端一條放行443端口的規(guī)則
iptables -t filter -I INPUT 2 -p tcp --dport 443 -j ACCEPT #在第二列插入一條443放行規(guī)則
iptables -t filter -A INPUT -p tcp --dport 80 -j DROP#丟棄80端口的請求
iptables -I INPUT 2 -p icmp -j DROP#丟棄ICMP請求
iptables -t filter -D INPUT 3#刪除第三條規(guī)則

iptables -A FORWARD -s 192.168.1.10 -j REJECT#拒絕IP的轉發(fā)請求
iptables -I INPUT -s 10.20.30.0/24 -j DROP #丟棄IP網段的入站請求
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP#丟棄從eth1網卡流入,且地址匹配的數(shù)據包
iptables -A INPUT -o eth0 -s 192.168.1.0/24 -j DROP#丟棄從eth0網卡流出,且地址匹配的數(shù)據包
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT #放行20-21端口的數(shù)據包

iptables -I INPUT -p tcp -m multiport --dport 80-90,85 -j ACCEPT
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.10-192.168.1.100 -j ACCEPT

以上是Linux防火牆之-iptables詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權的內容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Edge瀏覽器被防火牆封鎖了怎麼解決? Edge瀏覽器被防火牆封鎖了怎麼解決? Mar 13, 2024 pm 07:10 PM

  Edge瀏覽器被防火牆阻止了怎麼解決? Edge瀏覽器是微軟自帶的瀏覽器,有一部分用戶在使用的過程中發(fā)現(xiàn)這款瀏覽器被防火牆攔截了,那麼這是怎麼回事?以下就讓本站來為用戶們來仔細的介紹一下Edge瀏覽器被防火牆阻止了怎麼恢復吧。  Edge瀏覽器被防火牆阻止了怎麼恢復?  1、檢查防火牆設定:  -點選Windows工作列上的「開始」按鈕,然後開啟「設定」?! ?在「設定」視窗中,選擇「更新與安全性」。  -在

win11防火牆進階設定灰色解決方法 win11防火牆進階設定灰色解決方法 Dec 24, 2023 pm 07:53 PM

很多朋友在設定防火牆的時候,發(fā)現(xiàn)自己的win11防火牆高級設定灰色了,無法點擊。這可能是由於沒有添加控制單元導致的,也可能是沒有透過正確的方法打開高級設置,下面一起來看看怎麼解決吧。 win11防火牆進階設定灰色方法一:1、先點選下方開始選單,在上方搜尋並開啟「控制臺」2、接著開啟其中的「Windowsdefender防火牆」3、進入後,在左邊欄就可以開啟「進階設定」了。方法二:1、如果上面方法也打不開,可以右鍵“開始選單”,打開“運行”2、然後輸入“mmc”回車確定打開。 3.打開後,點選左上

如何在 Alpine Linux 上啟用或停用防火牆? 如何在 Alpine Linux 上啟用或停用防火牆? Feb 21, 2024 pm 12:45 PM

在AlpineLinux上,你可以使用iptables工具來設定和管理防火牆規(guī)則。以下是在AlpineLinux上啟用或停用防火牆的基本步驟:檢查防火牆狀態(tài):sudoiptables-L如果輸出結果中顯示有規(guī)則(例如,有一些INPUT、OUTPUT或FORWARD規(guī)則),則表示防火牆已啟用。如果輸出結果為空,則表示防火牆目前處於停用狀態(tài)。啟用防火牆:sudoiptables-PINPUTACCEPTsudoiptables-POUTPUTACCEPTsudoiptables-PFORWARDAC

如何移除Win10桌面圖示上的防火牆標誌? 如何移除Win10桌面圖示上的防火牆標誌? Jan 01, 2024 pm 12:21 PM

很多使用win10系統(tǒng)的小伙伴發(fā)現(xiàn),電腦桌面的圖標上有防火牆的標誌,這是什麼情況呢?這讓很多有強迫癥的小伙伴特別難受,其實我們只要打開控制面板,在用戶帳戶中的“更改使用者帳號控制設定」變更就可以解決了,具體的教學一起來看看吧。 win10桌面圖示有防火牆標誌怎麼取消1、首先,透過滑鼠右鍵點選電腦開機畫面旁的開始功能表按鈕,然後從彈出的選單中選取控制面板功能。 2.緊接著選擇其中的「使用者帳戶」選項,從接下來出現(xiàn)的新介面中選擇「更改使用者帳戶控制設定」此項目。 3.調整視窗中的滑桿至底部之後,點選確認退出

如何修復UFW狀態(tài)在Linux中顯示為非活動 如何修復UFW狀態(tài)在Linux中顯示為非活動 Mar 20, 2024 pm 01:50 PM

UFW,又稱Uncomplex防火牆,被許多Linux發(fā)行版採用作為其防火牆系統(tǒng)。 UFW的設計讓新手使用者能夠輕鬆透過命令列介面和圖形使用者介面來管理防火牆設定。 UFW防火牆是一種能根據設定規(guī)則監(jiān)控網路流量的系統(tǒng),以保護網路免受網路嗅探和其他攻擊的影響。如果您在Linux系統(tǒng)上安裝了UFW但其狀態(tài)顯示為非活動狀態(tài),可能有多種原因。在這篇指南中,我將分享如何解決Linux系統(tǒng)上UFW防火牆處於非活動狀態(tài)的問題。為什麼UFW在Linux上顯示不活動狀態(tài)為什麼UFW在Linux上預設不活動如何在Linu

Nginx防火牆中如何避免Web Shell的攻擊 Nginx防火牆中如何避免Web Shell的攻擊 Jun 10, 2023 pm 09:07 PM

隨著Web應用程式的增多,安全性越來越成為一個重要的議題。在這些應用程式中,WebShell是一種常見的安全性威脅。 WebShell是一種可執(zhí)行的Web腳本,可以透過HTTP或其他Web協(xié)定上傳和執(zhí)行。對於攻擊者來說,WebShell是存取Web伺服器並取得敏感資訊的重要方式。 Nginx防火牆是一種流行的Web伺服器軟體,可以用來保護網路應用程式免受攻

什麼是 nftables ? 它與 iptables 的差別是什麼? 什麼是 nftables ? 它與 iptables 的差別是什麼? Jun 09, 2023 pm 09:34 PM

什麼是nftables?它與iptables的差別是什麼?幾乎每個Linux管理員都使用過iptables,它是一個Linux系統(tǒng)的防火牆。但你可能還不太熟悉nftables,這是一個新的防火牆,可為我們提供一些必需的升級,還有可能會取代iptables。為什麼要使用nftables呢? nftables是由Netfilter開發(fā)的,該組織目前維護iptables。 nftables的創(chuàng)建是為了解決iptables的一些效能和擴展問題。除了新的語法和一些升級以外,nftables的功能與iptab

修復:截圖工具中錄製影片不起作用 修復:截圖工具中錄製影片不起作用 Sep 17, 2023 pm 08:09 PM

雖然Windows11中的截圖工具背後的概念很棒,但它的主要功能之一,即錄製視頻,確實令人失望。螢幕錄製功能仍然相對較新,因此可能會因故障而難以通過。儘管如此,讓我們來看看這個問題並嘗試找到解決方案。那麼為什麼截圖工具錄製影片功能不起作用?您可能沒有安裝最新版本的Windows11。截圖工具可能已損壞或損壞。防毒軟體等第三方軟體可能會阻止它錄製您的螢幕。您的電腦沒有足夠的RAM或硬碟空間來儲存螢幕記錄。電腦上的病毒或惡意軟體幹擾了程式的工作方式。如何讓截圖工具在Windows11中錄製我的螢幕

See all articles