Урри, где у него кнопка!?! (с) «Кiборг-забойца, албо прыгоды Электронiка»

Задача скорее академическая, но не знаю чья это форма ответственности. Собственно, есть CentOS, который я мучаю последнее время. И накручиваю на нём iptables всякие. У него два интерфейса. Сейчас один будет воткнут в DMZ, а второй я попытался воткнуть в локальную сеть. Собственно, пока работает только интерфейс DMZ, то вопросов нет. Из локальной сети по адресу DMZ я его нормально обрабатываю. Если включены оба интерфейса, то я из локальной сети вижу его только по локальному интерфейсу. А по адресу DMZ не вижу.
Моё скромное представление о мире подсказывает мне, что таблица маршрутизации route предполагает, что ответы моего сервера надо отправлять через локальный интерфейс. А если я обращаюсь к серверу через интерфейс DMZ, то ответы с локального интерфейса не радуют получателя, то есть меня.
Таблица iptables имеет понятие о том, что соединение может быть уже установленным, и я могу менять трансляции адресов и прочие разрешения выдавать в зависимости от состояний RELATED и ESTEBLISHED у моего соединения. А вот как быть в данном случае? В таблице маршрутизации там многого не наисправишь — потому что маршрут по умолчанию в локальную сеть через локальный интерфейс — это верно. А вот как направить ответ через DMZ-шный интерфейс, если обращение шло через него?

То есть просится какая-то строка, что, дескать, если адрес отправилеля не локальный, а адрес получателя локальный, то всё равно использовать интерфейс DMZ, но у меня нет режима обработки в iptables «использовать интерфейс eth1».

PS: Я знаю, что извращение и в продакшен это не пойдёт, даже если настрою 🙂

Как запустить сервер на виртуальной машине с единственным адресом DMZ

Собственно, это решение для моей задачи. Задача на самом деле простая, но для меня оказалось не так прямолинейно. Есть современный IBM сервер, на который не ставился коробочный продукт на основе RedHat4 (и сам RedHat4 не ставится, по крайней мере без применения бубна). Продукт ставится в виртуальной машине, но адрес DMZ всего один, поэтому простой вариант настройки (через бридж) не подходит. Сейчас реальный ip назначен хостовой машине, а в виртуальную машину через nat проброшены с хостовой машины только те порты, которые нужны. [тут место для всех спецов, которые будут ржать надо мной как лошади, а лично у меня сегодня это всё случилось впервые] Читать далее