`

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


分享到:
评论

相关推荐

    VIPhGate系统:一个基于DOC的嵌入式Linux系统的IP电话网关的设计与实现.pdf

    而IP电话作为一种成本低、资源占用少的通信方式,通过IP电话网关可以接入Internet,提供多种服务。 在DOC上创建嵌入式Linux系统涉及以下步骤: 1. Bootloader启动:首先,系统通过BIOS引导Bootloader(例如doc-lilo...

    linux下socket编程之以select方式实现并发服务器

    综上所述,`select`方式的并发服务器模型在Linux下的Socket编程中具有重要的应用价值,它允许服务器高效地处理多个并发连接,是构建网络服务的基础之一。通过分析`tcpserver.c`和`tcpclient.c`的源代码,我们可以...

    linux下ftp搭建

    在Linux中,有几种常见的FTP服务器软件可供选择,如vsftpd、ProFTPD和PureFTPD。本教程将以广泛使用的vsftpd(Very Secure FTP Daemon)为例进行讲解。 2. **安装vsftpd** 在基于Debian的系统(如Ubuntu)上,...

    Linux 下的DNS服务器配置

    Linux 下的 DNS 服务器配置 ...Linux 下的 DNS 服务器配置需要经过前期准备工作、IP 地址服务器和规划域的规划、配置文件的配置和测试等几个步骤。只有通过正确的配置,我们才能实现 DNS 服务器的正常工作。

    linux下的FTP客户端

    在Linux操作系统中,FTP(File Transfer Protocol)是一种用于在互联网上进行文件传输的标准协议。Linux下的FTP客户端提供了用户友好的界面,使得用户可以方便地连接到远程FTP服务器,上传、下载、管理文件。本资源...

    基于Linux军用TCP_IP协议栈设计与实现.pdf

    本文将详细探讨基于Linux的军用TCP/IP协议栈的设计与实现,特别是在嵌入式环境下的优化和安全增强。 首先,Linux内核是TCP/IP协议栈的基础,它提供了一个强大且灵活的平台来实现各种网络协议。Linux内核中的TCP/IP...

    嵌入式Linux开发教程 (上册 下册)

    **2.1 获得Linux环境的三种方式** 1. **物理机安装:**在真实计算机上安装Linux操作系统。 2. **虚拟机安装:**使用虚拟化软件(如VMware、VirtualBox等)在现有操作系统上模拟出一台或多台虚拟计算机。 3. **容器...

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

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

    linux下简单nat及带宽控制实现

    在Linux操作系统中,网络地址转换(Network Address Translation, NAT)是一种重要的网络技术,它允许一个网络内的设备通过共享一个或少数几个公网IP地址来访问互联网。NAT的主要功能包括端口映射、IP伪装和带宽管理...

    6-linux平台下arp欺骗的实现

    对于防范ARP欺骗,有以下几种方法: 1. **ARP缓存保护**:启用Linux的ARP缓存保护,例如设置`arp_cache_protect=1`在sysctl配置中,防止恶意ARP响应被缓存。 2. **使用静态ARP映射**:在设备上手动设置静态ARP映射...

    Linux-snmp

    Linux SNMP(简单网络管理协议)是用于网络设备监控和管理的一种标准协议,广泛应用于系统管理员对网络设备的状态、性能和故障排查。这个“Linux-snmp”压缩包包含的可能是一系列有关Linux环境下SNMP的配置文档和RPM...

    linux网络服务实验.doc

    在这个“Linux网络服务实验”中,主要涉及了以下几个关键的Linux网络服务配置和操作步骤: 1. **IP地址配置**: - 在Windows操作系统中,将IP地址设置为192.168.3.XX,这里的XX是具体的数值,通常为2到254之间的...

    Linux-性能调优的几种方法.docx

    Linux性能调优是提高系统效率的关键步骤,尤其在企业级服务器环境中。针对Red Hat Enterprise Linux AS和SUSE LINUX Enterprise Server,以下是一些常用的优化技术: 1. **关闭daemons**:许多后台服务在服务器上...

    基于Linux IP 策略路由的多路由分配技术

    例如,可以通过以下几种策略来优化网络流量: 1. **收费服务原则**:为付费用户提供更优质的访问体验,即不论目标地址如何,始终为其分配最快捷的通道;而对于未付费用户,则限制其访问范围,并引导他们通过成本较...

    linux下ftp服务端的简单实现

    你需要使用文本编辑器(如记事本,但在Linux环境下更推荐使用vi、nano或gedit)打开此文件,将其中的IP地址替换为实际服务器的FTP IP地址。这一步骤对于确保服务器能够正确响应来自网络的连接至关重要。 编译C语言...

    linux下几种最常用的IPC接口,这样一来,统一了接口,提高代码重用性

    以下将详细介绍几种最常用的Linux IPC接口及其应用场景。 1. **管道(Pipe)** - 管道是一种半双工的通信方式,数据只能单向流动。 - 它们是匿名的,创建时自动分配,并且是临时的,当没有进程使用时会自动消失。...

    Linux下telnet移植

    在Linux环境中,telnet服务是网络管理中常用的一种远程登录工具,它允许用户通过TCP/IP协议从一台计算机连接到另一台计算机。然而,有时默认的Linux发行版可能并未包含telnet服务器,这时就需要进行手动移植。本文将...

    Linux主机防CC攻击的方法.pdf

    CC 攻击是一种专门针对 Web 应用的攻击方式,通过大量的 HTTP Request 攻击目标 Web 服务器,导致服务器无法正常访问。以下是 Linux 主机防 CC 攻击的方法: 1. 使用 iptables 防火墙限制访问主机的端口,减少攻击...

    ip代理采集和本地切换ip代理上网

    这可以通过以下几种方式进行: 1. **系统级代理设置**:在Windows系统中,可以在“网络和共享中心”里设置代理服务器,适用于所有应用程序。在Linux或MacOS中,可以通过修改环境变量`http_proxy`和`https_proxy`来...

    Linux Enterprise Cluster选译

    为了避免这种情况的发生,Heartbeat采用了以下几种方法: 1. **冗余物理连接**:通过使用多个独立的物理连接来发送心跳信号,可以减少单点故障的风险。 2. **Shoot the Other Node in the Head (STONITH)**:这是一...

Global site tag (gtag.js) - Google Analytics