需求:


windows and Linux系统仅限指定的IP或网段登陆

解决方法和思路:

1. Windows设置的方法有多种:

方法一:通过本机自带的防火墙设置限制IP访问,修改下面三个规则属性:

限定特定的IP访问服务器_第1张图片


点击属性,查看对应设置:

限定特定的IP访问服务器_第2张图片


 设定可以访问的地址段或IP,即可

限定特定的IP访问服务器_第3张图片


方法二:通过IP安全策略控制:


打开本地安全策略:

开始-运行-输入secpol.msc或者开始-程序-管理工具-本地安全策略

弹出来的窗口中,右击IP安全策略,在本地计算机

限定特定的IP访问服务器_第4张图片


 鼠标右键,选择管理IP筛选器列表和筛选操作:


限定特定的IP访问服务器_第5张图片


设定源地址和目的地址:

限定特定的IP访问服务器_第6张图片


修改访问的协议和端口,默认所有:

限定特定的IP访问服务器_第7张图片


 再加一个deny的策略:

限定特定的IP访问服务器_第8张图片

 在筛选器里调整策略即可:

限定特定的IP访问服务器_第9张图片


方法三:通过AD服务器上的指定计算机登陆,这点在此不做说明。

(需要加入AD域,然后对用户进行设置指定登陆)

参考文件地址:http://www.it165.net/os/html/201311/6707.html


Linxu 系统指定IP访问控制:

解决方法和思路:

1.通过修改/etc/hosts/allow 和 /etc/hosts.deny 这两个文件来控制远程访问,需要安装tcp_wrappers

    输入ldd  /usr/sbin/sshd ,如果输出中有libwrap,则说明可以使用tcp_wrappers,即该服务可以使用/etc/hosts/allow 和 /etc/hosts.deny ,

    如果没有输出libwrap,则需要安装。

 通过命令查看:

 rpm -q tcp_wrappers 或者 rpm -qa | grep tcp


 先来看允许的: 


[root@nginx ~]# cat /etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
# for the shell
sshd:11.8.,12.1.,18.3.:allow


这个意思是允许 11.8.0.0  and  12.1.0.0 and 18.3.0.0 允许访问服务器的sshd服务。

再看拒绝的:

编辑 /etc/hosts.deny 文件,添加如下语句,拒绝所有ssh请求 
sshd:all

此时此刻还可以继续加强修改:

第一步: 以root身份SSH登录到服务器。
第二步:在命令提示符下输入:pico -w /etc/ssh/sshd_config
第三步:向下翻页,在这个文件中找到像这样的区域:

  1. Port 22

  2. Protocol 2, 1

  3. ListenAddress 0.0.0.0

  4. ListenAddress ::

第四步:取消注释符号#,并修改
端口:#Port 22 

改为:Port 8899
(选择你未被使用的4到5位数字组成的端口(49151是最高端口数))


协议: #Protocol 2, 1
改为: Protocol 2


监听地址 #ListenAddress 0.0.0.0
改为:ListenAddress 192.168.1.100(这里的地址改为你自己访问服务器常用的客户端ip地址)


第五步 如果你想禁用直接用root登录,向下翻知道你看见

#PermitRootLogin yes

改为PermitRootLogin no

按住Ctrl键保存修改,在按Ctrl + x组合键退出。
第六步 在命令提示符下输入: /etc/rc.d/init.d/sshd restart
第七步 退出SSH,以后再登录就必须使用新的端口号(如:49151),并且服务器限制只允许从一个指定的IP地址(如:192.168.1.100)SSH登录了。
注意事项:
如果修改后出现不能登录或者其他问题,你只需要为服务器接上显示器 或者 Telnet 到你的服务器,修改设置,然后再重新SSH登录。Telnet 是一个非常不安全的协议,所以在你使用它之后最好是修改一下你的root密码。
 
或者
linux限制IP访问ssh
 
在/etc/hosts.allow输入   
(其中192.168.10.88是你要允许登陆ssh的ip,或者是一个网段192.168.10.0/24)   
sshd:192.168.10.88:allow   
    
在/etc/hosts.deny输入(表示除了上面允许的,其他的IP都拒绝登陆ssh)   
sshd:ALL
 
更改端口
vi /etc/ssh/sshd_config
port 3333

最后一行加上ip
allowusers root@ip   ------------------允许某个ip用什么帐户登



最后,执行service xinetd restart重启服务或者

# /etc/rc.d/init.d/xinetd restart

# /etc/rc.d/init.d/network restart


(the end)