Есть два канала, по одному должен идти весь местный трафик,
а на второй заворачиваться весь зарубежный трафик.
#!/bin/sh
IP=/sbin/ip
. /etc/rc.d/data
init_kg_route ()
{
for i in $kg_ip
do
$IP rule del to $i table kg
$IP rule add to $i table kg
done
$IP route del default dev $mega_iface table kg metric 5
$IP route add default dev $mega_iface table kg metric 5
}
case "$1" in
'init')
$IP route del default
init_kg_route
$IP route add default dev $mega_iface metric 1
;;
'vpn')
$IP route add default dev $vpn_iface metric 2
;;
'direct')
$IP route del default dev $vpn_iface metric 2
;;
*)
echo "usage $0 vpn|direct|init"
esac
$IP route flush cache
Елси весь трафик идет по одному каналу то tracecoute показывает все
как надо. Елси же поднимаю второй и запускаю скрипт с аргументом
vpn, то перестают показываться маршруты и на родную зону и вне ее:(.
И еще один вопрос:
посмотреть таблицу маршрутизации - ip route ls
посмотреть правила - ip rule ls
а как можно посмотреть идет трафик через таблицу талбицу или она пока
еще не задействована, например командой
$IP route del default dev $mega_iface table kg metric 5
>а как можно посмотреть идет трафик через таблицу талбицу или она пока
еще не задействована, например командой
Трафик через таблицы маршрутизации не ходит. Есть кеш маршрутов, приходящий пакет ищется в кеше, если записи для него нету, то используются правила и таблицы.