Linux如何限制某个IP访问服务

使用iptables或firewalld可限制IP访问,如iptables -A INPUT -s 192.168.1.100 -p tcp –dport 22 -j DROP禁止SSH访问,firewalld通过rich rule拒绝指定IP,也可通过/etc/hosts.deny限制服务级访问。

linux如何限制某个ip访问服务

在Linux系统中,可以通过防火墙工具来限制某个IP访问特定服务。最常用的方式是使用 iptablesfirewalld。以下是具体操作方法。

使用 iptables 限制IP访问

iptables 是 Linux 内核中强大的网络包过滤工具,可以直接控制进出系统的网络流量。

假设要禁止 IP 地址 192.168.1.100 访问本机的 SSH 服务(端口 22),可以执行以下命令:

禁止特定IP访问指定端口
iptables -A INPUT -s 192.168.1.100 -p tcp –dport 22 -j DROP 允许特定IP访问(白名单)
iptables -A INPUT -s 192.168.1.100 -p tcp –dport 22 -j ACCEPT 查看当前规则
iptables -L -n -v 删除规则(例如删除INPUT链第3条规则)
iptables -D INPUT 3

注意:DROP 表示直接丢弃数据包,对方无响应;REJECT 会返回拒绝信息。

Linux如何限制某个IP访问服务

使用 firewalld 限制IP(适用于CentOS/RHEL/Fedora)

firewalld 是动态防火墙管理工具,支持区域(zone)概念,便于管理不同来源的访问策略。

问问小宇宙 问问小宇宙

问问小宇宙是小宇宙团队出品的播客AI检索工具

问问小宇宙 77 查看详情 问问小宇宙

将特定IP加入受信任区域之外,或直接拒绝其访问:

拒绝某个IP访问所有服务
firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.100″ reject’ 拒绝某个IP访问特定端口(如22)
firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.100″ port protocol=”tcp” port=”22″ reject’ 重新加载配置
firewall-cmd –reload 查看已添加的规则
firewall-cmd –list-allLinux如何限制某个IP访问服务

通过服务自身配置限制(如SSH)

某些服务支持在配置文件中设置访问控制,例如SSH服务可通过 /etc/hosts.deny/etc/hosts.allow 控制。

编辑文件 /etc/hosts.deny,添加:
sshd: 192.168.1.100 若要允许某些IP,可在 /etc/hosts.allow 添加:
sshd: 192.168.1.50

注意:/etc/hosts.allow 优先级高于 .deny 文件。

基本上就这些常用方法。选择哪种方式取决于你使用的系统和防火墙工具。iptables 更底层灵活,firewalld 更适合动态管理,服务级限制则适用于特定场景。关键是确保规则生效并测试效果,避免误封自己。不复杂但容易忽略。

以上就是Linux如何限制某个IP访问服务的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/428789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 12:53:17
下一篇 2025年11月7日 12:53:52

相关推荐

发表回复

登录后才能评论
关注微信