Chinaunix

标题: iptables限制不了用户mac的问题? [打印本页]

作者: qinquan    时间: 2008-12-02 12:11
标题: iptables限制不了用户mac的问题?
我想实现以下功能,只有被允许的mac地址才能转发信息,其它的默认都禁止.
比如,允许00:0F:1E:00:00:83 转发,不允许00:1A:73:8E9:C6 以及其它的转发.
我使用iptables时,不管有没有被允许,都可以被转发.
我使用ebtables时,要么全部被禁止,其它都不能转发;要么部分被禁止,其它都允许;而不是我想实现的,部分允许,其它都禁止.

iptables的设置:

iptables -F
iptables -P FORWARD DROP
iptables -A FORWARD -m mac --mac-source 00:0F:1E:00:00:83 -j ACCEPT
不管其它没有被允许的mac地址,比如00:1A:73:8E9:C6也可以被转发.


iptables -F
iptables -P FORWARD DROP
iptables -A FORWARD -m mac --mac-source 00:0F:1E:00:00:83 -j ACCEPT

iptables -A FORWARD -m mac --mac-source 00:1A:73:8E9:C6 -j DROP

都可以转发

ebtables的设置:

ebtables -F
iptables -A FORWARD -s 00:1A:73:8E9:C6 -j DROP

可以拒绝对00:1A:73:8E9:C6 的转发,但是其它都允许

下面的设置不行:
ebtables -F
ebtables -P FORWARD DROP
ebtables -A FORWARD -s 00:0F:1E:00:00:83 -j ACCEPT

所有得mac地址都不能被转发


请问,怎么才能实现只有被允许的mac地址才能转发信息,其它的默认都禁止了?
谢谢!




作者: 剑次狼    时间: 2008-12-02 13:45
  1. 00:0C:29:5F:DB:9A为1.8
  2. 00:0C:29:28:34:2A为1.7
  3. 1.8和1.7默认网关指向为1.1


  4. 在1.1上执行
  5. echo 1 > /proc/sys/net/ipv4/ip_forward

  6. /sbin/iptables -F
  7. /sbin/iptables -F -t nat
  8. /sbin/iptables -P INPUT ACCEPT
  9. /sbin/iptables -P OUTPUT ACCEPT
  10. /sbin/iptables -P FORWARD DROP
  11. /sbin/iptables -A FORWARD -m mac --mac-source 00:0C:29:5F:DB:9A -j ACCEPT
  12. 1.8 telnet分公司443成功
  13. 1.7 telnet分公司443超时
  14. 测试成功




  15. /sbin/iptables -F
  16. /sbin/iptables -F -t nat
  17. /sbin/iptables -P INPUT ACCEPT
  18. /sbin/iptables -P OUTPUT ACCEPT
  19. /sbin/iptables -P FORWARD ACCEPT
  20. /sbin/iptables  -A FORWARD -m mac --mac-source 00:0C:29:28:34:2A -j DROP
  21. 1.8 telnet分公司443成功
  22. 1.7 telnet分公司443超时
  23. 测试成功
复制代码

检查下你的转发问题吧,应该可能是你别的策略导致的。
你是使用单臂路由还是双网卡?

你参照我的脚本修改下MAC地址直接在你的防火墙上跑下试试。

[ 本帖最后由 剑次狼 于 2008-12-2 14:58 编辑 ]
作者: kns1024wh    时间: 2008-12-02 21:54
标题: 回复 #1 qinquan 的帖子
modprobe看看相应的netfilter的模块是否加载了
还有就是命令执行的时候是否出现提示
作者: 剑次狼    时间: 2008-12-02 22:09
原帖由 kns1024wh 于 2008-12-2 21:54 发表
modprobe看看相应的netfilter的模块是否加载了
还有就是命令执行的时候是否出现提示

恩~很有可能
作者: qinquan    时间: 2008-12-03 11:10
我使用了两块网卡,中间用网桥连接。
如果用ebtables时,需要做修改,如果允许一个mac地址,源地址和目的地址都要允许。
ebtables -F
ebtables -P FORWARD DROP
ebtables -A FORWARD -s 00:0F:1E:00:00:83 -j ACCEPT
ebtables -A FORWARD -d 00:0F:1E:00:00:83 -j ACCEPT
经过这样的修改后,默认都会拒绝,00:0F:1E:00:00:83会被允许

iptables下我还要去试试




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2