免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8551 | 回复: 13
打印 上一主题 下一主题

[网络管理] 问一个iptables的“-m mac --mac-source”的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-20 21:15 |只看该作者 |倒序浏览
10可用积分
想用 -m mac --mac-source 实现IP和MAC的捆绑,试了一下不行。
iptables -P FORWARD DROP
iptables -A FORWARD -s 192.9.111.159 -m mac --mac-source 00:1A:A0:CC:990 -j ACCEPT


ip a结果如下
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:15:17:62:af:b2 brd ff:ff:ff:ff:ff:ff
    inet 10.76.73.107/28 brd 10.76.73.111 scope global eth2
    inet6 fe80::215:17ff:fe62:afb2/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0e:0c:6b:b4:45 brd ff:ff:ff:ff:ff:ff
    inet 10.88.187.75/25 brd 10.88.187.127 scope global eth1
    inet6 fe80::20e:cff:fe6b:b445/64 scope link
       valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:21:5a:a6:06:da brd ff:ff:ff:ff:ff:ff
    inet 192.9.254.70/24 brd 192.9.254.255 scope global eth0
    inet6 fe80::221:5aff:fea6:6da/64 scope link
       valid_lft forever preferred_lft forever
5: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

网络环境,内网是192.9.0.0/16,大概使用了十几个网段(192.9.2.0,192.9.3.0........192.9.115.0),erth0是防火墙内网,一般访问外网都是通过eth1出去,eth2是本地访问本地一些服务器用的。
想做IP和MAC限制无效,不知道是内核不支持,还是在三层交换上就行不通?
内核是2.6.18-164(RHEL AS 5.3),/lib/modules/2.6.18-164.el5/kernel/net/netfilter下面有xt_mac.ko 文件。

论坛徽章:
0
2 [报告]
发表于 2009-09-20 21:22 |只看该作者
IP---MAC绑定是你这么绑的吗?
/etc/ethers中IP  MAC
然后arp -f

论坛徽章:
0
3 [报告]
发表于 2009-09-20 21:31 |只看该作者
/etc/ethers需要一个网段里面,跨网段不认。

#more /etc/ethers
00:1a:a0:cc:99:d0       192.9.111.159
# arp -f
SIOCSARP: Network is unreachable
arp: cannot set entry on line 1 of etherfile /etc/ethers !

论坛徽章:
0
4 [报告]
发表于 2009-09-20 21:36 |只看该作者

回复 #3 race 的帖子

那俺就不知道了。
iptables好像没绑IP--MAC的功能吧?

论坛徽章:
0
5 [报告]
发表于 2009-09-20 22:08 |只看该作者
可以变相实现,允许,且仅允许合法的数据出去

  1. iptables -A FORWARD -s 192.9.111.159 -m mac --mac-source 00:1A:A0:CC:99:D0 -j ACCEPT
  2. iptables -A FORWARD -s 192.9.111.159 -j DROP
复制代码

这样,使用这个 IP 的其他机器就无法上网了,但这是 IP/MAC 绑定,保护 IP 的模式
如果要保护 MAC 的模式,可以这样

  1. iptables -A FORWARD -s 192.9.111.159 -m mac --mac-source 00:1A:A0:CC:99:D0 -j ACCEPT
  2. iptables -A FORWARD -m mac --mac-source 00:1A:A0:CC:99:D0 -j DROP
复制代码

这样,这个 MAC 就只有使用 192.9.111.159 才能上网了

论坛徽章:
0
6 [报告]
发表于 2009-09-20 22:33 |只看该作者
多谢白金。
交换机每个端口里面可以指定运行的一个MAC接入,防火墙上就是需要保护运行接入的MAC了。

论坛徽章:
0
7 [报告]
发表于 2009-09-20 23:04 |只看该作者

回复 #5 platinum 的帖子

明天试试。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2009-09-21 08:28 |只看该作者
mac过三层之后就不是原始的mac了

论坛徽章:
0
9 [报告]
发表于 2009-09-21 11:10 |只看该作者
原帖由 chenyx 于 2009-9-21 08:28 发表
mac过三层之后就不是原始的mac了

我也在核实这个问题。

论坛徽章:
0
10 [报告]
发表于 2009-09-21 13:15 |只看该作者
原帖由 race 于 2009-9-21 11:10 发表

我也在核实这个问题。

我的那个方法适用于不跨路由的纯二层网络
如果下面有个三层交换做了路由,理论上讲上层的设备是只能看到 IP 无法看到 MAC 的,因为 MAC 是三层交换的了

不过有个变相的方法可以实现,就是让每个用户运行一个定制的小软件,这个小软件会获取机器的 IP 和 MAC,然后发给所为的 “验证设备”,实现跨三层 IP/MAC 绑定

这个方法需要有开发能力才行了,默认是不支持的,有很多所谓跨三层 IP/MAC 绑定的设备也是类似这样实现的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP