OpenWrt 如何转发特定流量在 Lan 上的 IP - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
paradislover
V2EX    OpenWrt

OpenWrt 如何转发特定流量在 Lan 上的 IP

  •  
  •   paradislover 2015-10-28 12:42:11 +08:00 1498 次点击
    这是一个创建于 3637 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为路由器本身性能较差(IP: 192.168.5.1),在 Lan 端接了一台性能较的机器( IP:192.168.5.100 )监听 1080 端口,因为 192.168.5.100 这台机器没法做 GEOIP 或者 IPSET. 所以就在路由器上通过 GEOIP 来区分流量。

    iptables -t nat -A PREROUTING -p tcp -m geoip ! --dst-cc CN -j DNAT --to-destination 192.168.5.100:1080
    iptables -t nat -A POSTROUTING -p tcp -d 192.168.5.100 --dport 1080 -j SNAT --to-source 192.168.5.1

    但是不起作用,请教各位需要怎么设置?
    第 1 条附言    2015-10-28 14:36:04 +08:00
    192.168.5.100 也是一台 OpenWrt 机器,监听 1080 端口
    这边没做什么设置
    第 2 条附言    2015-10-28 17:25:45 +08:00
    18 条回复    2015-10-29 11:38:27 +08:00
    fangdingjun
        1
    fangdingjun  
       2015-10-28 12:56:53 +08:00
    使用`iptables -nvL -t nat` 查看一下规则的计数,如果计数不为 0 ,则规则没有问题,要检查 192.168.5.100 的配置
    paradislover
        2
    paradislover  
    OP
       2015-10-28 13:02:30 +08:00
    @fangdingjun 192.168.5.100 需要怎么配置
    GPU
        3
    GPU  
       2015-10-28 13:11:05 +08:00
    iptables -t nat -A POSTROUTING -p tcp -d 192.168.5.100 --dport 1080 -j SNAT --to-source 192.168.5.1

    以上这条换

    iptables -t nat -A POSTROUTING -j MASQUERADE

    试试行不行
    paradislover
        4
    paradislover  
    OP
       2015-10-28 14:36:44 +08:00
    @GPU 不行,依然不能通过 192.168.5.100 上网
    GPU
        5
    GPU  
       2015-10-28 15:15:59 +08:00
    @paradislover 画个图片把。文字有点难理解
    paradislover
        6
    paradislover  
    OP
       2015-10-28 17:26:12 +08:00
    @GPU 图片已附
    GPU
        7
    GPU  
       2015-10-28 18:09:25 +08:00
    你有的.

    ip_forward 了?
    EPr2hh6LADQWqRVH
        8
    EPr2hh6LADQWqRVH  
       2015-10-28 18:29:45 +08:00
    简直乱搞, 你确定你懂 DNAT 是啥?
    让你算力强的机器当默认网关,在这台机器上再连上级路由器,所有数据包多一跳
    还有难道 Geoip 就不消耗算力么
    lsylsy2
        9
    lsylsy2  
       2015-10-28 18:38:59 +08:00
    @avastms 他应该是让那台机器做 s!@#s 的服务器( v!@#p$%^n 同理),加密吃的 CPU 比 geoip 多多了
    paradislover
        10
    paradislover  
    OP
       2015-10-28 19:23:42 +08:00
    @lsylsy2 还是你懂我
    paradislover
        11
    paradislover  
    OP
       2015-10-28 19:34:41 +08:00
    @avastms 那给个方案吧, proxy 没法分流,就是这么个情况,所以…折腾
    lsylsy2
        12
    lsylsy2  
       2015-10-28 19:52:05 +08:00
    @paradislover 因为我也在研究这么搞……
    不过我是 VPN ,最后大概是拿块 x86 的主板当主路由,而且 VPN 是改路由表也不涉及 ipset 所以没啥经验给你了……
    pagxir
        13
    pagxir  
       2015-10-28 22:16:44 +08:00 via iPad
    跟路由没关系,是因为你的 proxy 是无法正常工作的,因为在执行 NAT 转发的过程中你的目标 IP 经被修改了所以请你的 pxoxy 根本不可能拿到正确的目标地址。
    XiaoxiaoPu
        14
    XiaoxiaoPu  
       2015-10-28 22:36:19 +08:00
    楼上说得对 ss-redir 之所以能透明代理,是因为内核在 redirect 时保存了原始的目的地址和端口,可以用 socket 接口取得。跨越了不同的机器后,原始的目的地址和端口就丢失了。
    paradislover
        15
    paradislover  
    OP
       2015-10-28 23:23:56 +08:00 via Android
    @pagxir 恩,受教
    BOYPT
        16
    BOYPT  
       2015-10-28 23:35:44 +08:00
    看到标题脑内自觉翻译成英文
    firexp
        17
    firexp  
       2015-10-28 23:53:32 +08:00
    ss-redir 必须运行在网关上
    pagxir
        18
    pagxir  
       2015-10-29 11:38:27 +08:00
    其实可以有变通的方法实现你的需求的,
    方法 1 、修改 DNS
    方法 2 、请作如下修改

    sysctl -w net.ipv4.conf.all.rp_filter=0
    iptables -t mangle -A PREROUTING -p tcp -d <YOUR_RELAY_VPS_IP> -j RETURN
    iptables -t mangle -A PREROUTING -p tcp -m geoip ! --dst-cc CN -j MARK --set-mark 0x33445566

    ip route flush table 30
    ip route add default dev $if_lan table 30
    ip rule add fwmark 0x33445566 table 30 pref 999
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1369 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:41 PVG 00:41 LAX 09:41 JFK 12:41
    Do have faith in what you're doing.
    ubao 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