本篇內容主要講解“Ubuntu中怎么使用iptables防火墻”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Ubuntu中怎么使用iptables防火墻”吧!
10年積累的網站設計、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先制作網站后付款的網站建設流程,更有東坡免費網站建設讓你可以放心的選擇與我們合作。
iptables是整合在Linux操作系統中的防火墻軟件,絕大部分Ubuntu發行版都預裝了iptables。在一些非默認安裝的Ubuntu系統或者容器環境中,可能沒有預裝iptables,我們可以通過下面的命令來安裝。
sudo apt-get install iptables iptables-persistent
安裝iptables之后,系統會提示我們是否保存當前防火墻規則。如果我們要設置自己的防火墻規則,這時可以不用保存。
我們可以使用以下工具來檢測端口是否開啟或關閉,用來測試iptables是否生效。
客戶端測試工具(Windows環境):
telnet [服務器IP] [端口號]
服務端測試工具(Linux系統):
sudo netstat -tulpn
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT:添加一個INPUT類型的規則。最常見的規則類型有三種,分別是INPUT、OUTPUT和PREROUTING。
-p tcp:設置這條規則的協議為TCP協議。其他支持的協議還有udp、icmp和all。
-m tcp:使用tcp模塊。iptables通過模塊來擴展功能特性,有些常用模塊是iptables預裝的,比如geoip模塊。
--dport 22:雙橫線--表示為前面使用的模塊的更多選項。在這個示例里,我們設置tcp模塊只應用于22端口。
-m geoip:使用geoip模塊。這個模塊可以控制來自某個國家的網絡請求。
--src-cc PE:這個選項是讓geoip模塊限制從秘魯的網絡請求。PE是秘魯的國家編碼,這里可以替換成其他國家編碼。
-j ACCEPT:告訴iptables對滿足上述條件的請求如何處理。ACCEPT(接受)、ERJECT(拒絕)和DROP(丟棄)是三種常用的處理方式。
查看當前規則:
sudo iptables -L
刪除某條規則(-D表示刪除):
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
清空當前規則
sudo iptables -F
只清空OUTPUT類型的規則:
sudo iptables -F OUTPUT
在eth0接口允許SSH連接:
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
注:如果要應用于所有網絡接口,請刪除-i eth0指令。
允許特定IP進行SSH連接(以10.0.3.1為例):
sudo iptables -A INPUT -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
設置默認規則:
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
說明:
-P INPUT DROP:表示丟棄所有流入請求,即無法訪問云服務器上的任何服務,如Apache、SQL等。
-P FORWARD DROP:表示丟棄所有轉發請求。
-P OUTPUT ACCEPT:表示接受所有流出請求。
接受所有的回環流量(推薦設置):
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT
使用以下命令保存并加載iptables規則:
sudo netfilter-persistent save sudo netfilter-persistent reload
在容器環境中,上面的netfilter-persistent很可能無法生效,需要重新設置一下iptables。請執行以下命令重新配置iptables安裝包:
sudo dpkg-reconfigure iptables-persistent
允許DNS查詢:
sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
使用state模塊接受相關的和已建立的請求:
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
接受端口請求(如80端口):
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
其他常見服務和端口:
服務 | 協議 | 端口 |
---|---|---|
FTP | TCP | 20 & 21 |
HTTPS | TCP | 443 |
DHCP | TCP | 67 |
NTP | TCP | 123 |
允許Ping:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
端口轉發(把來自2200端口的請求轉發給10.0.3.21:22 ,多用于容器場景):
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
創建SSH永久連接,阻止未經允許的SSH登錄請求:
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP
到此,相信大家對“Ubuntu中怎么使用iptables防火墻”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
當前名稱:Ubuntu中怎么使用iptables防火墻
分享鏈接:http://m.newbst.com/article34/gdodpe.html
成都網站建設公司_創新互聯,為您提供App開發、關鍵詞優化、軟件開發、小程序開發、營銷型網站建設、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