在Debian系统中,使用iptables
命令可以添加、修改和删除防火墙规则。以下是一些基本的步骤和示例,帮助你在Debian系统上添加iptables
规则。
安装iptables
首先,确保你已经安装了iptables
。如果没有安装,可以使用以下命令进行安装:
sudo apt update sudo apt install iptables
添加规则
1. 允许特定IP访问
假设你想允许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
:接受匹配的数据包。
2. 阻止特定IP访问
假设你想阻止IP地址为192.168.1.101
的设备访问你的服务器的SSH端口,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.101 -j DROP
-j DROP
:丢弃匹配的数据包。
3. 允许特定端口访问
假设你想允许所有设备访问你的服务器的HTTP端口(默认是80),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-m conntrack --ctstate NEW,ESTABLISHED
:允许新的连接和已建立的连接。
4. 保存规则
在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
添加、查看、删除和保存防火墙规则。