Linux使用iptables限制多个IP访问你的服务器

前言

在Linux内核上,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等功能的一个子系统,这个子系统包含一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables是一个管理netfilter的工具。

多个连续IP操作

1、拆分成多条命令运行

iptables -A INPUT 192.168.122.2 -j ACCEPT
iptables -A INPUT 192.168.122.3 -j ACCEPT
iptables -A INPUT 192.168.122.4 -j ACCEPT
iptables -A INPUT 192.168.122.5 -j ACCEPT
....

这种方式需要写很多条命令,而且会导致iptables的表很长不好管理,而且量多了也会很小很小地影响性能(可以忽略不计)。

2、对一个IP段的IP进行访问控制,可以根据IP/MASK的形式进行控制

iptables -A INPUT 192.168.122.0/24 -j ACCEPT

这种方式需要针对IP范围,计算出指定的源码,不灵活。(虽然很多使用为了方便都是使用这种方法,但是过多地授权会存在安全隐患)

3、iptables有很多个模块,其中iprange就是用来专门处理连续IP段的访问控制的

iptables -A INPUT -m iprange --src-range 192.168.122.2-192.168.122.34 -j ACCEPT #匹配源IP
iptables -A INPUT -m iprange --dest-range 8.8.8.2-8.8.8.22 -j DROP #匹配目标IP

这种方式比较灵活,不需要去计算掩码是多少,直接给出范围就可以了。

总结

目前官方好像没有支持不连续的IP,也有人添加了模块来支持不连续IP。

个人觉得如果要管理好iptables列表,还是要先进行整理一下,再进行限制,需要用到连续的IP就用上面的方式,不连续的还是老老实实写多条命令;而且机器多了还要安装模块,有可能影响系统的稳定性。

推荐:

感兴趣的朋友可以关注小编的微信公众号【码农那点事儿】,更多网页制作特效源码及学习干货哦!!!

以上所述是小编给大家介绍的Linux使用iptables限制多个IP访问你的服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Linux 配置静态IP的方法

    在新安装的Linux系统命令行下, 敲入:ifconfig,显示如下界面. 上面这张图显示网卡没有启动,那么我们敲入代码:ifup eth0启动网卡. 网卡启动后,我们可以看出,IP地址和网关等其他信息都已经出现. 但是我们需要的是静态IP,即不随着时间改变而改变的IP地址. 首先我们要知道我们的网关地址是多少. 敲入代码:route ,下图中的192.168.164.2就是我们的默认网管地址,记住这个,下面的配置需要用这个. 继续敲入代码: vi /etc/sysconfig/network-

  • Linux命令行修改IP、网关、DNS的方法

    网卡eth0    IP修改为 102.168.0.1   复制代码 代码如下: ifconfig eth0 102.168.0.1 netmask 255.255.255.0 网关修改为 102.168.0.254 复制代码 代码如下: route add default gw 102.168.0.254 Linux命令行修改DNS 复制代码 代码如下: echo "nameserver 202.202.202.20 ">> /etc/resolv.conf 重启网络服务

  • linux 双网卡绑定网络设置方法

    设置linux主机的主机名和域名 /etc/hosts 例子 127.0.0.1 localhost.localdomain localhost 一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开.其中#号开头的行做说明,不被系统解释. 第一部份:网络IP地址: 第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain 第二部份:主机名(主机名别名) ,其实就是主机名: 当然每行也

  • Linux下查询外网IP的几种方法总结

    Linux下查询外网IP的几种方法总结 Curl 纯文本格式输出: curl icanhazip.com curl ifconfig.me curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i  curl JSON格式输出: curl ipinfo.io/json curl ifconfig.me/all.json curl www.trackip.

  • Linux下修改IP、DNS和路由命令行配置方法

    一.快速修改,重启后设置就没了 ifconfig eth0 192.168.1.22 netmask 255.255.255.0 up route add default gw 192.168.1.2 二.修改配置文件,重启设置还在 (一)ubuntu 版本命令行设置静态IP 修改 /etc/network/interfaces # This filedescribes the networ k interfaces available onyour system # and how toact

  • 详解几种Linux 查询外网出口IP命令的方法

    Curl 纯文本格式输出: curl icanhazip.com curl ifconfig.me curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i curl JSON格式输出: curl ipinfo.io/jsoncurl ifconfig.me/all.jsoncurl www.trackip.net/ip?json curl XML格式输

  • 虚拟机中Linux新手入门配置IP以及重启网络

    刚刚接触虚拟机,或者刚在虚拟机中安装linux的朋友们,因为是在虚拟机中安装的系统,所以需要自己配置IP地址. 下面分几步来配置这个IP地址: 第一步:打开你的虚拟机,打开linux,并使用root账号登录. 如图,我是用的是CentOS7.2系统,点击登录进去后,进入敲指令的界面,输入vi /etc/sysconfig/network-scripts/ifcfg-eth0(后面的eth每台电脑不一样,可按tab键补全.) 按照上述指令进入配置IP的界面,如图所示 由于我是已经配好的了,所以会比

  • 虚拟机linux下静态IP的配置方法

    具体内容如下所示: 先对网络接口配置文件ifcfg-eth0进行设置 1.cd /etc/sysconfig/network-scripts/ 2.vi ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 ##设备名称 BOOTPROTO=static ##设置静态IP或则动态IP HWADDR=00:0C:29:C4:29:F4 ##MAC地址-物理地址 IPADDR=172.16.8.72

  • 解读Linux下ip命令展示的网络连接信息

    前言 ip 命令可以告诉你很多网络连接配置和状态的信息,但是所有这些词和数字意味着什么? 让我们深入了解一下,看看所有显示的值都试图告诉你什么. 当您使用 ip a(或 ip addr)命令获取系统上所有网络接口的信息时,您将看到如下所示的内容: $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:

  • Linux下用netstat查看网络状态、端口状态

    在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的 netstat命令的功能是显示网络连接.路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作. 该命令的一般格式为: netstat [选项] 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的. -c 每隔1秒就重新显示一遍,直到用户中断它. -i 显示所有网络接口的信息,格式同"i

随机推荐