VPS侦探论坛

 找回密码
 注册
查看: 5212|回复: 5

iptables能过滤MAC地址么?

[复制链接]
发表于 2015-12-30 20:55:25 | 显示全部楼层 |阅读模式

iptables能过滤MAC地址么?
可以过滤指定端口的IP,那能过滤指定的mac地址吗?
如果只请允许国内IP通过,下载国内IP地址段添加到iptables保存就好吧?iptables和nginx.conf的配置文件体积达500K这样是否会影响网站速度与效应?
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2015-12-31 11:04:32 | 显示全部楼层


过滤指定mac的所有请求:iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP

原来发过一个教程:https://www.vpser.net/security/iptables-block-countries-ip.html
iptables上应该影响很小,nginx不好说
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2015-12-31 11:05:45 | 显示全部楼层

如果要只让国内的IP通过,刚看了一下ipdeny.com的,中国的cn.zone里面有6344行,是不是得这些的都有来添加呀,(当然不是用手动)。
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2015-12-31 11:11:16 | 显示全部楼层



原帖由 licess 于 2015-12-31 11:04 发表
:iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP

原来发过一个教程:https://www.vpser.net/security/iptables-block-countries-ip.html
iptables上应该影响很小,nginx不好说 ...

滤指定mac的所有请求,也许我想错了,这只是过滤本地的,不是用户的。
我添加了一下我一个手机的MAC,然后都能直接访问到了。应该过滤的是服务器本身的MAC才能实现
我还想过滤后,只能让固定的MAC地址的电脑访问指定的端口呢。因为没固定IP,所以就这样想了……
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2015-12-31 11:17:28 | 显示全部楼层

看了这一个代码,里面是要屏蔽中国的,试问一下里面是不是有打少个字?比如:COUNTRY="cn"理解为中国吧。但当到大概第25行有 country_file=$c.zone 这个$c.zone,是自定义的吗,还是说下载后的那个cn.zone更改过了。
同理,如果我只要中国的通过,其它国家禁止,是不是把第31行的
$IPTABLES -A INPUT -s $ip -j DROP
换成 $IPTABLES -A INPUT -s $ip -j ACCEPT
就可以了?
还是说这只是一个添加IP的脚本,等同于自动添加?
  1. #!/bin/bash
  2. # Block traffic from a specific country
  3. # written by vpsee.com

  4. COUNTRY="cn"
  5. IPTABLES=/sbin/iptables
  6. EGREP=/bin/egrep

  7. if [ "$(id -u)" != "0" ]; then
  8.    echo "you must be root" 1>&2
  9.    exit 1
  10. fi

  11. resetrules() {
  12. $IPTABLES -F
  13. $IPTABLES -t nat -F
  14. $IPTABLES -t mangle -F
  15. $IPTABLES -X
  16. }

  17. resetrules

  18. for c in $COUNTRY
  19. do
  20.         country_file=$c.zone

  21.         IPS=$($EGREP -v "^#|^[        DISCUZ_CODE_0        ]quot; $country_file)
  22.         for ip in $IPS
  23.         do
  24.            echo "blocking $ip"
  25.            $IPTABLES -A INPUT -s $ip -j DROP
  26.         done
  27. done

  28. exit 0
复制代码

[ 本帖最后由 kkfgef 于 2015-12-31 11:18 编辑 ]

军哥运维代购:http://shop63846532.taobao.com/

发表于 2015-12-31 21:59:26 | 显示全部楼层

没有问题,for c in $COUNTRY 里已经说明了,除了cn也可以添加其他国家

添加完还要执行 iptables -A INPUT -j REJECT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-28 17:35 , Processed in 0.026841 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表