karuss Опубликовано 24 августа, 2006 Жалоба Поделиться Опубликовано 24 августа, 2006 Суть задачи в следующем: Есть подсеть (lan1), клиенты которой имеют доступ к некоeму внешнему сервису. Есть другая подсеть(lan2), клиенты которой также должны получить доступ к этому сервису. Проблема в том, что сервис сконфигурирован своей администрацией таким образом, что работать в нем можно только находясь в lan1. Соответственно, чтобы подключать к нему хосты из lan2, надо каким-то образом маскировать адрес каждого хоста из lan2 адресом из lan1, причем желательно, чтобы эти адреса назначались статически. Руководством решено такой NAT настроить на iptables в RedHat Linux 9 ядро 2.4.20-8. Linux PC, выделенный под эту задачу имеет только 2 сетевые карты, одна из которых смотрит в lan1, другая, соответственно, в lan2. Интересно узнать, реально ли вообще это сделать, и если реально, то хотя бы в общих чертах как? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 24 августа, 2006 Жалоба Поделиться Опубликовано 24 августа, 2006 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. Интересно узнать, реально ли вообще это сделать, и если реально, то хотя бы в общих чертах как? Оффтоп - не позволяйте руководству решать админские вопросы за админов По сути - а что Вас смущает? Обычный SNAT, под свободные адреса, разумеется. Если требуется менять адрес время от времени, то вполне можно делать это по крону, скрипт пишется за пять минут. Что у Вас не получается? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
karuss Опубликовано 24 августа, 2006 Автор Жалоба Поделиться Опубликовано 24 августа, 2006 Смущает отсуствие опыта работы с 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 никак не пойму Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Master400 Опубликовано 24 августа, 2006 Жалоба Поделиться Опубликовано 24 августа, 2006 Просто маскарадь всю сеть и все - из какой бы сети небыл клиент с улицы его будут видеть от lan1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 24 августа, 2006 Жалоба Поделиться Опубликовано 24 августа, 2006 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 никак не пойму Итак. Привязка к выходному интерфейсу в принципе некорректна. Работать оно, конечно будет, но зачем? Лучше так: 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. Назначение же всех свободных адресов на интерфейс нужно, чтобы нормально работал роутинг. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
karuss Опубликовано 25 августа, 2006 Автор Жалоба Поделиться Опубликовано 25 августа, 2006 Точно. Спасибо огромное Я как-то по неопытности не додумался повесить все нужные ip на этот интерфейс. Теперь все работает, еще раз спасибо Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.