• 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.

  • 相关阅读:
    c数据结构 -- 线性表之 顺序存储结构 于 链式存储结构 (单链表)
    c数据结构 绪论
    c数据结构 -- 使用链表实现计数
    c数据结构 -- 链表的理解
    vue mvvm原理与简单实现 -- 上篇
    vue图书小案例
    排序
    裁剪图片
    下载图片
    图片缩放
  • 原文地址:https://www.cnblogs.com/bettersky/p/6120925.html
Copyright © 2020-2023  润新知