关于 openwrt 策略路由的配置,请大家帮忙看看错哪了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
lanwairen123
V2EX    OpenWrt

关于 openwrt 策略路由的配置,请大家帮忙看看错哪了

  •  1
     
  •   lanwairen123 2015-12-14 20:24:39 +08:00 1285 次点击
    这是一个创建于 3612 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为我已经毕业了,学校图书馆订阅的一些期刊论文电子资源只有在学校内网才可以免费下载,正好跟学校机房的老师比较熟悉,给开了个内网的 Hyper-V 虚拟机,所以想通过这个虚拟机来实现在家里直接访问学校订阅的电子资源。

    现在情景是我在家里的 openwrt 路由器上使用 tinc (一个 P2P V.P.N )连接到香港 SL 的 VPS 上,然后在我学校内网的 Hyper-V 虚拟机( Debian8 系统)上同样用 tinc 连接到 VPS ,这样 openwrt 和学校内网的虚拟机就可以组成一个内网,然后我分别在路由器和虚拟机上做了 MASQUADE 转发。

    openwrt 路由器的 tinc 内网地址是 10.0.10.2 虚拟机的 tinc 内网地址是 10.0.10.20 做完 MASQUADE 转发后,我可以在家里的内网直接访问 10.0.10.20 ,并且在路由器上设置静态路由后,家里的内网还可以直接访问学校内网,并且像 CNKI ,重庆维普,万方数据这样的网站,通过 dig 查到 IP 后设置静态路由经过虚拟机内网 10.0.10.20 也可以通过 IP 登录。

    但是这样不太方便,每个网站都要 dig 找 IP ,一些网站有多个 IP 设置也比较麻烦,所以想到使用 dnsmasq+ipset+ip route 策略路由的方式来实现,这样就可以只是在 dnsmasq 里面设置需要通过 tinc V.P.N 访问的域名,就可以了,并且还支持泛域名,比之前的要方便的多。

    实现过程如下:

    #!/bin/sh ipset -N -! beihua iphash #[ $(ipset list beihua 2>/dev/null| wc -l) -eq 0 ] && { ipset -N beihua iphash; } ip route add default via 10.0.10.20 dev tinc0 table 200 ip rule add fwmark 0x14 table 200 iptables -t mangle -I PREROUTING -m set --match-set beihua dst -j MARK --set-mark 0x14 

    首先设置一个 ipset 叫 beihua ,然后设置一个叫 200 的路由表默认通过 tinc0 ,通过 iptables 将 beihua 打上 0x14 标签,然后将这个标签通过路由表 200.
    然后我通过 ipset 添加了一个学校内网的 IP , ipset add beihua 10.5.2.254 ,但是 traceroute 发现并没有通过我设置的路由表,折腾了一下午,实在找不出原因,所以写出来请大家帮忙看看,是哪里配置错了。

    [root@MagicBox:/root]#ipset list beihua Name: beihua Type: hash:ip Revision: 2 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 8264 References: 1 Members: 10.5.2.254 [root@MagicBox:/root]#iptables -t mangle --list -n Chain PREROUTING (policy ACCEPT) target prot opt source destination MARK all -- 0.0.0.0/0 0.0.0.0/0 match- set beihua dst MARK set 0x14 fwmark all -- 0.0.0.0/0 0.0.0.0/0 SS_SPEC_TPROXY udp -- 0.0.0.0/0 0.0.0.0/0 ! match-set ss_spec_lan_ac src /* _SS_SPEC_RULE_ */ [root@MagicBox:/root]#ip rule list 0: from all lookup 128 0: from all fwmark 0x1/0x1 lookup 100 0: from all fwmark 0x14 lookup 200 1: from all lookup local 32766: from all lookup main 32767: from all lookup default [root@MagicBox:/root]#ip route list table 200 default via 10.0.10.20 dev tinc0 [root@MagicBox:/root]#traceroute 10.5.2.254 traceroute to 10.5.2.254 (10.5.2.254), 30 hops max, 38 byte packets 1 192.168.1.1 (192.168.1.1) 5.040 ms 1.980 ms 1.800 ms 2 hn.kd.ny.adsl (123.14.144.1) 18.100 ms 14.740 ms 12.860 ms 
    第 1 条附言    2015-12-15 19:43:11 +08:00
    自己解决了,原来添加 PREROUTING 链后 openwrt 内网的主机已经可以访问学校内网了,只不过 openwrt 本机还不能通过 VPN 访问学校内网,添加一条 mangle 表的 OUTPUT 链后, openwrt 本机也可以访问学校内网了,到此顺利实现在家访问学校内网资源的目的。
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2997 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 13:08 PVG 21:08 LAX 05:08 JFK 08:08
    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