Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

способен ли на это iptables

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Вт Мар 06 2007 23:17    Заголовок сообщения: способен ли на это iptables Ответить с цитатой

Раньше было так.
На компьютере "А" стояла БД и файловый сервер, ОС WinXP
его IP был 192.168.10.1
У пользователей сети, сетевые диски настроенны на ресурс
\\192.168.10.1\....

Есть несколько программ, ODBC которых настроены на сервер 192.168.10.1

Теперь появился компьютер "Б", на который переехал фаловый сервер
Linux - Samba

Чтобы не менять настройки сетевого диска у пользователей, я изменил IP адреса. теперь:
"А" - 192.168.10.21
"Б" - 192.168.10.1
Название ресурса тоже, IP адрес тот же... в общем по диску все без проблемм лазают...

Только вот программы работать не хотят, ну нет теперь на 192.168.10.1 SQL сервера.
Перенастраивать все ODBC дюже проблематично, да и IP может снова поменяться.

Теперь сам вопрос: возможно ли средствами iptables перенаправить пакеты идущие к определённому порту ПК 192.168.10.1 ... на тот же порт ПК 192.168.10.21 ???
вернее перенаправить можно, но будут ли программы полноценно работать с SQL сервером???
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Ср Мар 07 2007 00:09    Заголовок сообщения: Ответить с цитатой

iptables это умеет. Перенаправление трафика с порта на порт внутри компа работает. Однако тестить надо.

Чтобы не бояться проблемы со сменой IP-адресов давным давно был придуман файл hosts, который потом перерос в службу DNS.

Идея понятна? Или уже понял что делать надо?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Denjs



Зарегистрирован: 29.08.2003
Сообщения: 137

СообщениеДобавлено: Ср Мар 07 2007 13:04    Заголовок сообщения: Ответить с цитатой

думаю с iptables это получится.
в разумном варианте - сделать типа "личный нат" для одной машины и одного порта.

т.е. клиент будет считать что она работает с "Б", а "Б" будет переотправлять запросы по этому порту от своего имени на "А". "А" будет думать что с ним работает "Б".
(Почему нат? а не скажем простое перенаправление? чтобы ответы к клиенту приходили от той машины к которой он послал запрос... а то получится так, что запрос пошел на Б а ответ пришел с А - думаю так работать ничего не будет.)

Другое дело - такой "извращенный нат" надо сделать для всех портов что у использует программа...

Проще наверное Вынести А в другую физическую подсеть... имхо... но думаю получится сделать и нат внутри одной сети.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Ср Мар 07 2007 23:28    Заголовок сообщения: Ответить с цитатой

как я понимаю, если делать перенаправление то...
допустим ПК "А" -192.168.10.14 пытается подключиться к
192.168.10.1 - "В" TCP 5432 - БД postgreSQL.
Но сама база находится на 192.168.10.21
Если у нас работает REJECT, то пакеты приходящие на порт 5432 (192.168.10.1), будут в неизменённом виде отправляться на 192.168.10.21
Сервер (192.168.10.21) будет думать что с ним общается 192.168.10.14
И ответы посылать ему (192.168.10.14).
То есть от клиента пакеты будут идти по маршруту
192.168.10.14->192.168.10.1->192.168.10.21
а от сервера к клиенту
192.168.10.21->192.168.10.14

если делать через NAT, то надо две подсети на одном интерфейсе
т.е. алиасы вешать. мне кажется сложности лишние, да и по условиям задачи компы в одной сети

Хотя вы правы, надо пробовать.
Как я понял из ответов, теоретическая возможность этого есть
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Чт Мар 08 2007 00:36    Заголовок сообщения: Ответить с цитатой

Не путайте REJECT с REDIRECT

Первое отбрасывает пакет и уведомляет приславшую пакет сторону о этом факте, второе перенаправляет трафик.

Вообще аккуратно с опциями. Неверные действия могут привести к неожиданным результатам, вплоть до полной неработоспособности сетевой системы компа. Спасет только сброс всех правил с консоли.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Чт Мар 08 2007 08:50    Заголовок сообщения: Ответить с цитатой

Верно, я ошибся с REJECT

Изучение теории расстраивает
Цитата:
6.5.7. Действие MIRROR
Действие MIRROR может использоваться вами только для экспериментов и в демонстрационных целях, поскольку это действие может привести к "зацикливанию" пакета и в результате к "Отказу от обслуживания". В результате действия MIRROR в пакете, поля source и destination меняются местами (invert the source and destination fields) и пакет отправляется в сеть. Использование этой команды может иметь весьма забавный результат, наверное, со стороны довольно потешно наблюдать, как какой нибудь кульхацкер пытается "взломать" свой собственный компьютер!

В памяти отложилось последнее предложение, и я предпологал что можно так извратиться

далее...
Цитата:
6.5.9. Действие REDIRECT
Выполняет перенаправление пакетов и потоков на другой порт той же самой машины. К примеру, можно пакеты, поступающие на HTTP порт перенаправить на порт HTTP proxy. Действие REDIRECT очень удобно для выполнения "прозрачного" проксирования (transparent proxying), когда машины в локальной сети даже не подозревают о существовании прокси.

REDIRECT может использоваться только в цепочках PREROUTING и OUTPUT таблицы nat. И конечно же это действие можно выполнять в подцепочках, вызываемых и вышеуказанных. Для действия REDIRECT предусмотрен только один ключ.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

К сожалению тоже не катит

Denjs был прав
наверное более близко к требуемому - DNAT
Цитата:
6.5.2. Действие DNAT

DNAT (Destination Network Address Translation) используется для преобразования адреса места назначения в IP заголовке пакета. Если пакет подпадает под критерий правила, выполняющего DNAT, то этот пакет, и все последующие пакеты из этого же потока, будут подвергнуты преобразованию адреса назначения и переданы на требуемое устройство, хост или сеть. Данное действие может, к примеру, успешно использоваться для предоставления доступа к вашему web-серверу, находящемуся в локальной сети, и не имеющему реального IP адреса. Для этого вы строите правило, которое перехватывает пакеты, идущие на HTTP порт брандмауэра и выполняя DNAT передаете их на локальный адрес web-сервера. Для этого действия так же можно указать диапазон адресов, тогда выбор адреса назначения для каждого нового потока будет производиться случайнам образом.

iptables -t nat -A PREROUTING --dst 192.168.10.1 -p tcp --dport 5432 -j DNAT \
--to-destination 192.168.10.21

Я пока ещё не пробовал, но если в цепочке моих рассуждений есть ошибка - поправьте меня
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...