Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Суть задачи в следующем:

Есть подсеть (lan1), клиенты которой имеют доступ к некоeму внешнему сервису.

Есть другая подсеть(lan2), клиенты которой также должны получить доступ к этому сервису.

Проблема в том, что сервис сконфигурирован своей администрацией таким образом, что работать в нем можно только находясь в lan1. Соответственно, чтобы подключать к нему хосты из lan2, надо каким-то образом маскировать адрес каждого хоста из lan2 адресом из lan1, причем желательно, чтобы эти адреса назначались статически.

Руководством решено такой NAT настроить на iptables в RedHat Linux 9 ядро 2.4.20-8. Linux PC, выделенный под эту задачу имеет только 2 сетевые карты, одна из которых смотрит в lan1, другая, соответственно, в lan2.

Интересно узнать, реально ли вообще это сделать, и если реально, то хотя бы в общих чертах как?

Опубликовано

karuss писал(а) Thu, 24 August 2006 12:17

Суть задачи в следующем:

Есть подсеть (lan1), клиенты которой имеют доступ к некоeму внешнему сервису.

Есть другая подсеть(lan2), клиенты которой также должны получить доступ к этому сервису.

Проблема в том, что сервис сконфигурирован своей администрацией таким образом, что работать в нем можно только находясь в lan1. Соответственно, чтобы подключать к нему хосты из lan2, надо каким-то образом маскировать адрес каждого хоста из lan2 адресом из lan1, причем желательно, чтобы эти адреса назначались статически.

Руководством решено такой NAT настроить на iptables в RedHat Linux 9 ядро 2.4.20-8. Linux PC, выделенный под эту задачу имеет только 2 сетевые карты, одна из которых смотрит в lan1, другая, соответственно, в lan2.

Интересно узнать, реально ли вообще это сделать, и если реально, то хотя бы в общих чертах как?

Оффтоп - не позволяйте руководству решать админские вопросы за админов Wink

По сути - а что Вас смущает? Обычный SNAT, под свободные адреса, разумеется. Если требуется менять адрес время от времени, то вполне можно делать это по крону, скрипт пишется за пять минут. Что у Вас не получается?

Опубликовано

Смущает отсуствие опыта работы с linux-системами и отсутсвие людей с таким опытом в отделе. Все приходится по книжкам и форумам искать. На данный момент я остановился на snat, при котором ip всех хостов из lan2 подменяются ip интерфейса eth1, смотрящего в lan1, linuxPC.

Настроен форвард с eth1 на eth2 пока без всякой фильтрации и цепочка:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source ip_eth1

Т.е. получился обычный гейт lan1 из lan2. А вот как настроить соответствие каждого ip из lan1 своему конкретному ip из lan2 никак не пойму Sad

Опубликовано

karuss писал(а) Thu, 24 August 2006 13:11

Смущает отсуствие опыта работы с linux-системами и отсутсвие людей с таким опытом в отделе. Все приходится по книжкам и форумам искать. На данный момент я остановился на snat, при котором ip всех хостов из lan2 подменяются ip интерфейса eth1, смотрящего в lan1, linuxPC.

Настроен форвард с eth1 на eth2 пока без всякой фильтрации и цепочка:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source ip_eth1

Т.е. получился обычный гейт lan1 из lan2. А вот как настроить соответствие каждого ip из lan1 своему конкретному ip из lan2 никак не пойму Sad

Итак.

Привязка к выходному интерфейсу в принципе некорректна. Работать оно, конечно будет, но зачем? Лучше так:

iptables -t nat -A POSTROUTING -s X -j SNAT --to-source Y

где X - адрес машины в lan2, Y - адрес в lan1

Обратите внимание, что использовать для ната можно только свободные адреса lan1. То есть имеется множество адресов lan1, множество адресов lan2. Некоторые адреса в lan1 используются, некоторые нет. Берем неиспользуемые адреса, назначаем на смотрящий в lan1 интерфейс, каждому адресу из подсети lan2 ставим в соответствие адрес из множества свободных адресов lan1, маскируем пакеты под эти адреса. Разумеется, если свободных адресов lan1 будет меньше, чем машин в lan2, несколько машин lan2 придется маскировать под один адрес lan1. Назначение же всех свободных адресов на интерфейс нужно, чтобы нормально работал роутинг.

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...