如何在CentOS系统中实现IP和端口的限制?

在CentOS中,可以使用iptablesfirewalld来限制IP端口。使用iptables命令:iptables -A INPUT -p tcp --dport 80 -s 192.168.1.1 -j REJECT,这将拒绝来自IP地址192.168.1.1的TCP端口80的访问。

在CentOS中,限制IP访问指定端口可以通过配置防火墙和修改特定配置文件来实现,以下是详细步骤:

如何在CentOS系统中实现IP和端口的限制?

一、使用firewalld限制IP访问端口

1. 查看防火墙状态

需要查看当前防火墙的状态,确保其正在运行:

systemctl status firewalld

如果防火墙未运行,可以启动它并设置为开机自启:

systemctl start firewalld
systemctl enable firewalld

2. 开放或移除端口

假设要允许特定IP访问某个端口(例如9999):

添加端口9999到防火墙规则中
firewall-cmd --zone=public --add-port=9999/tcp --permanent
移除端口9999从防火墙规则中
firewall-cmd --zone=public --remove-port=9999/tcp --permanent

3. 限制特定IP访问端口

只允许特定IP访问某个端口,可以使用以下命令:

只允许192.168.1.100访问端口9999
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="9999" accept'
拒绝特定IP访问端口9999
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="9999" reject'

完成上述操作后,记得重新加载防火墙配置以使更改生效:

firewall-cmd --reload

二、使用iptables限制IP访问端口

1. 安装iptables

如何在CentOS系统中实现IP和端口的限制?

CentOS7默认没有安装iptables,可以手动安装:

yum install -y iptables-services

2. 配置iptables规则

假设要允许特定IP访问某个端口(例如6379),并拒绝其他所有IP的访问:

允许192.168.1.100访问6379端口
iptables -I INPUT -p tcp -s 192.168.1.100 --dport 6379 -j ACCEPT
拒绝其他所有IP访问6379端口
iptables -I INPUT -p tcp --dport 6379 -j REJECT

保存规则以确保重启后仍然有效:

service iptables save

三、通过配置文件限制IP访问SSH端口

1. 编辑hosts.allow文件

只允许特定IP地址或网段访问SSH服务:

vim /etc/hosts.allow

添加以下内容:

sshd:192.168.1.100 : allow
sshd:192.168.1.0/24 : allow

2. 编辑hosts.deny文件

拒绝所有其他IP地址访问SSH服务:

vim /etc/hosts.deny

添加以下内容:

如何在CentOS系统中实现IP和端口的限制?

sshd:ALL : deny

保存文件后,重启SSH服务使配置生效:

systemctl restart sshd
方法 命令 描述
检查防火墙状态systemctl status firewalld 查看防火墙是否运行
启动防火墙systemctl start firewalld 启动防火墙服务
设置防火墙开机自启systemctl enable firewalld 设置防火墙开机自启动
开放端口firewall-cmd --zone=public --add-port=[端口]/tcp --permanent 开放指定端口
移除端口firewall-cmd --zone=public --remove-port=[端口]/tcp --permanent 移除指定端口
限制特定IP访问端口firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="[IP]" port protocol="tcp" port="[端口]" accept' 允许特定IP访问指定端口
拒绝特定IP访问端口firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="[IP]" port protocol="tcp" port="[端口]" reject' 拒绝特定IP访问指定端口
安装iptablesyum install -y iptables-services 安装iptables服务
配置iptables规则iptables -I INPUT -p tcp -s [IP] --dport [端口] -j ACCEPT 配置iptables规则
保存iptables规则service iptables save 保存iptables规则
编辑hosts.allow文件vim /etc/hosts.allow 编辑hosts.allow文件
编辑hosts.deny文件vim /etc/hosts.deny 编辑hosts.deny文件
重启SSH服务systemctl restart sshd 重启SSH服务

五、相关问题与解答

问题1:如何在CentOS中使用firewalld限制特定IP访问多个端口?

答:可以使用firewall-cmd命令添加多个富规则来限制特定IP访问多个端口,允许特定IP访问端口80和443:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="443" accept'
firewall-cmd --reload

问题2:如何更改CentOS中的默认SSH端口并通过防火墙限制访问?

答:更改SSH服务的默认端口(假设更改为2222),然后通过防火墙限制对该端口的访问,编辑/etc/ssh/sshd_config文件,将Port改为2222:

Port 2222

通过防火墙允许特定IP访问新端口:

firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="2222" accept'
firewall-cmd --reload

小伙伴们,上文介绍了“centos限制ip端口”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/42392.html<

(0)
运维的头像运维
上一篇2024-12-31 05:04
下一篇 2024-12-31 05:11

相关推荐

  • Linux端口映射命令有哪些?

    Linux 端口映射是网络管理中常见的技术,主要用于将外部网络的请求转发到内部网络的特定服务,或者实现不同服务器之间的端口访问控制,在 Linux 系统中,端口映射可以通过多种方式实现,包括使用 iptables、firewalld、socat 等工具,每种工具适用于不同的场景和系统环境,以下将详细介绍这些命令……

    2025-11-12
    0
  • RedHat防火墙命令有哪些?如何永久关闭?

    在Red Hat Enterprise Linux(RHEL)系统中,防火墙是保障系统安全的重要组件,它通过控制网络流量进出系统来防止未授权访问,在某些特定场景下,如系统配置、网络调试或临时启用服务时,可能需要临时或永久关闭防火墙,以下是关于Red Hat系统中关闭防火墙的详细命令说明及注意事项,不同版本的RH……

    2025-11-08
    0
  • CentOS7如何永久关闭防火墙?

    在CentOS 7操作系统中,防火墙(Firewalld)是默认启用的安全工具,用于管理网络流量和系统访问权限,在某些场景下,如开发测试环境、临时网络配置或特定服务需求下,可能需要临时或永久关闭防火墙,以下是关于CentOS 7关闭防火墙的详细操作指南,包括命令使用、注意事项及常见问题解答,CentOS 7防火……

    2025-10-30
    0
  • SUSE Linux如何永久关闭防火墙?

    在SUSE Linux系统中,关闭防火墙是一个常见的操作,通常用于测试环境或特定应用场景,SUSE Linux主要使用两种防火墙管理工具:传统的iptables和较新的firewalld(在SUSE 15及以后版本中更常见),以下是针对不同版本和工具的详细操作指南,包括命令、注意事项及相关配置说明,使用ipta……

    2025-10-22
    0
  • lokkit命令Linux防火墙如何配置?

    Linux中的lokkit命令是一个简单而实用的防火墙配置工具,主要用于为初学者或需要快速配置防火墙规则的用户提供便捷的界面,它最初由Red Hat系列Linux发行版(如CentOS、Fedora等)引入,通过命令行交互方式帮助用户设置基本的防火墙规则,如允许或禁用特定服务端口、配置网络接口等,lokkit底……

    2025-10-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注