Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как лучше заставить программу на host1 думать что на host1 ип host2  (Прочитано 919 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Здравствуйте, есть host1 (202.12.30.18) и есть host2 (88.43.33.110). Эти 2 хоста с разных концов земли и ничем не связаны.

На host1 некая программа (по сути сервер) к которой могут подключаться клиенты этой программы, в сервере программы в параметрах запуска можно прописать IP на котором будет работать программа (полезно если в host1 будет более 1 IP).

Задача сделать так чтоб программа на host1 работала, но работала от IP host2 (88.43.33.110) и клиенты программы подключались к серверу через IP host2 (88.43.33.110).

PS. Учтите что host1 должен уметь работать одновременно не только с host2, но и с host3 и т д...

Я почти уверен что мне полностью подойдет вариант с OpenVPN, однако перед тем как начинать решать мою задачу решил с вами, уважаемые участники проконсультироваться, может кто знаете более простые решения поставленной задачи?

Пользователь добавил сообщение 28 Июля 2020, 21:01:41:
Неужели форум мертв? Епрст да как так.(
« Последнее редактирование: 28 Июля 2020, 21:01:41 от Усики »

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 754
    • Просмотр профиля
через iptables на host2 перенаправь порт на host1 с snat'ом в оба конца. Так же можно делать на любом host3 и т.п. host1 будет видеть, что подключения приходят с host2, host3 и т.д.
« Последнее редактирование: 28 Июля 2020, 21:55:50 от aSmile »

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
главное чтоб сервер (прога) понимала что ее не пытаются "обмануть".. я не очень силем в сетях, если вас не затруднит дайте подробуню инструкцию чтоб я мог протестить это.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6691
  • 20% Cooler
    • Просмотр профиля
Эти 2 хоста с разных концов земли и ничем не связаны.
Никак. Ключевую мысль выделил.

Хотите больше информации - предоставляйте подробно.
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Я совершенно вас не понял если честно.. мне лишь показалось что вы хотели просто поумничать и у вас не желания помочь - мне показалось?

Пользователь добавил сообщение 28 Июля 2020, 22:26:13:
Эти 2 хоста с разных концов земли и ничем не связаны.
Никак. Ключевую мысль выделил.

Хотите больше информации - предоставляйте подробно.
(Нажмите, чтобы показать/скрыть)

Так обьясните что вы имели введу? (судя по вашему ответу вы плохо знаете Русский язык, простите, я не хочу вас обидеть.)
« Последнее редактирование: 28 Июля 2020, 22:26:13 от Усики »

Оффлайн es1840

  • Активист
  • *
  • Сообщений: 328
    • Просмотр профиля
введу
У вас сразу две ошибки в одном слове

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Задача сделать так чтоб программа на host1 работала, но работала от IP host2 (88.43.33.110) и клиенты программы подключались к серверу через IP host2 (88.43.33.110).
На host2 настройте порт форвард на host1.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 754
    • Просмотр профиля
главное чтоб сервер (прога) понимала что ее не пытаются "обмануть".. я не очень силем в сетях, если вас не затруднит дайте подробуню инструкцию чтоб я мог протестить это.

Я сейчас очень примерно напишу для 55555/tcp порта, не надо копипастом выполнять
Код: (bash) [Выделить]
iptables -t nat -A PREROUTING -p tcp -d 88.43.33.110 --dport 55555 -j DNAT --to-destination 202.12.30.18
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -d 202.12.30.18 --dport 55555 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -d 202.12.30.18 --dport 55555 -j SNAT --to-source 88.43.33.110
iptables -t nat -A POSTROUTING -p tcp -s 202.12.30.18 --sport 55555 -j SNAT --to-source 88.43.33.110

Ну и не забыть
Код: (bash) [Выделить]
sysctl -w net.ipv4.ip_forward=1
« Последнее редактирование: 29 Июля 2020, 16:53:10 от aSmile »

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Простите пожалуйста, но я на столько не разбираюсь что я не пойму какие правила прописывать на host1 а какие на host2 . Подскажите пожалуйста а то сейчас сделаю что-то не так и буду утверждать что ниче не работает.(
« Последнее редактирование: 31 Июля 2020, 13:25:18 от Azure »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Наймите специалиста, если не хотите разбираться сами.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Если простыми словами мне нужно сделать так что как-будто к host1 подключен IP host2 (как будто сетевуха вставлена с IP host2)
Хорошо, как я могу нанять специалиста ? вы возьметесь?

Пользователь добавил сообщение 30 Июля 2020, 18:12:40:
Ответ хостинга ipserver

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

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

Ищу специалиста который сможет реализовать задуманное. пишите в личку.
« Последнее редактирование: 31 Июля 2020, 13:26:03 от Azure »

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.