V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
scola
V2EX  ›  Linux

tplink-703n-openwrt 使用iptables控制连接wlan的客户端 不生效

  •  
  •   scola · 2013-10-27 20:43:29 +08:00 · 6761 次点击
    这是一个创建于 4030 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我家里用了两台路由器,一台普通路由器A的连接宽带,ip:192.168.1.1
    另一台刷了openwrt的路由器B连接A的lan口,通过bridge上网,设置了 静态IP:192.168.1.111

    现在有一个android手机无线连接到 openwrt的路由器B,可以正常上网。手机的ip:192.168.1.100

    现在我想block掉手机的IP,让手机上不了网(其实我想干点别的,先从最简单的开始)

    我参考了这里 http://bredsaal.dk/some-small-iptables-on-openwrt-tips

    iptables -A input_wan -s 192.168.1.100 --jump REJECT
    iptables -A forwarding_rule -d 192.168.1.100 --jump REJECT

    运行完这两命令之后手机还是照样能上网。通过iptables -L,能在list里找到上面的命令
    在http://192.168.1.111/cgi-bin/luci/ 的防火墙里也能找到 相关的信息。

    链表 forwarding_rule (引用: 1)
    规则# 数据包 流量 对象 协议 标志 入口 出口 源地址 目的地址 选项
    1 0 0.00 B REJECT all -- * * 0.0.0.0/0 192.168.1.100 reject-with icmp-port-unreachable
    2 0 0.00 B DROP all -- * * 0.0.0.0/0 192.168.1.100 -

    链表 input_wan (引用: 1)
    规则# 数据包 流量 对象 协议 标志 入口 出口 源地址 目的地址 选项
    1 0 0.00 B REJECT all -- * * 192.168.1.100 0.0.0.0/0 reject-with icmp-port-unreachable
    2 0 0.00 B DROP all -- * * 192.168.1.100 0.0.0.0/0 -

    我又尝试了别的chain(INPUT,OUTPUT,FORWARD。。。)。REJECT换成DROP也不行
    手机始终能上网。到底要怎样才能让手机上不了网呢,或者问题出在哪里
    iptables的命令应该是没有问题的。能控制openwrt的lan端口转发。

    各位大大能不能给点建议。谢谢^_^
    第 1 条附言  ·  2013-10-29 21:24:30 +08:00
    我把自带的防火墙卸载了 opkg remove firewall
    还是不能用iptables 控制 wan

    我使用 iptables -I OUTPUT -o br-lan -j DROP 之后
    不能 ssh 到路由器了。http://192.168.1.111/cgi-bin/luci/ 也无法打开。
    说明iptables是没有问题的。但是此时手机连接路由器的wifi仍然可以上网。
    总之就是wifi不受iptables的控制
    第 2 条附言  ·  2013-11-26 14:02:50 +08:00
    多谢大侠shell909090的在博客中的回复
    http://shell909090.com/blog/2011/09/%E5%90%88%E7%94%A8%E4%B8%A4%E4%B8%AA%E8%B7%AF%E7%94%B1%E5%99%A8%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E6%A1%88/
    我这个路由器内核不支持bridge-nf,在支持bridge-nf之前,网桥的包都是二层的,不过iptables。
    我现在不使用bridge模式连网了,直接拨号连接,iptables生效了
    9 条回复    1970-01-01 08:00:00 +08:00
    lenzhang
        1
    lenzhang  
       2013-10-27 20:54:44 +08:00   ❤️ 1
    楼主把openwrt自带的防火墙包卸载掉就好了
    LazyZhu
        2
    LazyZhu  
       2013-10-27 23:24:46 +08:00
    好乱啊,openwrt的路由器B设置为 192.168.2.x 不行吗?
    scola
        3
    scola  
    OP
       2013-10-28 08:18:06 +08:00
    @lenzhang 谢谢了,我晚上回家试试。现在还不清楚自带的防火墙包是那个
    @LazyZhu 这个IP当时没有太考虑,只是想着不和路由器A冲突就行。
    tywtyw2002
        4
    tywtyw2002  
       2013-10-29 13:40:33 +08:00   ❤️ 1
    -A是在最后面

    直接把防火墙block掉就好了

    或者自己在FORWARD表的最前面。。。。。。。


    我记得转发的数据包不走INPUT。
    如果DST_IP 不是路由器ip那么该包直走 forward
    http://www.opsers.org/wp-content/uploads/2010/03/123_thumb.png
    scola
        5
    scola  
    OP
       2013-10-29 21:23:26 +08:00
    @lenzhang
    @tywtyw2002

    我把自带的防火墙卸载了 opkg remove firewall
    还是不能用iptables 控制 wan

    我使用 iptables -I OUTPUT -o br-lan -j DROP 之后
    不能 ssh 到路由器了。http://192.168.1.111/cgi-bin/luci/ 也无法打开。
    说明iptables是没有问题的。但是此时手机连接路由器的wifi仍然可以上网。
    总之就是wifi不受iptables的控制
    tywtyw2002
        6
    tywtyw2002  
       2013-10-29 23:19:08 +08:00 via iPhone
    在forward 表里面加。。 用I 别用A
    -s 原地址 -j drop
    scola
        7
    scola  
    OP
       2013-10-30 08:08:36 +08:00
    @tywtyw2002 谢谢给建议,这个问题困扰我有几天了。
    iptables -I FORWARD -s 192.168.1.100 -j DROP
    这个我肯定也试过。
    晚上回家再试一遍
    zjgsamuel
        8
    zjgsamuel  
       2013-11-26 16:20:02 +08:00
    当你试的一点办法都没有的时候 可以试一下 DDWRT 说不定有惊喜
    我上次试一个无线桥接 openwrt死活不行 , DDWRT 一试就可以..
    xseven007
        9
    xseven007  
       2013-11-26 18:31:48 +08:00 via Android
    你用dhcp client模式不行么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:01 · PVG 02:01 · LAX 10:01 · JFK 13:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.