inux下最直接限制ip访问的方式有两种:

1.使用hosts.allow和hosts.deny来设置ip白名单和黑名单,/etc/目录下.

优先级为先检查hosts.deny,再检查hosts.allow,
后者设定可越过前者限制,
例如:
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
  1. 优先级为先检查hosts.deny,再检查hosts.allow,
  2. 后者设定可越过前者限制,
  3. 例如:
  4. 1.限制所有的ssh,
  5. 除非从216.64.87.0 - 127上来。
  6. hosts.deny:
  7. in.sshd:ALL
  8. hosts.allow:
  9. in.sshd:216.64.87.0/255.255.255.128
  10. 2.封掉216.64.87.0 - 127的telnet
  11. hosts.deny
  12. in.sshd:216.64.87.0/255.255.255.128
  13. 3.限制所有人的TCP连接,除非从216.64.87.0 - 127访问
  14. hosts.deny
  15. ALL:ALL
  16. hosts.allow
  17. ALL:216.64.87.0/255.255.255.128
  18. 4.限制216.64.87.0 - 127对所有服务的访问
  19. hosts.deny
  20. ALL:216.64.87.0/255.255.255.128
  21. 其中冒号前面是TCP daemon的服务进程名称,通常系统
  22. 进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd
  23. 其中IP地址范围的写法有若干中,主要的三种是:
  24. 1.网络地址--子网掩码方式:
  25. 216.64.87.0/255.255.255.0
  26. 2.网络地址方式(我自己这样叫,呵呵)
  27. 216.64.(即以216.64打头的IP地址)
  28. 3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:
  29. 216.64.87.0/255.255.255.0 -- 216.64.87.0/24
  30. 设置好后,要重新启动
  31. # /etc/rc.d/init.d/xinetd restart
  32. # /etc/rc.d/init.d/network restart

linux下限制ip访问的更多相关文章

  1. Linux下检测IP访问特定网站的ruby脚本

    root@ubuntu:~# vi check_ip.rbrequire 'rubygems' index = 1 max = 20 while (max-index) >= 0 puts in ...

  2. Ubuntu Linux下设置IP的配置命令

    Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...

  3. Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

    Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...

  4. linux下TCP/IP及内核参数优化调优(转)

    Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等. 如下配置是写在sysctl.con ...

  5. CentOS/Linux下设置IP地址

    CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...

  6. linux下取IP(正则)

    linux下取IP(正则) 常见方法: ifconfig eth0|grep "inet addr"|awk -F ":" '{print $2}'|awk ' ...

  7. 获取Linux下的IP地址 java代码

    /** * 获取Linux下的IP地址 * * @return IP地址 * @throws SocketException */ public static String getLinuxLocal ...

  8. linux禁止特定ip访问某个端口

    linux禁止特定ip访问某个端口   解决方法: 禁止特定ip访问8501端口的命令0:iptables -I INPUT -s 192.168.0.232 -ptcp --dport 8501 - ...

  9. linux下修改IP地址的方法

    linux下修改IP地址的方法 1.网卡的命名规则 在centos7中,en表示着:ethernet以太网,即现在所用的局域网,enX(X常见有以下3种类型) 2.IP地址的临时修改(重启后失效) 查 ...

随机推荐

  1. XeLaTeX下如何以原大小显示PNG

    在XeLaTeX里直接使用\includegraphics{test.png}这样的命令引入PNG,可能会发现图片直接被缩放到占满文档宽度,这是因为PNG这种bitmap类型的图片里通常不会带上met ...

  2. Cannot read property ‘msie’ of undefined错误原因以及解决方案

    最近把一个项目的jQuery升级到最新版,发现有些页面报错Cannot read property ‘msie’ of undefined.上jQuery网站上搜了一下,$.browser这个api从 ...

  3. Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合

    using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System. ...

  4. 【LOJ】#2064. 「HAOI2016」找相同字符

    题解 做后缀自动机题要一点脑洞,脑洞一开,就过了 我们显然要拿第二个串跑第一个串的后缀自动机 我们可以求出第二个串每个位置匹配到的节点,和匹配的长度L 那么我们统计一个后缀树上的根缀和,表示这样个节点 ...

  5. 记录移动端html界面中底部输入框触发焦点时键盘会把输入框遮挡的问题

      //浏览器当前的高度 var oHeight = $(document).height(); //监听窗口大小的时候动态改变底部输入框控制器的定位 $(window).resize(functio ...

  6. 000 Excel获取数据

    1.目标网址 http://data.10jqka.com.cn/funds/ggzjl/field/zjjlr 二:需求一 1.需求 爬单个页面的数据 2.变化网址 http://data.10jq ...

  7. Python爬虫个人记录(二) 获取fishc 课件下载链接

    参考: Python爬虫个人记录(一)豆瓣250 (2017.9.6更新,通过cookie模拟登陆方法,已成功实现下载文件功能!!) 一.目的分析 获取http://bbs.fishc.com/for ...

  8. Python 爬虫个人记录(一)豆瓣电影250

    一.爬虫环境 Python3.6 scrapy1.4 火狐浏览器 qq浏览器 二.scrapy shell 测试并获取 xpath 1.进入scrapy shell 2 .获取html fetch(' ...

  9. 远程连接mysql root账号报错:2003-can't connect to MYSQL serve(转)

    远程连接mysql root账号报错:2003-can't connect to MYSQL serve 1.远程连接Linux系统,登录数据库:mysql -uroot -p(密码) 2.修改roo ...

  10. Python并发编程系列之多线程

    1 引言 上一篇博文详细总结了Python进程的用法,这一篇博文来所以说Python中线程的用法.实际上,程序的运行都是以线程为基本单位的,每一个进程中都至少有一个线程(主线程),线程又可以创建子线程 ...