Страница 1 из 2

Клонировать ip хоста для jail

Добавлено: 2015-12-23 23:17:19
drunkwolfs
Привет, есть серверное ПО с закрытым исходным кодом. Человек написавший его давно умер и не оставил никаких исходников. Есть всего 1 внешний IP адрес, больше подключить нельзя вообще никак.

Необходимо на сервере обязательно в тюрьме jail запустить это серверное ПО и подключиться к серверу.
Все сделал, подключается, авторизацию на сервере в той программе прохожу, но при выполнение команд сервер рвет соединение.
Все порты проброшены. Низкоуровневые сокеты включены.
Известно что проблема в том, что сервер при приеме пакетов с командами проверяет айпи адрес интерфейса и свой внешний айпи. Если не совпадают то рвет соединение. (В программе на этот случай предусмотрена опция которая не работает(совсем не работает), можно указать свой внешний айпи и он будет сверять его с внешним).
При авторизации такой проверки нет.

Нужно чтобы адрес сетевого интерфейса в jail`е был таким же как и у сервера хоста на котором располагается jail, а так же чтобы пакеты в jail`е были такими же как если бы приходили на сервер хост (чтобы никакие айпи источника и назначения там не менялись).

Как мне это сделать?
FreeBSD 10 x64

Клонировать ip хоста для jail

Добавлено: 2015-12-24 13:33:25
guest
drunkwolfs писал(а):Привет, есть серверное ПО с закрытым исходным кодом. Человек написавший его давно умер и не оставил никаких исходников. Есть всего 1 внешний IP адрес, больше подключить нельзя вообще никак.

Необходимо на сервере обязательно в тюрьме jail запустить это серверное ПО и подключиться к серверу.
Все сделал, подключается, авторизацию на сервере в той программе прохожу, но при выполнение команд сервер рвет соединение.
Все порты проброшены. Низкоуровневые сокеты включены.
Известно что проблема в том, что сервер при приеме пакетов с командами проверяет айпи адрес интерфейса и свой внешний айпи. Если не совпадают то рвет соединение. (В программе на этот случай предусмотрена опция которая не работает(совсем не работает), можно указать свой внешний айпи и он будет сверять его с внешним).
При авторизации такой проверки нет.

Нужно чтобы адрес сетевого интерфейса в jail`е был таким же как и у сервера хоста на котором располагается jail, а так же чтобы пакеты в jail`е были такими же как если бы приходили на сервер хост (чтобы никакие айпи источника и назначения там не менялись).

Как мне это сделать?
FreeBSD 10 x64
никак, перечитайте то что написали и поймете.

Клонировать ip хоста для jail

Добавлено: 2015-12-24 20:13:55
drunkwolfs
guest писал(а): никак, перечитайте то что написали и поймете.
Если ты не знаешь как, это не значит что это невозможно. Не оффтопь. Проблема еще не решена, прошу отвечать только тех кто понял вопрос и знает как решить проблему.

Клонировать ip хоста для jail

Добавлено: 2015-12-24 23:29:01
Neus
Ну так присвой одинаковый адрес. Какие проблемы то?

Клонировать ip хоста для jail

Добавлено: 2015-12-25 13:03:10
guest
drunkwolfs писал(а):
guest писал(а): никак, перечитайте то что написали и поймете.
Если ты не знаешь как, это не значит что это невозможно. Не оффтопь. Проблема еще не решена, прошу отвечать только тех кто понял вопрос и знает как решить проблему.
Нет невозможного, но с Вашим подходом - никак.

Клонировать ip хоста для jail

Добавлено: 2015-12-25 13:18:15
snorlov
drunkwolfs, а вы не пытались в виртуалку поставить...

Клонировать ip хоста для jail

Добавлено: 2015-12-30 21:05:52
drunkwolfs
Neus писал(а):Ну так присвой одинаковый адрес. Какие проблемы то?
присвоил. Не подключается больше не к серверу, не к тюрьме. Придется на хостинге пересоздавать все с нуля.

