OFFTOP: iproute2, alternative tables, no default route: routing trouble for localhost
Извините, что не по теме, но в debian-firewall молчёк... может кто
сталкивался.
Задача:
1. Есть 3 Сервера и роутер с 2-мя PPPoE соединениями (назавём их ppp0 и
ppp1)
2. Есть несколько груп Интернет-клиентов для обслуживание (сами Сервера,
Клиенты, Клуб).
3. Задача:
- маршрутизировать Клуб через ppp1;
- маршрутизировать Сервера и Клиетов через ppp0;
(следующее восстанавливал по памяти, т.к. сейчас доступа туда нет, могут
быть неточности)
router # netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0
eth0
a1.a2.a3.a4 0.0.0.0 255.255.255.255 U 0 0 0
ppp0
b1.b2.b3.b4 0.0.0.0 255.255.255.255 U 0 0 0
ppp1
router # cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
200 Servers
201 Clients
202 Club
router # ip rule ls
0: from all lookup local
32763: from 10.10.100.101/24 lookup Club
32764: from 10.10.100.100/24 lookup Clients
32765: from 192.168.1.0/24 lookup Servers
32766: from all lookup main
32767: from all lookup default
router # ip route ls table Clients
default via a1.a2.a3.a4 dev ppp0
router # ip route ls table Servers
default via a1.a2.a3.a4 dev ppp0
router # ip route ls table Club
default via b1.b2.b3.b4 dev ppp1
========================================
Подитожим, общей маршрутизации по-умолчанию НЕТ. Каждая группа клиентов
маршрутизируется через соответствующий маршрут, и, если соответствующий
маршрут отсутствует то маршрутизации не должно быть.
Эта схема работает почти отлично, адреса 10.10.100.100/24 действительно
маршрутизируются через ppp0, 10.10.100.101/24 через ppp1 и
192.168.1.0/24 (3 Сервера) через ppp0. НО сам Роутер (192.168.1.4) не
маршрутизируется. При попытке соединения с Роутера (192.168.1.4) я
получаю "network is unreachable". Я также не могу зайти на него с
наружи, т.к. у пакетов нет пути обратно.
Я подумал, что для локальных адресов есть другая политика маршрутизации,
и добавил default route в таблицу "local". С Роутера всё заработало, но
остальное стало глючить.
Итак вопрос: как происходит маршрутизациа пакетов с localhost?
PS. Мне кажется, что тут присутствет ситуация "замкнутый круг", т.к. для
того чтобы войти в альтернативную таблицу маршрутизации уже должен быть
"source address", но для localhost их может быть несколько, и чтобы
выбрать конкретный надо уэе знать маршрут.
--
Покотиленко Костик <casper@meteor.dp.ua>
Reply to: