Iptables常见的用途

Iptables是一个强大的Linux防火墙工具,它允许系统管理员配置和管理网络规则,用于过滤网络流量和保护主机安全。它通过操作Netfilter内核模块来实现这些功能。

以下是iptables工具的一些常见用法和场景示例:

阻止特定IP访问

可以使用iptables来阻止特定IP地址的访问。例如,阻止IP地址为192.168.1.100的主机访问服务器,可以使用以下命令:

iptables -A INPUT -s 192.168.1.100 -j DROP

这个命令将在INPUT链上添加一条规则,如果来源IP地址为192.168.1.100,则直接将流量丢弃。

允许特定端口的访问

可以使用iptables来允许特定端口的访问。例如,允许外部网络访问服务器上的SSH服务(端口22),可以使用以下命令:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

这个命令将在INPUT链上添加一条规则,如果流量目标端口为22,则允许该流量通过。

NAT端口转发

可以使用iptables将外部服务器的流量转发到内部服务器的特定端口上。例如,将外部网络的HTTP(端口80)流量转发到内部服务器的HTTP服务(端口8080)上,可以使用以下命令:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080

这个命令将在NAT表的PREROUTING链上添加一条规则,如果流量目标端口为80,则将流量目标地址和端口修改为192.168.1.10:8080。

防止DDoS攻击

可以使用iptables来防止分布式拒绝服务(DDoS)攻击。例如,限制源IP地址每秒只能发送10个HTTP请求,可以使用以下命令:

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/second -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

这个命令将在INPUT链上添加两条规则,第一条规则允许每秒最多10个HTTP请求通过,第二条规则将超过这个限制的流量丢弃。

阻止ICMP流量

可以使用iptables来阻止ICMP流量,以保护服务器免受ping洪水攻击。例如,阻止所有ICMP流量,可以使用以下命令:

iptables -A INPUT -p icmp -j DROP

这个命令将在INPUT链上添加一条规则,将所有ICMP流量丢弃。

你可能感兴趣的:(运维文档,linux,运维,iptables)