HCRM博客

如何在CentOS中配置iptables规则?

在 CentOS 系统中,Iptables 是用于配置 Linux 内核防火墙的命令行工具,它通过定义规则来控制网络流量的进出,从而实现对系统的安全保护,本文将详细介绍如何在 CentOS 中配置 iPTAbles,包括查看当前配置、添加和删除规则、保存和恢复规则以及一些常见问题的解决方案。

一、iptables 的基本概念

iptables 是一个用户空间的工具,用于设置、维护和检查 IP 包过滤规则,它由 netfilter 提供,工作在 Linux 内核空间,iptables 可以定义规则来匹配特定的数据包,并根据这些规则决定如何处理这些数据包(接受、丢弃或拒绝)。

如何在CentOS中配置iptables规则?-图1
(图片来源网络,侵权删除)

二、安装和启动 iptables

1. 安装 iptables

在 CentOS 7 及更高版本中,默认使用的是 firewalld,而不是 iptables,需要先关闭 firewalld,然后安装 iptablesservices。

检查 firewalld 状态
systemctl status firewalld
停止并禁用 firewalld
systemctl stop firewalld
systemctl disable firewalld
安装 iptablesservices
yum install y iptablesservices
启动 iptables
systemctl start iptables
启用 iptables 开机自启
systemctl enable iptables

2. 查看 iptables 状态

systemctl status iptables

如果显示绿色的“active (exited)”,则表示 iptables 已经成功启动。

三、查看当前 iptables 配置

使用以下命令可以查看当前的 iptables 规则:

iptables L n

该命令会列出所有链(INPUT、FORWARD、OUTPUT)中的规则,并以数字形式显示地址和端口信息。

如何在CentOS中配置iptables规则?-图2
(图片来源网络,侵权删除)

四、添加和删除 iptables 规则

1. 添加允许 INPUT 访问的规则

以下是一些常见服务的端口设置示例:

SSH
iptables A INPUT p tcp dport 22 j ACCEPT
HTTP
iptables A INPUT p tcp dport 80 j ACCEPT
iptables A INPUT p tcp dport 8080 j ACCEPT
HTTPS
iptables A INPUT p tcp dport 443 j ACCEPT
POP3
iptables A INPUT p tcp dport 110 j ACCEPT
SMTP
iptables A INPUT p tcp dport 25 j ACCEPT
FTP
iptables A INPUT p tcp dport 21 j ACCEPT
iptables A INPUT p tcp dport 20 j ACCEPT
DNS
iptables A INPUT p tcp dport 53 j ACCEPT

2. 添加使用 IP 限制 INPUT 访问规则

以 SSH 为例,只允许特定 IP(如 192.168.0.100)访问:

删除之前的 SSH 规则
iptables D INPUT p tcp dport 22 j ACCEPT
添加新的 SSH 规则,只允许特定 IP 访问
iptables A INPUT s 192.168.0.100 p tcp dport 22 j ACCEPT

3. 删除规则

要删除某条规则,可以使用D 参数:

如何在CentOS中配置iptables规则?-图3
(图片来源网络,侵权删除)
删除允许 HTTP 访问的规则
iptables D INPUT p tcp dport 80 j ACCEPT

五、保存和恢复 iptables 配置

1. 保存当前规则

修改完规则后,需要保存以确保重启后仍然有效:

/etc/rc.d/init.d/iptables save

2. 恢复规则

如果需要恢复之前保存的规则,可以使用以下命令:

/etc/rc.d/init.d/iptables restore

六、常见问题及解决方案

1. 如何允许主机通过 IP 访问虚拟机的 Web?

如果在虚拟机上搭建了 Web 服务,但主机无法通过 IP 访问,可能是由于防火墙设置问题,可以通过以下步骤解决:

编辑 iptables 配置文件
vi /etc/sysconfig/iptables
添加以下内容以开放 80 端口
A RHFirewall1INPUT m state state NEW m tcp p tcp dport 80 j ACCEPT
保存并退出编辑器
:wq
重启防火墙使修改生效
service iptables restart

2. 如何永久性关闭防火墙?

如果需要永久性关闭防火墙,可以使用以下命令:

chkconfig level 35 iptables off
/etc/init.d/iptables stop
iptables P INPUT DROP

iptables 是 CentOS 系统中强大的防火墙配置工具,通过灵活的规则设置,可以实现对网络流量的精细控制,本文介绍了如何在 CentOS 中安装、启动、查看、添加和删除 iptables 规则,以及如何保存和恢复配置,还提供了常见问题的解决方案,帮助用户更好地理解和使用 iptables,希望本文能为您在使用 CentOS 时配置和管理防火墙提供帮助。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18732.html

分享:
扫描分享到社交APP
上一篇
下一篇