zoukankan      html  css  js  c++  java
  • zt-Simple source policy routing

    原文地址: http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html

    4.1. Simple source policy routing

    Let's take a real example once again, I have 2 (actually 3, about time I returned them) cable modems, connected to a Linux NAT ('masquerading') router. People living here pay me to use the Internet. Suppose one of my house mates only visits hotmail and wants to pay less. This is fine with me, but they'll end up using the low-end cable modem.

    The 'fast' cable modem is known as 212.64.94.251 and is a PPP link to 212.64.94.1. The 'slow' cable modem is known by various ip addresses, 212.64.78.148 in this example and is a link to 195.96.98.253.

    The local table:

    [ahu@home ahu]$ ip route list table local
    broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
    local 10.0.0.1 dev eth0  proto kernel  scope host  src 10.0.0.1 
    broadcast 10.0.0.0 dev eth0  proto kernel  scope link  src 10.0.0.1 
    local 212.64.94.251 dev ppp0  proto kernel  scope host  src 212.64.94.251 
    broadcast 10.255.255.255 dev eth0  proto kernel  scope link  src 10.0.0.1 
    broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
    local 212.64.78.148 dev ppp2  proto kernel  scope host  src 212.64.78.148 
    local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
    local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 

    Lots of obvious things, but things that need to be specified somewhere. Well, here they are. The default table is empty.

    Let's view the 'main' table:

    [ahu@home ahu]$ ip route list table main 
    195.96.98.253 dev ppp2  proto kernel  scope link  src 212.64.78.148 
    212.64.94.1 dev ppp0  proto kernel  scope link  src 212.64.94.251 
    10.0.0.0/8 dev eth0  proto kernel  scope link  src 10.0.0.1 
    127.0.0.0/8 dev lo  scope link 
    default via 212.64.94.1 dev ppp0 

    We now generate a new rule which we call 'John', for our hypothetical house mate. Although we can work with pure numbers, it's far easier if we add our tables to /etc/iproute2/rt_tables.

    # echo 200 John >> /etc/iproute2/rt_tables
    # ip rule add from 10.0.0.10 table John
    # ip rule ls
    0:	from all lookup local 
    32765:	from 10.0.0.10 lookup John
    32766:	from all lookup main 
    32767:	from all lookup default

    Now all that is left is to generate John's table, and flush the route cache:

    # ip route add default via 195.96.98.253 dev ppp2 table John
    # ip route flush cache

    And we are done. It is left as an exercise for the reader to implement this in ip-up.

  • 相关阅读:
    D3D中的Alpha颜色混合(1)
    最小的MFC程序
    命名空间规则【内部】
    能登陆QQ,打不开网页
    .net重要的开源组件[更新中]
    validateRequest="false"属性及xss攻击
    RSS介绍
    Virtual、Override和New关键字的使用
    SQL语句精妙集合
    绝好的软件集合
  • 原文地址:https://www.cnblogs.com/bettersky/p/6120925.html
Copyright © 2011-2022 走看看