OpenWrt 策略路由(簡)
阿新 • • 發佈:2019-01-09
platform bcm2708
system chaos calmer 15.05.1(韌體用的官網)
ipk ip-full
目的:指定ip走不同的vpn線路。
l2tp撥號,啟動本地pptp伺服器
[email protected]:~# ifup green
[email protected]:~# /etc/init.d/pptpd start
打通防火牆,vpn client正常訪問外網:
iptables -t nat -A POSTROUTING -s 12.12.12.0/24 -j MASQUERADE iptables -A forwarding_rule -s 12.12.12.0/24 -j ACCEPT
此時出口走main表,即:
[email protected]:~# ip rule list 0: from all lookup 128 1: from all lookup local 32766: from all lookup main 32767: from all lookup default [email protected]:~# [email protected]:~# ip route list table main default via 100.74.0.1 dev pppoe-ChinaUnic 192.168.1.0/24 dev wlan0 ... ...
現在,開始讓地址為12.12.12.2的機器走l2tp-green出口:
opkg install ip-full # 需要ip-full軟體包 echo "252 green" >> /etc/iproute2/rt_tables # 新增一路由表, id:252(1-252可用), name:green cat /etc/iproute2/rt_tables # # reserved values # 128 prelocal 255 local 254 main 253 default # local 252 green # 新增至rt_tables後,即可使用別稱green來替代編號252,如下: ip route flush table 252 # 上述指令可改寫為ip route flush table green # 清空此表 ip route add default dev l2tp-green table 252 # 在252表中新增預設路由(定出口) ip route add 12.12.12.2 dev ppp1 table 252 # 在252表中新增路由匹配項(誰能用) ip rule add from 12.12.12.2 to all table 252 prio 3 # 新增策略規則,優先順序:3(3-32765)(哪些匹配的地址走green表?)
最終效果:
[email protected]:~# ip route list table 252
default via 10.1.0.1 dev l2tp-green
12.12.12.2 dev ppp1 scope link
[email protected]:~#
[email protected]:~# ip rule list
0: from all lookup 128
1: from all lookup local
3: from 12.12.12.2 lookup green /*已生效*/
32766: from all lookup main
32767: from all lookup default
註釋:
ip rule { add | del } SELECTOR ACTION prio
SELECTOR: from 源地址 to 目的地址
prio(優先順序): 數值低,條目更靠前,更早進行匹配查詢,反之亦然
鳴謝:
運維生存時間@上海-天火