在Debian系统中,iptables
是一个用于配置Linux内核防火墙(netfilter)规则的命令行工具。以下是一些基本的iptables
规则设置步骤和示例:
首先,你可以查看当前的iptables
规则:
sudo iptables -L -n -v
-L
:列出规则。-n
:以数字形式显示地址和端口。-v
:显示详细信息。例如,允许IP地址为192.168.1.100
的主机访问你的服务器:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
-A INPUT
:将规则添加到INPUT链。-s 192.168.1.100
:指定源IP地址。-j ACCEPT
:接受该流量。拒绝所有不在允许列表中的IP访问:
sudo iptables -A INPUT -j DROP
注意:这条规则应该放在最后,否则它会阻止所有流量。
例如,允许TCP端口80(HTTP)和443(HTTPS)的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Debian默认不会自动保存iptables
规则,你需要手动保存:
sudo iptables-save > /etc/iptables/rules.v4
或者使用netfilter-persistent
包来持久化规则:
sudo apt-get install netfilter-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
如果你需要删除某个规则,可以使用-D
选项:
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT
如果你想清空所有规则,可以使用以下命令:
sudo iptables -F
-F
:清空所有链。你可以设置默认策略,例如拒绝所有输入流量:
sudo iptables -P INPUT DROP
-P INPUT DROP
:将INPUT链的默认策略设置为DROP。iptables
规则时要非常小心,错误的规则可能导致服务器无法访问。ufw
(Uncomplicated Firewall)来管理防火墙规则,它提供了更友好的用户界面和自动保存功能。通过以上步骤,你应该能够在Debian系统上设置基本的iptables
规则。如果你需要更复杂的配置,建议查阅相关文档或寻求专业帮助。