замудреная маршрутизация pppoe (как ip route научить ходить куда надо)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

falcol
Сообщения: 79
ОС: Debian

замудреная маршрутизация pppoe

Сообщение falcol »

значит смысл такой.
машина linux
2 интерфеса физических
1 eth0
2 eth1
на eth0 несколько алиасов (белые ip) допустим есть
eth0 x.x.x.x/248 со шлюзом xgw.xgw.xgw.xgw
и
eth0:1 y.y.y.y/248 со шлюзом ygw.ygw.ygw.ygw
на eth1 192.168.0.1/16
также поднят pppoe на интерфейсе eth1 адрес pppoe сервера 172,16,0,1
все замечательно работает, клиент в инет ходят через SNAT
Дальше...
есть 2 таблицы маршрутизаци. table 101 и table 102.
в 101 прописано

Код: Выделить всё

ip route add default via xgw.xgw.xgw.xgw table 101

в 102 прописано

Код: Выделить всё

ip route add default via ygw.ygw.ygw.ygw 102

при подключении пользователя рррое с ip 10.10.10.10 прописывается правило

Код: Выделить всё

ip rule add from 10.10.10.10 to 0/0 table 101 pref 100

а допутим следующий 10.10.10.11 прописывается правило

Код: Выделить всё

ip rule add from 10.10.10.11 to 0/0 table 102 pref 100

т.е. один пользователь идет через один шлюз другой через другой...но вот проблема такая вылезла
если этих правил не добавлять то они (пользователи) друг между другом видятся, а после добавления они естественно начинают слать пакеты через шлюзы в таблицах 101 и 102.
так вот как делать чтобы эти пользователи виделись между собой и ходили в инет по этим таблицам?


при подключении у юзера ip 10.10.10.10/32 и 10.10.10.11/32 т.е. раз маска 32 то какие бы пакеты они не слали, все пойдет через их шлюз.
если в таблицы правила не добавлять то traccert с 10.10.10.10 до 10.10.10.11 такой
172.16.0.1
10.10.10.11
ну а если добавить то соответственно
172.16.0.1.
xgw.xgw.xgw.xgw
.......ну и тут дальше в инет побежал...
но вот еще один момент... если добавить правило

Код: Выделить всё

ip rule add from 10.10.10.0/24 to 10.10.10.0/24 table 99 pref 80
ip route add 10.10.10.0/24 via 10.10.10.11 table 99

то они начинают видеться.
если посмотреть кэшь маршрутов когда все работает то вот так

Код: Выделить всё

10.10.10.11 from 10.10.10.10 dev ppp62  src 172.16.0.1
10.10.10.10 from 10.10.10.11 dev ppp47  src 172.16.0.1
Спасибо сказали:
falcol
Сообщения: 79
ОС: Debian

Re: замудреная маршрутизация pppoe

Сообщение falcol »

falcol писал(а):
13.09.2012 12:47
значит смысл такой.
машина linux
2 интерфеса физических
1 eth0
2 eth1
на eth0 несколько алиасов (белые ip) допустим есть
eth0 x.x.x.x/248 со шлюзом xgw.xgw.xgw.xgw
и
eth0:1 y.y.y.y/248 со шлюзом ygw.ygw.ygw.ygw
на eth1 192.168.0.1/16
также поднят pppoe на интерфейсе eth1 адрес pppoe сервера 172,16,0,1
все замечательно работает, клиент в инет ходят через SNAT
Дальше...
есть 2 таблицы маршрутизаци. table 101 и table 102.
в 101 прописано

Код: Выделить всё

ip route add default via xgw.xgw.xgw.xgw table 101

в 102 прописано

Код: Выделить всё

ip route add default via ygw.ygw.ygw.ygw 102

при подключении пользователя рррое с ip 10.10.10.10 прописывается правило

Код: Выделить всё

ip rule add from 10.10.10.10 to 0/0 table 101 pref 100

а допутим следующий 10.10.10.11 прописывается правило

Код: Выделить всё

ip rule add from 10.10.10.11 to 0/0 table 102 pref 100

т.е. один пользователь идет через один шлюз другой через другой...но вот проблема такая вылезла
если этих правил не добавлять то они (пользователи) друг между другом видятся, а после добавления они естественно начинают слать пакеты через шлюзы в таблицах 101 и 102.
так вот как делать чтобы эти пользователи виделись между собой и ходили в инет по этим таблицам?


при подключении у юзера ip 10.10.10.10/32 и 10.10.10.11/32 т.е. раз маска 32 то какие бы пакеты они не слали, все пойдет через их шлюз.
если в таблицы правила не добавлять то traccert с 10.10.10.10 до 10.10.10.11 такой
172.16.0.1
10.10.10.11
ну а если добавить то соответственно
172.16.0.1.
xgw.xgw.xgw.xgw
.......ну и тут дальше в инет побежал...
но вот еще один момент... если добавить правило

Код: Выделить всё

ip rule add from 10.10.10.0/24 to 10.10.10.0/24 table 99 pref 80
ip route add 10.10.10.0/24 via 10.10.10.11 table 99

то они начинают видеться.
если посмотреть кэшь маршрутов когда все работает то вот так

Код: Выделить всё

10.10.10.11 from 10.10.10.10 dev ppp62  src 172.16.0.1
10.10.10.10 from 10.10.10.11 dev ppp47  src 172.16.0.1

сам решил проблему. нужно было добавить
ip rule add from 10,10,10,10 to 10.0.0.0/8 table 80 pref 80
ip route add 10,10,10,10 dev ppp47 scope link table 80
ip rule add from 10,10,10,11 to 10.0.0.0/8 table 80 pref 80
ip route add 10,10,10,11 dev ppp62 scope link table 80
Спасибо сказали: