答案:Linux中限制IP访问主要通过iptables、firewalld和tcpwrappers实现;iptables使用DROP或REJECT规则禁止或允许IP访问,需注意规则顺序并保存配置;firewalld利用rich规则动态控制IP和服务访问,需重载生效;tcpwrappers通过/etc/hosts.allow和/etc/hosts.deny文件限制支持的服务;选择方法应根据系统环境和服务类型决定。

在Linux系统中限制指定IP的访问,主要通过防火墙工具实现,最常用的是iptables和firewalld。下面介绍几种常用方法,帮助你快速配置IP访问限制。
iptables 是Linux内核自带的防火墙工具,功能强大且广泛支持。
禁止某个IP访问本机:
iptables -A INPUT -s 192.168.1.100 -j DROP这条命令会阻止来自 192.168.1.100 的所有连接。
允许某个IP访问,拒绝其他所有:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT注意规则顺序:允许的规则必须在拒绝规则之前。
限制特定端口的访问:
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP这条命令阻止指定IP访问SSH服务(端口22)。
配置完成后,保存规则防止重启失效:
service iptables save(部分系统需安装 iptables-services 包)
firewalld 是现代Red Hat系列默认的防火墙管理工具,支持动态配置。
拒绝某个IP:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'使用 reject 会返回拒绝信息,也可用 drop 表示静默丢包。
仅允许某个IP访问特定服务:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'先移除全局SSH服务,再为特定IP单独开放。
重新加载配置:
firewall-cmd --reload某些服务(如sshd、vsftpd)支持tcpwrappers机制,可通过配置文件控制访问。
编辑 /etc/hosts.deny 文件,禁止某个IP:
sshd: 192.168.1.100编辑 /etc/hosts.allow 文件,白名单优先:
sshd: 192.168.1.50allow 文件中的规则优先于 deny。
查看当前iptables规则:
iptables -L -n -v查看firewalld富规则:
firewall-cmd --list-rich-rules测试限制是否生效,可从目标IP使用ping、telnet或ssh尝试连接。
基本上就这些。选择哪种方式取决于你的系统环境和服务类型。iptables最通用,firewalld更适合现代Red Hat系,tcpwrappers适合特定服务。配置时注意规则顺序和保存,避免被锁在服务器外。
以上就是Linux如何限制指定IP的访问的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号