在Debian系統中,使用iptables命令可以添加、修改和刪除防火墻規則。以下是一些基本的步驟和示例,幫助你在Debian系統上添加iptables規則。
首先,確保你已經安裝了iptables。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install iptables
假設你想允許IP地址為192.168.1.100的設備訪問你的服務器的SSH端口(默認是22),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
-A INPUT:將規則添加到INPUT鏈。-p tcp:指定協議為TCP。--dport 22:指定目標端口為22(SSH)。-s 192.168.1.100:指定源IP地址為192.168.1.100。-j ACCEPT:接受匹配的數據包。假設你想阻止IP地址為192.168.1.101的設備訪問你的服務器的SSH端口,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.101 -j DROP
-j DROP:丟棄匹配的數據包。假設你想允許所有設備訪問你的服務器的HTTP端口(默認是80),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-m conntrack --ctstate NEW,ESTABLISHED:允許新的連接和已建立的連接。在Debian系統中,iptables規則默認不會持久化保存。你可以使用iptables-persistent包來保存規則:
sudo apt install iptables-persistent
在安裝過程中,系統會提示你是否保存當前的iptables規則。選擇“是”即可。
你可以使用以下命令查看當前的iptables規則:
sudo iptables -L -n -v
-L:列出規則。-n:以數字形式顯示地址和端口。-v:顯示詳細信息。如果你需要刪除某個規則,可以使用iptables -D命令。例如,刪除之前添加的允許特定IP訪問SSH端口的規則:
sudo iptables -D INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
如果你需要清空所有的iptables規則,可以使用以下命令:
sudo iptables -F
-F:清空所有鏈中的規則。通過以上步驟,你可以在Debian系統上使用iptables添加、查看、刪除和保存防火墻規則。