在 guest network 下使用 iptables 无效? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
bluesky139

在 guest network 下使用 iptables 无效?

  •  
  •   bluesky139 Dec 8, 2016 4218 views
    This topic created in 3441 days ago, the information mentioned may be changed or developed.

    现正在使用 ASUS 路由,刷的 Merlin 固件。

    我开了一个访客网络, ifconfig 出来发现多了一个接口 "wl0.1",我想把这个网络的所有流量转到一个指定端口,因此用了以下 iptables 命令,但是无效:

    iptables -t nat -I PREROUTING -i wl0.1 -p tcp -j REDIRECT --to-port 2081

    如果我针对单一 IP 进行过滤是能行的,比如这个:

    iptables -t nat -I PREROUTING -s 10.10.10.112 -p tcp -j REDIRECT --to-port 2081

    有人知道是怎么回事么?

    20 replies    2016-12-08 18:20:49 +08:00
    jasontse
        1
    jasontse  
       Dec 8, 2016 via Android
    因为不是 wl0.1 ,可能是 br2 。用 brctl show 看一下。
    bluesky139
        2
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse brctl show 也没看到 br2.

    这是在开启访客网络前:
    > bridge name bridge id STP enabled interfaces
    > br0 8000.ac9e177dc070 yes vlan1
    > eth1
    > eth2

    这是开启后:
    > bridge name bridge id STP enabled interfaces
    > br0 8000.ac9e177dc070 yes vlan1
    > eth1
    > eth2
    > wl0.1
    47jm9ozp
        3
    47jm9ozp  
       Dec 8, 2016
    直接根据 guest ip 段过滤算了
    jasontse
        4
    jasontse  
       Dec 8, 2016 via Android
    @bluesky139 那你看它网关地址是从哪个 interface 来的
    bluesky139
        5
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse 这排版,我去传个图:
    ![]( http://ooo.0o0.ooo/2016/12/08/5848c2887235d.jpg)
    bluesky139
        6
    bluesky139  
    OP
       Dec 8, 2016
    @ooxxcc 由于 DHCP 不在路由上,在其它机器上,也不好配,所以不能按 IP 段来,这个最初我就想过。
    bluesky139
        7
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse 这个网关地址该怎么看?
    bluesky139
        8
    bluesky139  
    OP
       Dec 8, 2016
    @bluesky139 我自己是这样确定的,在手机上把接入点的 mac 地址打出来,跟 wl0.1 对应:
    https://ooo.0o0.ooo/2016/12/08/5848c77c3d752.png

    路由上整个 ifconfig 的结果是这样:
    https://ooo.0o0.ooo/2016/12/08/5848c8232b069.jpg
    jasontse
        9
    jasontse  
       Dec 8, 2016 via iPad
    private 和 guest 是一个段?。。。没有这样组网的
    bluesky139
        10
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse 这个 guest 是拿来当第二个 private 用的,只是纯粹需要转发流量,内网的一切资源正常使用,所以在同一个网段。
    网段怎样无所谓,我是想用 interface 来过滤,跟网段又没关系。
    jasontse
        11
    jasontse  
       Dec 8, 2016 via iPad
    @bluesky139 wl0.1 发到 br0 才会从防火墙出去你这样做不了的
    bluesky139
        12
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse 意思是我需要把“访问内部网络”关掉,让 guest 网络不能访问 private 网络对吗?这样又有个问题, guest 没有 DHCP 无法得到分配到 IP , 路由上的 DHCP 是关掉了的, DHCP 现由另一台服务器在服务。难道无解了?
    orzfly
        13
    orzfly  
       Dec 8, 2016   1
    1) wl0.1 不能加入 br0
    2) 需要在 iptables 里加入允许 br0 转发和 wl0.1 之间进行转发
    3) 为了能转发你需要给 br0 和 wl0.1 用两个不同的 IP 段
    orzfly
        14
    orzfly  
       Dec 8, 2016
    4) 用两个 IP 段并不是什么大事,反正有转发规则又不是不能互相访问……
    jasontse
        15
    jasontse  
       Dec 8, 2016 via iPad   1
    @bluesky139 访不访问内部网不重要,重要的是弄个 br1 出来单独划个子网, DHCP 服务器广播域的问题可以另外解决。
    bluesky139
        16
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse
    @orzfly
    我现在弄个了 br1 ,然后把 wl0.1 加入到了 br1 ,再配了网段:

    ifconfig br1 10.1.1.1 netmask 255.255.255.0 broadcast 10.1.1.255

    再到 iptables 配了 br1 允许转发,这时候手机可以上网了(先不考虑 DNS 和 DHCP 的问题)

    这时候我再执行以下命令,把 br1 所有流量转到 2081 上(这就是一个 ss-redir ):

    iptables -t nat -I PREROUTING -i br1 -p tcp -j REDIRECT --to-port 2081

    又不通了。这时我觉得以上 iptables 命令是生效了的,应该还需要怎么设置?
    bluesky139
        17
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse
    @orzfly
    结果,只在 FORWARD 链中添加了允许,没在 INPUT 链中添加允许,加上就对了。
    bluesky139
        18
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse DHCP 有什么好的解决方法?
    jasontse
        19
    jasontse  
       Dec 8, 2016 via iPad
    @bluesky139 可以用 802.1q VLAN Tagging 解决,具体看你服务器操作系统。
    bluesky139
        20
    bluesky139  
    OP
       Dec 8, 2016
    @jasontse 我用 dnsmasq 解决了, dnsmasq 可以指定 br1 ,可以不用 DNS 功能,只用 DHCP 。
    About     Help     Advertise     Blog     API     FAQ     Solana     3302 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 12:54 PVG 20:54 LAX 05:54 JFK 08:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86