LINUX.ORG.RU
ФорумAdmin

IP RULE, 3 канала, и машрутизация.


0

0

Имею небольшую проблему, примерно такого вида: Есть три таблицы в iproute2 1. adsl 2. wifi 3. wimax

Дальше у каждой из таблиц есть свой шлюз который выдал провайдер. Все работает, роутится, пакеты от куда приходят по внешней с того же интерфеса и уходят.

Для меня ручками прописан выход через wifi ip rule add from 192.168.5.129 table wifi pref 150

Теперь проблема такая, у сервера есть 3 внешних интерфейса. И из внутренней сети не получается делать ping на другие внешние адреса сервера кроме того что указан для меня defaultroute



Последнее исправление: InventoRs (всего исправлений: 3)

По сабжу:
1. Сделать маскарад на всех трех внешних интерфейсах.
2. Отключить reverse path filtering (sysctl net.ipv4.conf.all.rp_filter=0).
3. Проверить таблицу local (ip ro sh ta 0).

nnz ★★★★
()
Ответ на: комментарий от InventoRs

Да, видимо, самый очевидный ответ в данном случае оказался правильным. Мистер Оккам был бы доволен.

echo -e "\n50\tlocalnet" >> /etc/iproute2/rt_tables
ip ro add 192.168.5.0/24 dev eth0 table localnet
ip ru add table localnet pref 1

где 192.168.5.0/24 — твоя локалка, eth0 — интерфейс, к которой она подключена. Эта запись должна повторять ту, которая, по идее, уже должна быть в таблице main.

nnz ★★★★
()
Ответ на: комментарий от nnz

Если сейчас правильно понимаю логику вещей, то проблема идет от сюда. cat /etc/sysconfig/network-scripts/route-eth0.1000 192.168.0.0/16 via 192.168.0.254

eth0.1000 смотрит во внутреннею сеть, а 192.168.0.254 это маршрутизатор cisco во внутренней сети.

InventoRs
() автор топика
Ответ на: комментарий от InventoRs

А что, в обход этой циски связи с локалкой нет? Какие еще шлюзы наружу в сети есть?

И да, ты пробовал сделать так, как я прошлом комментарии написал?

nnz ★★★★
()
Ответ на: комментарий от nnz

Да, так как сказал, я сделал, и заработало. За это спасибо. Теперь хочу понять почему изначально не работало. Ситуация такая: есть сеть 192.168.0.0/16 которая маршутизируется при помощи cisco 3650 кажется.

К одному из портов этой циски подключен шлюз в интернет. У шлюза 3 канала в интернет.

Внутренний адрес шлюза 0.1, админ находится в сети 5.129

Шлюзом по умолчанию стоит один из шлюзов провайдера.

Для того чтобы админ имел доступ к маршрутизатору ну и вся 0/16 я прописал cat /etc/sysconfig/network-scripts/route-eth0.1000 192.168.0.0/16 via 192.168.0.254

Есть мысль что где-то накрутил с настройками изначально, хотел понять что сделал не так.

InventoRs
() автор топика
Ответ на: комментарий от InventoRs

Изначально не работало по очень простой причине.
До внешнего адреса пинг доходил нормально, и система на него отвечаела. Маршрутизировала ответ она по правилу from внешний_адрес table yy, в которой всего одна запись с дефолтным внешним шлюзом. Вернуться оттуда в локалку у пакета шансы очень фиговые :)

Предложенное мной решение добавляет правило с высоким приоритетом, пропускающее трафик через таблицу, в которой есть маршрут до локалки, что позволяет ответам с внешних интерфейсов идти в правильном направлении.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.