在Linux系统中,iptables
是一个强大的工具,用于配置和管理防火墙规则,以下是一些常见的iptables
规则示例:
允许特定IP地址访问特定端口
假设你想允许 IP 地址192.168.1.100
访问你的服务器的 HTTP 服务(端口 80)。
sudo iptables A INPUT p tcp s 192.168.1.100 dport 80 j ACCEPT
阻止特定IP地址访问特定端口
假设你想阻止 IP 地址192.168.1.101
访问你的服务器的 SSH 服务(端口 22)。
sudo iptables A INPUT p tcp s 192.168.1.101 dport 22 j DROP
允许所有流量通过某个端口
假设你想允许所有流量通过端口 8080。
sudo iptables A INPUT p tcp dport 8080 j ACCEPT
阻止所有流量通过某个端口
假设你想阻止所有流量通过端口 8081。
sudo iptables A INPUT p tcp dport 8081 j DROP
允许本地回环接口的流量
你希望允许本地回环接口(localhost)的流量。
sudo iptables A INPUT i lo j ACCEPT
允许已建立的连接和相关流量
为了确保已经建立的连接和相关流量能够继续通信,你需要添加以下规则。
sudo iptables A INPUT m state state ESTABLISHED,RELATED j ACCEPT
默认策略设置为拒绝所有其他流量
设置默认策略为拒绝所有其他未明确允许的流量。
sudo iptables P INPUT DROP sudo iptables P FORWARD DROP sudo iptables P OUTPUT ACCEPT
保存规则
不同的 Linux 发行版有不同的方法来保存iptables
规则,在基于 Debian 的系统上,你可以使用iptablespersistent
:
sudo aptget install iptablespersistent sudo netfilterpersistent save
在基于 Red Hat 的系统上,你可以使用service
命令:
sudo service iptables save
查看当前规则
要查看当前的iptables
规则,可以使用以下命令:
sudo iptables L v n
这些示例展示了如何使用iptables
来配置基本的防火墙规则,根据你的具体需求,你可以组合和调整这些规则。