Разные default маршруты в зависимости от интерфейса на который пришел запрос?

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

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

nokogerra
Сообщения: 83

Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение nokogerra »

Доброго времени суток.
Попытаюсь описать проблему: debian 7.8, 2 интерфейса:
eth0 #локальный
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
eth1 #белый
address 80.80.80.46 #адресация вымышленная
netmask 255.255.255.240
gateway 80.80.80.33
route

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

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
80.80.80.32     *               255.255.255.240 U     0      0        0 eth1
localnet        *               255.255.255.0   U     0      0        0 eth0

Дефолтный шлюз - 192.168.1.1. На debian стоит, например, apache2, и в такой ситуации если постучаться на внешний интерфейс 80.80.80.46 ответ я не получаю, т.к. дефолтный шлюз 192.168.1.1, а не 80.80.80.33. Вопрос: как сделать, чтобы без изменения дефолтного шлюза, на запросы пришедшие на 80.80.80.46 для ответа использовался 80.80.80.33, а не дефолтный?
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение Warderer »

Прошу прощения, а зачем может быть нужна такая конфигурация? Прошу не обижаться, просто интересно.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
nokogerra
Сообщения: 83

Re: Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение nokogerra »

Спасибо за ответы.
Посмотреть в сторону pbr подсказали на lor`e. По поводу fwmark вообще слабо понял, но если попробовать без них:

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

ip route add default via 80.80.80.33 table 110
ip rule add to 80.80.80.46 table 110

т.е. как я понял, трафик пришедший на 80.80.80.46 должен ассоциироваться с таблицей 110 и для ответа будет использоваться 80.80.80.33, а не дефолтный 192.168.1.1, но ответов я все равно не получаю. Можете подсказать что я сделал не так?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение skeletor »

Неправильные правила. Вы таким образом дефолт себе завернёте на 80.80.80.33. Вам нужно 2 таблицы, 2 набора правил, тогда должно сработать. Вот набор правил (пропишите соответственно для каждой пары IP-GW-eth, всего получится 6 правил):

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

/bin/ip route add $5 dev $1 src $4 table $1
/bin/ip route add default via $5 table $1
/bin/ip rule add from $4 table $1


где $1-eth, $4-peer-IP, $5-GW. При этом создать файл /etc/iproute2/rt_tables такого содержания:

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

100     ppp0
101     ppp1
Спасибо сказали:
nokogerra
Сообщения: 83

Re: Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение nokogerra »

Спасибо за ответ.
Мне достаточно оказалось 1 тиблицы и 1го правила:

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

ip route add default via 80.80.80.33 table 110
ip rule add from 80.80.80.46 table 110
Спасибо сказали:
Аватара пользователя
McSim
Сообщения: 419
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Re: Разные default маршруты в зависимости от интерфейса на который пришел запрос?

Сообщение McSim »

nokogerra писал(а):
30.03.2015 06:19
Спасибо за ответ.
Мне достаточно оказалось 1 тиблицы и 1го правила:

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

ip route add default via 80.80.80.33 table 110
ip rule add from 80.80.80.46 table 110

И снова здравствуйте )
Принцип работы Routing Policy

:blush:
Спасибо сказали: