`

linux下限制ip的几种方式

阅读更多
今天同事在连接外网的ucloud服务器的时候连接不上,我在我本地机器试了一下,可以,然后又在另一个同事的机器上试了一下也可以,我觉得应该是他本地系统的问题,他机器上装的是filezilla,我给他发了一个secureCRT,让她试一下,结果还是不行,然后我又在一台服务器上访问了一下,还是不行,2v2,2个成功,2个失败,我感觉不是系统的问题,问题可能出在服务器,我查看了一下服务器的日志/var/log/messages和 /var/log/secure ,其中一行显示 connection refuse。   这说明服务器已经接收到了请求,只是拒绝了,我猜想是服务器的配置问题,但是这台服务器应该只能我操作啊,我查了一下限制IP的几种方式,在hosts.allow发现了玄机,原来这里配置了白名单,你可能要问了你和你同事不是一个局域网吗,对外ip不是一样吗,这个我还得给你解释一下,我们公司的对外ip有几个,然后映射到了内部ip的不同网段,所以同事的对外ip就有可能和我不一样了,然后把限制IP的两种方式记录一下:

1 使用hosts.deny  hosts.allow  方式(优先hosts.deny)
1.限制所有的ssh,   
除非从216.64.87.0 - 127上来。   
hosts.deny:   
in.sshd:ALL   
hosts.allow:   
in.sshd:216.64.87.0/255.255.255.128  
   
2.封掉216.64.87.0 - 127的telnet   
hosts.deny   
in.sshd:216.64.87.0/255.255.255.128  
   
3.限制所有人的TCP连接,除非从216.64.87.0 - 127访问   
hosts.deny   
ALL:ALL   
hosts.allow   
ALL:216.64.87.0/255.255.255.128  
   
4.限制216.64.87.0 - 127对所有服务的访问   
hosts.deny   
ALL:216.64.87.0/255.255.255.128  
   
其中冒号前面是TCP daemon的服务进程名称,通常系统   
进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd   
   
其中IP地址范围的写法有若干中,主要的三种是:   
1.网络地址--子网掩码方式:   
216.64.87.0/255.255.255.0  
2.网络地址方式(我自己这样叫,呵呵)   
216.64.(即以216.64打头的IP地址)   
3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:   
216.64.87.0/255.255.255.0 -- 216.64.87.0/24  
   
设置好后,要重新启动  
# /etc/rc.d/init.d/xinetd restart  
# /etc/rc.d/init.d/network restart





2 .使用iptables命令
单个IP的命令是  
iptables -I INPUT -s 81.241.219.171 -j DROP  
   
封IP段的命令是  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
   
封整个段的命令是  
iptables -I INPUT -s 97.47.225.0/8 -j DROP  
   
封几个段的命令是  
iptables -I INPUT -s 97.47.225.0/24 -j DROP  
iptables -I INPUT -s 97.47.225.0/24 -j DROP   
   
   
服务器启动自运行  
有三个方法:  
1、把它加到/etc/rc.local中  
2、vi /etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。  
3、service   iptables   save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。  
后两种更好些,一般iptables服务会在network服务之前启来,更安全  
   
解封:  
iptables -L INPUT  
iptables -L --line-numbers 然后iptables -D INPUT 序号   
   
   
iptables 限制ip访问  
通过iptables限制9889端口的访问(只允许192.168.1.100、192.168.1.101、192.168.1.102),其他ip都禁止访问  
iptables -I INPUT -p tcp --dport 9889 -j DROP  
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 9889 -j ACCEPT  
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 9889 -j ACCEPT  
iptables -I INPUT -s 192.168.1.102 -p tcp --dport 9889 -j ACCEPT


分享到:
评论

相关推荐

    Python获取linux主机ip的简单实现方法

    python有好几种方法可以获取主机的ip地址。我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便;但这种方法有个限制就是要把网卡名(比如eth0)作为参数传进来。所以加多了一个条件判断,如果发现以上...

    基于Linux 的防火墙技术研究

    应用在一个包的策略包括以下几种:接受(Accept),即允许包通过该过滤器;抛弃(Reject),即丢掉该 包并发一个“主机不可到达”的ICMP 报文回发送者;拒绝(Deny),即丢掉该包且不发任何返回信息。 其次,修改此规则对应的包...

    Linux操作系统基础教程

    几种重要的配置文件.......................................................................................................26 三.Linux下常用的工具软件......................................................

    入门学习Linux常用必会60个命令实例详解doc/txt

    本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 ----------------------------------------------------...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.5 几种典型应用对系统资源使用的特点 10.5.1 以静态内容为主的Web应用 10.5.2 以动态内容为主的Web应用 10.5.3 数据库应用 10.5.4 软件下载应用 10.5.5 流媒体服务应用 10.6 Linux下常见的性能分析...

    windows服务器指定IP地址才能进行远程访问桌面设置方法

    因为存在:Windows server 2003、2008、2012及Linux这几种主流服务器。 我们分不同服务器来描述。 Windows server 2003 1.Win键+R键,输入 Control 打开控制面板 2.找到 windows防火墙 3.常规选项卡中,选择 启用...

    IIS6.0 IIS,互联网信息服务

    转到“目录安全性”窗口,单击“IP地址及域名限制”下的“编辑”按钮,点选中“授权访问”以能接受客户端从本机之外的地方对IIS进行管理;最后单击“确定”按钮。 3.则在任意计算机的浏览器中输入如...

    构筑Linux防火墙之IPtables的概念与用法

    NAT是在nat表中操作的,以下是mangle表中仅有的几种操作: <br>◆ TOS <br>◆ TTL <br>◆ MARK <br>TOS操作用来设置或改变数据包的服务类型域。这常用来设置网络上的数据包如何被路由等策略。 注意这个...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    NESS 教程 完整

    服务器安装有两种方式,一种需要对 4 个源代码包分别手工进行编译,比较麻 烦,推荐使用自动安装脚本。 安装之前要确认机器上安装了 gcc 和sharutils(需要使用里面的uudecode),可 以从系统安装盘里面找。 成为...

    良心的 Python 教程.zip

    在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续...

    服务器iis安全专家.zip

    从应用程上对CC攻击进行防护,独特的两种方式方式:1,MYIIS-VIF核心处理式2,拦截代理式。你无需编写任何代码,即可轻松实现IIS的CC防护与拦截。外加驱动底层协助,让CC防护更加得心应手。 站点线程管理 简单的...

    MaxDOS 5.6s U盘版

    PACKET网卡共支持以下几种网卡: 3C905PKT.com 3Com EtherLink PCI Bus Master Packet Driver (3COM 905) 3C90XPD.COM 3Com Fast EtherLink XL 10/100Mb TX Ethernet NIC (3C90X) E310....

    C/C++笔试题(附答案,华为面试题系列)

    26.动态连接库的两种方式? 答:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数 ,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的...

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    笔者有幸接触过以下几种常用的配置管理工具:VSS、SVN、Clearcase,在此做一个小小的总结,并Ctrl+C了以前一些网友的对比评论,不一定准确,只是希望通过这些总结对自己和初学者有所帮助。如果想进一步了解这些工具...

    PHP教程 初级教程

    相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。 你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB...

    adb1.0.26包含fastboot.exe

    输出格式为 [serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种: offline —— 表示设备未连接成功或无响应。 device —— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动...

    软件工程专题五:计算机网络知识

    ◆第三代网络指的是开放式标准化的网络,目前存在着两种占主导地位的网络体系结构TCP/IP和OSI体系结构 ◆第四代网络是目前正在探讨与发展中的网络结构 功能: 计算机网络具备3大基本功能:  通信交往,即计算机用户...

    windows实用dos命令大全

    (1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;  (2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;  (3)复制文件时,必须先确定目标般有足够的空间,否则会出现;...

Global site tag (gtag.js) - Google Analytics