LINUX.ORG.RU

Ответ через интерфейс по которому пришел пакет

 , , ,


0

1

Привет ЛОР. Помоги решить задачу. Необходимо отправлять ответные пакеты через интерфейс через который пакет и пришел. Есть девайс на арм у него 2 сетевых интерфейса. Находятся в разных сетях и в разных vlan коммутатора eth0 (192.168.10.0/24) eth1 192.168.11.0/24). На eth0 настроен нат с asa (замечательно работает). На второй интерфейс также настроен нат, который в принципе работает, но только если принудительно указать маршрут до src ip через eth1, а без этого железка пытается слать ответные пакеты через default gw (192.168.10.0/24), а он в другой сети и попасть естественно по адресу не может.

Как научить отвечать по тому же интерфейсу? Посмотрел вариант с connmark, но так как это embedded arm то завести там нормально iptables будет очень проблематично. Подскажите еще что нибудь.

Вопрос второй. Умеет ли asa фильтровать mac адреса на outside?

Ничего не понял, причём тут nat и default gw. Картинку нарисуешь? На арм какой то сервер работает? Который слушает по 2 интерфейсам, зачем по 2-м то?

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

Рисовать не умею.

internet ==> asa==L2(vlan2)====eth0 (192.168.10.0/24 default gw)
              |
              L2(vlan3)===========eth1 (192.168.11.0/24)

L2 - catalyst один и тот же.

Трафик приходящий на скажем порт 100500 натится на eth0 в подсеть 10.0/24 и все нормально работает

Трафик приходящий на порт 100501 натится в eth1 в подсеть 11.0/24 и ответа уже нет, так как дефолтный маршрут идет через eth0. Если я скажем знаю src ip (внешний ip клиента) и пропишу до него маршрут четко указывая dev eth1 то все работает, а если нет, то идет дефолт через eth0. Вот как сделать чтобы ответ на трафик пришедший на сервер через eth1 шел также через eth1?

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

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

partyzan ★★★ ()

По первому вопросу: либо на асе на интерфейсе 192.168.11.0/24 делай нат, либо настраивай policy routing на арме.

anonymous ()
Ответ на: комментарий от partyzan

Для сервиса 100501 менять не только адрес назначения, но и адрес источника на адрес из 192.168.11.0/24,

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

Да, в принципе я так и думал, что если приходящие пакеты будут из 11.0/24 то и отвечать он будет через правильный интерфейс.

Как такое на asa организовать не знаешь?

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

Нет, не знаю. Единственно хочу уточнить, что менять адрес источника можно на любой, маршрут к которому определён через eth1. Может будет проще определить подсеть(фиктивную), через которую и работать.

Elyas ★★★★★ ()

Asa это фаервол. Она на l2 мало чт умеет. Фильтровать маки это свитча задача.

Тред не читал. Но в аса8.2 нат кривовато работает. Обнови до 8.4 и выше, тогда ответы будут уходить откуда пришли.

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

Как это криво? Много сервисов натится и работает хорошо. Мне 8.3 наоборот не нравится, ненужные усложнения понимания и написания правил. Да, в 8.3+ еще диапазон портов можно прокинуть, но пока не буду обновляться если не приспичит и другого решения найти не смогу. А так да, фильтровать я пытался на l2, но было бы конечно проще если бы аса умела.

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

Вот пример. 2 интернет-канала. Один основной, другой резервный и маршрут дефолтный через ip sla сделан. И есть некий сервер с доступом извне и проброшенным портом для этого.

На 8.2 и ниже я подключиться могу только через активный канал, если подключаться через резерв, то аса обратно будет отдавать на основной.

На 8.3 и выше я могу одновременно подключаться и через основной, и через резерв аса корректно натит.

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