QUOTE:原帖由 stefalee 于 2009-9-19 16:59 发表

想要限制一下登陆到某一个Linux系统上的用户的IP,设定只有某一个范围或者网段的IP地址才能用telnet或者ssh的方式登陆系统,请问该怎么限制?Linux有提供这个功能吗?
我只说ssh的。
QUOTE:1、使用iptables进行主机、域、网络的访问控制:
主机:iptables -A INPUT -s 207.marsaber.com -p tcp --dport 22 -j DROP
域 :iptables -A INPUT -s marsaber.com -p tcp --dport 22 -j DROP 【如果多个,则要写多条规则,不建议】
网络:iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j DROP <-等价->
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp --dport 22 -j DROP
2、使用TCP_Wrapper对主机、域、网络的访问控制:
/etc/hosts.deny
sshd:ALL
/etc/hosts.allow
sshd:.marsaber.com EXCEPT 207.marsaber.com
3、用户的访问控制:
编辑/etc/ssh/sshd_config,添加:
DenyUsers marsaber user0* #marsaber、user0*开头的用户不能远程登录,但其他用户均可登录;
AllowUsers root marsaber #root、marsaber可远程登录,其他用户均拒绝登录;
AllowUsers root@192.168.2.* marsaber@*.marsaber.com
#root可从192.168.2.*登录、marsaber可从*.marsaber.com登录,其他用户均拒绝登录;
注意事项:
1、如果多个用户,中间须用空格隔开;
2、不能使用UID、GID;
详细信息请见man sshd_config