Достаточно часто необходимо прописывать правила маршрутизации вручную.
Для установки единственного шлюза по умолчанию (192.168.1.1) все ясно:
auto eth0 iface eth0 inet static address 192.168.1.55 netmask 255.255.255.0 gateway 192.168.1.1
Ниже приведен пример, когда указано, что сеть 10.10.10.0/24 видна через 192.168.1.2, а шлюз по умолчанию 192.168.1.1 .
Команды маршрутизации выполняются после поднятия сетевого интерфейса, при этом используется приставка up .
В случае отключения сетевого интерфейса, маршрутизация удаляется и при этом используется приставка down .
auto eth0 iface eth0 inet static address 192.168.1.55 netmask 255.255.255.0 up ip r add 10.10.10.0/24 via 192.168.1.2 up ip r add default via 192.168.1.1 down ip r del 10.10.10.0/24 via 192.168.1.2 down ip r del default via 192.168.1.1
Бывает, что к роутеру подходит несколько внешних каналов связи и надо пользователей локальной сети разделить по этим каналам.
Самый простой и эффективный способ - это создать виртуальные таблицы маршрутизации.
Преимущества его в том, что компьютера могут находиться в одном сегменте сети и использовать один и тот-же шлюз.
Например такая задача:
auto eth0 iface eth0 inet static address 192.168.1.55 netmask 255.255.255.0 gateway 192.168.1.1 auto eth1 iface eth1 inet static address 192.168.2.55 netmask 255.255.255.0 up ip rule add from 10.10.10.5 table 201 up ip rule add from 10.10.10.6 table 201 up ip route add default via 192.168.2.1 table 201 down ip route del default via 192.168.2.1 table 201 down ip rule del from 10.10.10.6 table 201 down ip rule del from 10.10.10.5 table 201 auto tun0 iface tun0 inet static address 192.168.90.22 netmask 255.255.255.252 pre-up ip tunnel add mode gre tun0 local 172.17.1.22 remote 172.17.1.1 up ip rule add from 10.10.10.5 table 201 up ip rule add from 10.10.10.6 table 201 up ip route add default dev tun0 table 201 down ip route del default dev tun0 table 201 down ip rule del from 10.10.10.6 table 201 down ip rule del from 10.10.10.5 table 201 post-down ip tunnel del mode gre tun0 local 172.17.1.22 remote 172.17.1.1
Важно: таблица маршрутизации это число от 1 до 255 (в примерах указано 201).