在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系统的防火墙规则。