Отправлено спустя 22 секунды:
snorlov писал(а):drunkwolfs, а вы не пытались в виртуалку поставить...
зачем виртуалка если есть jail??

Клонировать ip хоста для jail

Добавлено: 2015-12-31 1:25:15
Neus
О сколько нам открытий чудных
Готовит просвещенья дух
И опыт, сын ошибок трудных…
Когда вам опытный дядя сказал что это не возможно - надо было поверить ему.

Клонировать ip хоста для jail

Добавлено: 2015-12-31 5:42:37
drunkwolfs
Neus писал(а): Когда вам опытный дядя сказал что это не возможно - надо было поверить ему.
Можно же как то настроить фаервол? В хостовой системе сделать интерфейс с любым сетевым адресом, а в гостевой сделать интерфейс с адресом идентичным адресу интерфейса через который хостовая ходит в интернет. Связать их по типу нуль-модем как в com портах(чтобы то что отправлялось в виртуальный интерфейс хостовой системы выходило из интерфейса гостевой ОС.
А с помощью фаервола перенаправлять пакеты так, чтобы в гостевую они приходили в таком же виде как и в хостовую (чтобы информация о том что пакеты были перенаправлены не добавлялась).
По моему представлению виртуальный интерфейс хостовой системы(созданный для тюремной(гостевой) системы) не является тем же самым интерфейсом что появится в гостевой системе. Это два виртуальных сетевых интерфейса конфигурация которых не обязана совпадать и функционирующие так что отправив информацию в один из них, она выйдет из другого. Верно? Мне кажется да.
Поэтому предполагаю что внутри тюремной системы можно задать интерфейсу любой ip, отличный от ip виртуального интерфейса в хостовой системе. Верно? Мне кажется ничего не мешает это сделать.
Т.к. трафик проходит через виртуальный интерфейс, то подозреваю что у входящего трафика ip получателя может быть заменен на ip адрес этого виртуального интерфейса хостовой ос. (не уверен)
Если мои подозрения верны то нужно правильно настроить правила фаервола, так чтобы при перенаправление трафика на хостовой системе(с внешнего интерфейса на виртуальны), ip адрес получателя не изменялся на адрес виртуального интерфейса. Вроде фаерволы так имеют делать Я использую pf. Как настроить перенаправление трафика без изменения ip адреса получателя? Пожалуйста пример такого правила.
Перенаправлять трафик из вне на гостевую систему нужно ВЕСЬ, за исключением пришедшего на 22-й TCP порт.

Подозреваю возникновение проблем с подключением по ssh к хостовой системе т.к. после прохождения аутентификации sshd выберет рандомный порт для текущий сессии, на котором будет слушать. Я не уверен в этом, возможно я не прав(не знаю откуда у меня такая информация).Если я прав то трафик предназначенный для sshd хостовой системы будет перенаправляться на гостевую и нужно это как то исправлять. Можно ли в настройках ssh настроить чтобы ssh для всех сессий использовал(слушал) только 22 порт? Можно ли там же задать диапазон портов из которых sshd следует брать случайный для новых сессий? (а потом изменить настройки фаервола и добавить этот диапазон к списку тех портов, трафик принятый на которые не перенаправлять в тюремную(гостевую) систему).

Для тех кому все не совсем понятно:

Хостовая система
= операционная система работающая с аппаратным обеспечением без использования технологий виртуализации и изолирования ОС.
Гостевая система(тюремная) = операционная система запущенная в другой(хостовой) ОС с использованием технологий виртуализации или изолирования ОС. У меня гостевая ОС изолирована и работает посредством jail.
сетевой адрес - ip адрес.
интерфейс - Программное представление аппаратного сетевого интерфейса внутри ОС. Исключение - loopback интерфейсы(localhost) и виртуальные интерфейсы.
Виртуальный интерфейс - интерфейс не имеющий соответствующий ему аппаратный интерфейс и не связанный с каким либо аппаратным интерфейсом. В данном сообщение под виртуальным интерфейсом имеется в виду интерфейс созданный и находящийся в хостовой системе и связанный средствами ОС с сетевым интерфейсом гостевой ОС.
Сессия -В данном контексте имеет значение - уникальный сеанс связи. Способ обмена пакетами при котором каждому новому сеансу обмена информации присваивается уникальный идентификатор и признак по которому сервер определяет с кем из собеседников происходит общение. Сервер сообщает клиенту по какому признаку будет идентифицировать его сессию, а клиент используя эти данные осуществляет обмен информацией. Благодаря этому с сервером параллельно могут работать несколько клиентов. Например при одновременной работе с сервером нескольких экземпляров клиентской программы, запущенных из под одной системы, не происходит путаницы в том с каким из экземпляров программы происходит обмен информацией. Ответное сообщение направляется только тому экземпляру программы который ее запросил.

Клонировать ip хоста для jail

Добавлено: 2015-12-31 11:06:59
bagas
ой как много написано!
Никак не сделаешь задуманное,
Зачем так усложнять?!

Отправлено спустя 6 минут 58 секунд:
Впринципе, если разрулите все конфликты по портам, то думаю получится!
Вообще тебе лучше использовать блочную виртуализацию(как посоветовали выше), джаил виртуализация на уровне основной системы!

Клонировать ip хоста для jail

Добавлено: 2015-12-31 14:01:16
guest
bagas писал(а):ой как много написано!
Никак не сделаешь задуманное,
Зачем так усложнять?!

Отправлено спустя 6 минут 58 секунд:
Впринципе, если разрулите все конфликты по портам, то думаю получится!
Вообще тебе лучше использовать блочную виртуализацию(как посоветовали выше), джаил виртуализация на уровне основной системы!
Топикастер хочет - одновременно ДВА одинаковых IP-адреса, в хостовой и такой же в гостевой.
Ему нужно две машины с одинаковым ip и чтобы вторую можно было использовать для
"подмены", но чтобы sources всегда был одним заданным ip.

Много слов - от непонимания TCP/IP и соответственно как это можно реализовать.

Клонировать ip хоста для jail

Добавлено: 2016-01-02 16:57:06
bagas
Ну почему же, думаю можно запустить джаил с тем же ип что и основного, но только разрулить зависимости по портам.

Клонировать ip хоста для jail

Добавлено: 2016-01-02 18:06:04
guest
bagas писал(а):Ну почему же, думаю можно запустить джаил с тем же ип что и основного, но только разрулить зависимости по портам.
Ну сделайте стенд и попробуйте...

Клонировать ip хоста для jail

Добавлено: 2016-01-02 18:09:18
bagas
guest писал(а):
bagas писал(а):Ну почему же, думаю можно запустить джаил с тем же ип что и основного, но только разрулить зависимости по портам.
Ну сделайте стенд и попробуйте...
Тестовой машины нет, пусть пусть автор темы тестирует.

Клонировать ip хоста для jail

Добавлено: 2016-01-02 21:19:03
Neus
ну я потестил
но не jail, а виртуалку
кое-как, через раз, заходит на хост по ssh, web интерфейс управления на хосте не отзывался никак

Клонировать ip хоста для jail

Добавлено: 2016-01-02 21:25:30
bagas
Neus писал(а):ну я потестил
но не jail, а виртуалку
кое-как, через раз, заходит на хост по ssh, web интерфейс управления на хосте не отзывался никак
Я как то запускал впску джаил с ип адресов как у основной системы, пришлось зависимость по портам изменить, то-етсь порты назначить другие, что бы конфликта не было.

Клонировать ip хоста для jail

Добавлено: 2016-01-03 14:55:17
guest
bagas писал(а):
Neus писал(а):ну я потестил
но не jail, а виртуалку
кое-как, через раз, заходит на хост по ssh, web интерфейс управления на хосте не отзывался никак
Я как то запускал впску джаил с ип адресов как у основной системы, пришлось зависимость по портам изменить, то-етсь порты назначить другие, что бы конфликта не было.
ребята, Вы по теории TCP/IP и маршрутизации, хоть одну книжку прочли?

"зависимость по портам" он изменил... клиент<->сервер, договорились о передаче данных
на высоких портах, что бум менять?

это не проброс, не форвард, не nat, два одинаковых ip (ну с разными маками, можно и с одинаковыми),
каша в таблицах будет.

Клонировать ip хоста для jail

Добавлено: 2016-01-03 17:45:36
bagas
guest писал(а):
bagas писал(а):
Neus писал(а):ну я потестил
но не jail, а виртуалку
кое-как, через раз, заходит на хост по ssh, web интерфейс управления на хосте не отзывался никак
Я как то запускал впску джаил с ип адресов как у основной системы, пришлось зависимость по портам изменить, то-етсь порты назначить другие, что бы конфликта не было.
ребята, Вы по теории TCP/IP и маршрутизации, хоть одну книжку прочли?

"зависимость по портам" он изменил... клиент<->сервер, договорились о передаче данных
на высоких портах, что бум менять?

это не проброс, не форвард, не nat, два одинаковых ip (ну с разными маками, можно и с одинаковыми),
каша в таблицах будет.
Хмм, мне казалось что джаил виртуализаци на уровне основной системы, сетевые данные берет от основной системы.
маршрутиризацию берет от основной системы.

Клонировать ip хоста для jail

Добавлено: 2016-01-03 18:34:48
Neus
undefined писал(а): это не проброс, не форвард, не nat, два одинаковых ip (ну с разными маками, можно и с одинаковыми),
каша в таблицах будет.
я как бы в курсе, делать было нечего, почему бы не поиздеваться на сетью, благо она виртуальная

Клонировать ip хоста для jail

Добавлено: 2016-01-03 22:52:43
guest
bagas писал(а):
guest писал(а):
bagas писал(а):
Neus писал(а):ну я потестил
но не jail, а виртуалку
кое-как, через раз, заходит на хост по ssh, web интерфейс управления на хосте не отзывался никак
Я как то запускал впску джаил с ип адресов как у основной системы, пришлось зависимость по портам изменить, то-етсь порты назначить другие, что бы конфликта не было.
ребята, Вы по теории TCP/IP и маршрутизации, хоть одну книжку прочли?

"зависимость по портам" он изменил... клиент<->сервер, договорились о передаче данных
на высоких портах, что бум менять?

это не проброс, не форвард, не nat, два одинаковых ip (ну с разными маками, можно и с одинаковыми),
каша в таблицах будет.
Хмм, мне казалось что джаил виртуализаци на уровне основной системы, сетевые данные берет от основной системы.
маршрутиризацию берет от основной системы.
да все в основной, теперь подумайте как раскидать пакеты на ip(A) & ip(B), where is ip == ip , A != B.

Клонировать ip хоста для jail

Добавлено: 2016-01-03 23:38:33
Amadeus
Оффтоп:
Мне одному кажется что еще года 3-4 назад таких вопросов меньше тут было? :pardon: Как не зайду, обязательно взрыв мозга.


Проблема еще не решена, прошу отвечать только тех кто понял вопрос и знает как решить проблему.
Ух ты господи, какие мы серьезные. Разрешите вставить слово ?

По теме:

1) вы НЕПРАВИЛЬНО формулируете задачу. Обращайтесь за советом, при этом сами же ставите жесткие рамки решения.
Если вы хотите, что бы озвученная Вами проблема была решена с условиями:
- a
- b
- c
- d
- e

