在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添加、查看、删除和保存防火墙规则。