可以采用策略路由(Policy Routing)机制实现,一般情况下,在Linux路由中存在local,main,defalt三个路由表,在查找路由时,依次搜索这三张路由表,直到找到合适的路由。
linux中路由是比较复杂的,三两句话说不清楚,建议你阅读下《Understanding Linux Network Internals》中的相关分析。
策略路由突破传统仅仅依赖目的IP进行路由的做法,可以将soure/dst ip,Ingress device,TOS等作为查找路由的依据。
这方面的原理可以查找一些关于ip route2的介绍,或者参考《Understanding Linux Network Internals》中Chapter 31. Routing: Advanced的分析。
具体你的这个问题可以这样配置:
ip rule add from 192.168.1.100 table 240
ip rule add from 192.168.168.6 table 241
ip route add default via 192.168.1.1 table 240 dev eth10
ip route add default via 192.168.168.1 table 241 dev eth11
这里的240,241是随便指定的路由表ID,存在从0到254张路由表,其中0号(local),253(main),254(default)是系统的,从0号开始查找路由。