您的位置:

CentOS Iptables 全方位详解

一、Iptables 简介

Iptables 是一个完整的Linux防火墙解决方案。它是一个标准的Linux内核子系统,可以通过它来定义与管理系统网络规则,以保护Linux服务器免受网络攻击。

Iptables 主要用于控制数据包的流向,根据不同的规则决定是否允许数据包通过。它可以在多个网络层面上实现丰富的网络管理策略,并支持各种网络连接类型和协议。

对于大多数Linux用户来说,Iptables 对于保护他们的系统、应用程序和数据是非常重要的。下面将介绍一些Iptables 常用的命令和规则。

二、Iptables 常用命令

以下是一些常用的Iptables 命令:

1. iptables -L

该命令列出所有的防火墙规则。它将显示所有链并描述它们的规则。它还将列出Iptables 表的当前状态。

iptables -L

2. iptables -A

该命令添加一个新的规则到规则链中。它可以指定要添加规则的目标链和规则内容。

iptables -A INPUT -s 192.168.1.0/24 -j DROP

3. iptables -D

该命令从规则链中删除单个规则。它需要指定要删除规则的目标链和规则内容。

iptables -D INPUT -s 192.168.1.0/24 -j DROP

4. iptables -P

该命令用于设置规则的默认策略(默认允许或者禁止)。它需要指定目标链和要设置的策略。

iptables -P FORWARD DROP

三、Iptables 规则解析

以下是一些常见的Iptables 规则:

1. 允许 SSH 连接

如果要允许 SSH 连接,可以为 INPUT 链添加以下规则:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

2. 允许 HTTP 和 HTTPS 连接

如果要允许 HTTP 和 HTTPS 连接,可以为 INPUT 链添加以下规则:

iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

3. 允许 Ping 网络测试

如果要允许 Ping 网络测试,可以为 INPUT 链添加以下规则:

iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

四、在CentOS下配置Iptables

1. 安装iptables

在CentOS下,Iptables 安装方式如下:

yum install iptables

2. 配置iptables

要为CentOS配置Iptables,您需要编辑以下文件:“/etc/sysconfig/iptables”。 修改规则如下:

*filter
# 允许本地回环
-A INPUT -i lo -j ACCEPT
# 允许SSH
-A INPUT -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT
# 允许HTTP,HTTPS
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
# 允许Ping
-A INPUT -p icmp -j ACCEPT
# 允许已建立的和相关的连接
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 拒绝所有其他外部流入
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT

3. 保存iptables规则

要保存当前的Iptables 配置,可以运行以下命令:

service iptables save

总结

本文介绍了Iptables 的一些基本概念、常用命令以及实际配置案例。通过本文,您可以了解如何使用Iptables 来保护CentOS服务器免受网络攻击。

请记住,Iptables 可以提供强大的网络安全功能,但要谨慎使用,以避免意外地阻止了访问或打开了安全漏洞。