在Ubuntu系统中,iptables是一个强大的命令行工具,用于配置Linux内核的网络包过滤规则。这些规则决定了哪些数据包可以通过网络接口,哪些应该被丢弃。以下是一些基本的iptables使用方法:
sudo iptables -L -n -v
-L:列出所有规则。-n:以数字形式显示地址和端口,而不是尝试解析主机名和服务名。-v:显示详细信息。sudo iptables -F
-F:清空所有链中的规则。sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
-A INPUT:将规则添加到INPUT链。-s 192.168.1.100:指定源IP地址。-j ACCEPT:接受匹配的数据包。sudo iptables -A INPUT -s 192.168.1.100 -j DROP
-j DROP:丢弃匹配的数据包。sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
-p tcp:指定协议为TCP。--dport 80:指定目标端口为80(HTTP)。sudo iptables -A INPUT -p tcp --dport 80 -j DROP
Ubuntu默认不会自动保存iptables规则,需要手动保存:
sudo iptables-save > /etc/iptables/rules.v4
sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P:设置默认策略。sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
ufw(Uncomplicated Firewall)来管理防火墙规则。如果你觉得iptables命令过于复杂,可以考虑使用ufw:
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw status
通过这些基本命令,你可以开始配置和管理Ubuntu系统的防火墙规则。