Хост из сетки 192.168.10.192/26 пойдет через таблицу comlan, с DG на ppp1
root@dcul:~# iptables-save -t mangle
# Generated by iptables-save v1.4.4 on Thu Jan 5 16:57:01 2012
*mangle
:PREROUTING ACCEPT [1564448:144663076]
:INPUT ACCEPT [1506378:115681918]
:FORWARD ACCEPT [51125:28122387]
:OUTPUT ACCEPT [2315674:1959606326]
:POSTROUTING ACCEPT [2367066:1987784261]
-A PREROUTING -s 192.168.10.192/26 -j MARK --set-xmark 0x2/0xffffffff
-A PREROUTING -s 192.168.10.128/26 -j MARK --set-xmark 0x3/0xffffffff
-A PREROUTING -s subnet/29 -j MARK --set-xmark 0x4/0xffffffff
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Jan 5 16:57:01 2012
root@dcul:~# iptables -t mangle -nvL PREROUTING
Chain PREROUTING (policy ACCEPT 1567K packets, 145M bytes)
pkts bytes target prot opt in out source destination
25064 12M MARK all -- * * 192.168.10.192/26 0.0.0.0/0 MARK xset 0x2/0xffffffff
272K 12M MARK all -- * * 192.168.10.128/26 0.0.0.0/0 MARK xset 0x3/0xffffffff
1683 140K MARK all -- * * subnet/29 0.0.0.0/0 MARK xset 0x4/0xffffffff
root@dcul:~# ip rule
0: from all lookup local
32760: from subnet/29 lookup realnet
32761: from 213.109.24.248 lookup comlan
32762: from 176.195.255.155 lookup konsul
32763: from all fwmark 0x4 lookup realnet
32764: from all fwmark 0x3 lookup konsul
32765: from all fwmark 0x2 lookup comlan
32766: from all lookup main
32767: from all lookup default
root@dcul:~#
Таблица comlan
root@dcul:~# ip r s t comlan
default dev ppp1 scope link
192.168.10.0/24 dev vlan6 scope link
192.168.100.0/28 dev vlan5 scope link
subnet/29 dev vlan7 scope link
Интерфейс ppp1
root@dcul:~# ip a s dev ppp1
13: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 213.109.24.248 peer 172.31.1.1/32 scope global ppp1
root@dcul:~#
Маршрут с хоста.Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\>tracert -d ya.ru
Трассировка маршрута к ya.ru [93.158.134.3]
с максимальным числом прыжков 30:
1 1 ms <1 мс <1 мс 192.168.10.1
2 2 ms 1 ms 1 ms 172.31.1.1
3 1 ms 1 ms 1 ms 213.109.31.253
4 2 ms 2 ms 2 ms 87.251.152.229
5 2 ms 2 ms 4 ms 81.91.177.49
6 2 ms 2 ms 2 ms 193.232.244.93
7 6 ms 3 ms 3 ms 213.180.213.70
8 3 ms 3 ms 3 ms 93.158.134.3
Трассировка завершена.
C:\>
172.31.1.1 - вторым хопом как раз туннель на ppp1
Теперь меняем условия, тот же хост, той же сети пойдёт через 2-й канал и таблицу konsul c GD на ppp0
root@dcul:~# iptables-save -t mangle
# Generated by iptables-save v1.4.4 on Thu Jan 5 17:14:39 2012
*mangle
:PREROUTING ACCEPT [2236197:241064462]
:INPUT ACCEPT [2095423:156269747]
:FORWARD ACCEPT [130452:83540433]
:OUTPUT ACCEPT [3187175:2645778852]
:POSTROUTING ACCEPT [3317885:2729382407]
-A PREROUTING -s 192.168.10.192/26 -j MARK --set-xmark 0x3/0xffffffff
-A PREROUTING -s 192.168.10.128/26 -j MARK --set-xmark 0x3/0xffffffff
-A PREROUTING -s subnet/29 -j MARK --set-xmark 0x4/0xffffffff
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Jan 5 17:14:39 2012
root@dcul:~#
Марка у сети теперь не 0x2, а 0x3
Таблица konsul
root@dcul:~# ip r s t konsul
default dev ppp0 scope link
192.168.10.0/24 dev vlan6 scope link
192.168.100.0/28 dev vlan5 scope link
subnet/29 dev vlan7 scope link
Устройство ppp0
root@dcul:~# ip a s dev ppp0
9: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1372 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 176.195.255.155 peer 212.1.254.115/32 scope global ppp0
root@dcul:~#
Трассировка с хоста.
C:\>tracert -d ya.ru
Трассировка маршрута к ya.ru [93.158.134.3]
с максимальным числом прыжков 30:
1 <1 мс <1 мс <1 мс 192.168.10.1
2 1 ms 1 ms 1 ms 212.1.254.115
3 1 ms 1 ms 1 ms 212.1.252.33
4 2 ms 2 ms 2 ms 212.1.253.45
5 2 ms 2 ms 2 ms 212.1.242.41
6 2 ms 2 ms 2 ms 77.88.16.125
7 * * * Превышен интервал ожидания для запроса.
8 * * * Превышен интервал ожидания для запроса.
9 2 ms 2 ms 2 ms 213.180.213.57
10 2 ms 2 ms 2 ms 93.158.134.3
Трассировка завершена.
C:\>
И второй хоп это туннель на ppp0.
Правила в POSTROUTING, всех цепочек, причастных к такому действию, вообще не трогаются, они статичны, меняются только метки сетей, при этом все работает.