Да, и с соблюдением пунтов
- z
- x

Вам чуть ниже, в раздел предложений о работе. Так как для того что бы АДЕКВАТНО ответить вам на вопрос( я уже это кажется, раз писал) любому надо собирать тестовый стенд и прогонять все кейсы. Так как ситуация кастомная.

2) Вы не написали вообще никаких вводных, кроме "Jail" и "1 белый ИП адрес"

Клетка где, на выделенном сервере? На хостинге где можно еще клетку в клетке сделать? Как ваше мего по проверяет интерфейс и т.д.

Слишком много слов, "предполагаю" "думаю" "возможно" и т.д. При этом ожидание что кто то решит это за Вас.

Это что касается постановки вопроса.

Далее.

3) Знайте чем отличается действительно понимающий что он делает админ, от человека который хочет нажать 100500 кнопок в единицу времени пытаясь выполнить любую задачу наиболее сложным способом? Это не в коей мере не упрёк в Вашу сторону. Просто констатация факта.
Перед выполнением любой задачи, надо оценить степень сложности поддержки в последующем любого функционала. И прежде чем городить вот такой костыль - взвесить все и против?

Что вам мешает, раз у Вас подобное ПО выделить для него железку БЕЗ всякой виртуализации, изоляции? с вашим 1 прекрасным белым ип адресом, который он будет проверять?) Так просто вопрос).

4) Касательно остального - в лоб не получится по нормальному, т.е мы не стране Оз живем, и как Вам справедливо заметили, модель OSi никто не отменял. И с учётом того, что еще раз повторюсь - вы не дали вводных нормальных, наскидку могу предложить такой вариант.

- Забывайте в данном кейсе про джейлы
- Берете либо гипервизор(Esx, Xen, ), либо софтовый виртуализатор (например OpenVZ) + сервер с двумя сетевыми картами.
- К одной из них привязывайте виртуалку + соотвественно defaultrouter + белый ип адрес.
- Устанавливайте туда этот мега софт.

Отправлено спустя 10 минут 22 секунды:
Касательно того длинного поста с выдержками хрен знает откуда).
Только 1 кусок приведу)
Гостевая система(тюремная) = операционная система запущенная в другой(хостовой) ОС с использованием технологий виртуализации или изолирования ОС. У меня гостевая ОС изолирована и работает посредством jail.
сетевой адрес - ip адрес.
Вы вот только это смотрите нигде всерьез не скажите не на каком собеседовании. так как например мое бы вы не прошли.

Код: Выделить всё

[root@web1 /var/log/web/nginx]# cd /
[root@web1 /]# ps ax | grep init
    1  -  ILs        0:28.70 /sbin/init --
40566  1  S+         0:00.00 grep init
[root@web1 /]# jexec 3 /bin/sh
# bash
[root@web /]# ps ax | grep init
40570  1  R+J  0:00.00 grep init
Где вы говорите тюремная ОС?) Почитайте про то, что используйте. И про возможности данной технологии. Джейлы - очень мощный инструмент. Но если им забивать гвозди, то профита будет ~0

Клонировать ip хоста для jail

Добавлено: 2016-01-04 0:20:35
Neus
Amadeus писал(а): Оффтоп:
Мне одному кажется что еще года 3-4 назад таких вопросов меньше тут было? Как не зайду, обязательно взрыв мозга.
все закономерно - пожинаем плоды реформы системы образования.

Клонировать ip хоста для jail

Добавлено: 2016-01-04 16:08:28
snorlov
Neus писал(а):
Amadeus писал(а): Оффтоп:
Мне одному кажется что еще года 3-4 назад таких вопросов меньше тут было? Как не зайду, обязательно взрыв мозга.
все закономерно - пожинаем плоды реформы системы образования.
Как я жестоко ошибался, думая 3-и года тому назад, что у нас лет 5-ть есть в запасе...

Клонировать ip хоста для jail

Добавлено: 2016-01-04 18:38:56
Neus
нас еще ждут последствия реформы системы здравоохранения.

Клонировать ip хоста для jail

Добавлено: 2016-01-22 18:46:14
Alex Keda
Neus писал(а):нас еще ждут последствия реформы системы здравоохранения.
Доживём ли?
И нас ли?
;)))