linux如何限制ip登陆

Linux中,可通过编辑sshd_config文件,使用AllowUsers等指令指定允许登录的IP;或利用防火墙设置规则,如firewall-cmd添加白名单或黑名单限制IP登录

Linux系统中,限制IP登录是增强服务器安全性的重要措施之一,通过限制特定IP地址或IP范围的访问,可以有效防止未经授权的访问和潜在的安全威胁,以下是几种在Linux中限制IP登录的常用方法:

linux如何限制ip登陆

使用/etc/hosts.allow/etc/hosts.deny文件

这种方法基于TCP封装(TCP Wrappers)机制,适用于多种服务,包括SSH。hosts.allow文件中的规则优先级高于hosts.deny

  1. 白名单方式:只允许特定IP或IP段登录

    • 编辑/etc/hosts.allow文件,添加允许的IP或IP段,允许168.0.1168.0.10登录:
      sshd: 192.168.0.1, 192.168.0.10
    • 或者允许168.0.0/24网段的所有IP登录:
      sshd: 192.168.0.
    • /etc/hosts.deny文件中,可以设置拒绝所有其他IP:
      sshd: ALL
  2. 黑名单方式:拒绝特定IP登录

    • /etc/hosts.deny文件中,添加需要拒绝的IP,拒绝168.0.1登录:
      sshd: 192.168.0.1

修改/etc/ssh/sshd_config文件

通过配置SSH服务的配置文件,可以更灵活地控制IP访问。

  1. AllowUsers:允许特定用户从特定IP登录

    linux如何限制ip登陆

    • 允许用户username168.0.100168.0.101登录:
      AllowUsers username@192.168.0.100 username@192.168.0.101
    • 也可以使用通配符,例如允许username168.0.登录:
      AllowUsers username@192.168.0.
  2. DenyUsers:拒绝特定用户从任何IP登录

    • 拒绝用户zhangsanaliyun登录:
      DenyUsers zhangsan aliyun
  3. PermitRootLogin:限制root用户登录

    • 禁止root用户通过密码登录,但允许使用密钥登录:
      PermitRootLogin without-password
    • 完全禁止root用户登录:
      PermitRootLogin no

使用防火墙工具(如iptablesfirewalld

防火墙是控制网络访问的强大工具,可以基于IP地址、端口等条件进行精细化控制。

  1. iptables

    • 允许特定IP访问SSH端口(22):
      iptables -A INPUT -p tcp --dport 22 -s 192.168.0.100 -j ACCEPT
    • 拒绝特定IP访问SSH端口:
      iptables -A INPUT -p tcp --dport 22 -s 192.168.0.101 -j REJECT
    • 保存规则并重启服务:
      iptables-save > /etc/iptables/rules.v4
      systemctl restart iptables
  2. firewalld

    linux如何限制ip登陆

    • 允许特定IP访问SSH端口:
      firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="22" accept'
      firewall-cmd --reload
    • 拒绝特定IP访问SSH端口:
      firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.101" port protocol="tcp" port="22" reject'
      firewall-cmd --reload

结合多种方法

在实际场景中,可以结合多种方法来实现更严格的IP访问控制。

  • 使用/etc/hosts.allow/etc/hosts.deny文件进行初步过滤。
  • 通过sshd_config文件进一步限制用户和IP。
  • 使用防火墙工具阻止未授权的IP访问。

注意事项

  1. 规则顺序:在iptables中,规则的顺序非常重要,先匹配的规则会优先执行。
  2. 权限:修改系统配置文件和防火墙规则通常需要root权限。
  3. 测试:在应用新规则后,务必进行测试,确保合法用户可以正常访问,而非法用户被正确阻止。

以下是一个简单的对比表格,归纳了上述方法的特点:

方法 优点 缺点
/etc/hosts.allow 简单易用,无需重启服务 规则不够灵活,适用于少量IP
/etc/hosts.deny 简单易用,无需重启服务 规则不够灵活,适用于少量IP
/etc/ssh/sshd_config 灵活性高,支持用户和IP级别的控制 需要重启SSH服务,配置复杂
iptables 功能强大,支持复杂的规则 配置复杂,规则顺序重要
firewalld 现代化工具,支持动态规则管理 需要熟悉命令行操作

FAQs

如何允许整个子网访问SSH?

  • /etc/hosts.allow文件中,可以使用通配符,允许168.0.子网的所有IP访问:
    sshd: 192.168.0.
  • 或者在sshd_config中使用AllowUsers
    AllowUsers user@192.168.0.

如何临时允许一个被拒绝的IP访问?

  • 如果使用iptablesfirewalld,可以直接添加一条允许规则,使用iptables
    iptables -I INPUT -p tcp --dport 22 -s 192.168.0.101 -j ACCEPT
  • 如果使用/etc/hosts.deny,可以将该IP从黑名单中移除,或者在/etc/hosts.allow

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/54587.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月11日 13:48
下一篇 2025年7月11日 13:55

相关推荐

  • Linux内存泄露怎么定位

    使用工具如Valgrind的memcheck、GDB配合插件、mtrace等分析程序内存分配,通过监控/proc/pid/maps文件变化,或利用AddressSanitizer(ASan)实时检测非法内存访问,定位未释放的内存块。

    2025年6月7日
    100
  • 如何安装biolinux

    Bio Linux需先从官网下载系统镜像,用UltraISO等工具将镜像烧录到U盘制作启动盘,再将U盘插入电脑,设置BIOS从U盘启动,按提示完成安装,过程中可选择软件包。

    2025年7月8日
    000
  • aml8726-mx刷linux教程?

    准备适配的u-boot引导程序,编译或获取匹配的Linux内核与根文件系统,通过SD卡或USB工具将系统镜像写入设备存储,完成刷机,注意硬件兼容性与操作风险。

    2025年6月16日
    100
  • Linux快速安装KVM教程

    安装KVM需先检查CPU虚拟化支持,使用kvm-ok或检查/proc/cpuinfo,安装qemu-kvm、libvirt-daemon及相关工具包,启动并启用libvirtd服务,配置网络(通常用virbr0),最后用virt-manager图形工具或virsh命令创建虚拟机即可。

    2025年7月6日
    000
  • linux 如何安装xterm

    Linux中,Debian/Ubuntu系统使用sudo apt-get update和sudo apt-get install xterm安装xterm;CentOS/RHEL系统用sudo yum update和sudo yum install xterm;Fedora系统是sudo dnf update和sudo dnf install xterm;Arch Linux系统则通过sudo pacman -Syu和sudo pacman -S xterm

    2025年7月12日
    000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN