Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Задать IP-маршрут для приложения / 18 сообщений из 18, страница 1 из 1
21.01.2022, 16:29
    #40128499
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
На рабочей станции подняты несколько сетевых интерфейсов (все совпадения случайны):

Код: pascal
1.
2.
Локальная сеть - 192.168.0.15 
VPN            - 10.0.1.9


Есть и другие VPN, но они сейчас не важны.

Есть внешний ресурс по адресу 9.9.9.9.

Утилита (Delphi XE3, Indy10) должна заходить по HTTP на ресурс 9.9.9.9, но только через VPN, в то время как другие приложения (браузеры) должны обращаться к нему "прямым" образом, через маршрутизатор локальной сети.

Такая задача.

Сейчас я решаю её частично, заданием маршрута
Код: pascal
1.
route add 9.9.9.9 mask 255.255.255.255 10.0.1.9


В результате утилита добирается до ресурса правильно, через VPN, но и все остальные приложения тоже, так как команда route действует на всю ОС.

Далее. В сокетах и в Indy можно привязаться к конкретному интерфейсу через BoundIP . Задаю
Код: pascal
1.
TIdTCPClient.BoundIP := 10.0.1.9


после чего все работает, но только если глобально прописан тот же маршрут (см. выше), то есть практического толку никакого.

Если маршрут не прописать, то при BoundIP = 10.0.1.9 попытка коннекта приводит к network unavailable. Я так это понимаю, что несмотря на адрес в сети 10.0.1.255, коннект все равно тянется к маршрутизатору сети 192.168.0.255 и, естественно, получает от ворот поворот.

Вопросы получаются такие:

Можно ли в Windows назначить маршрут индивидуально для приложений и как этот сделать?

Как это сделать самому приложению, по возможности, но не обязательно, средствами Indy?
...
Рейтинг: 0 / 0
21.01.2022, 16:32
    #40128503
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky
Можно ли в Windows назначить маршрут индивидуально для приложений и как этот сделать?

https://www.sql.ru/forum/windows
...
Рейтинг: 0 / 0
21.01.2022, 16:36
    #40128507
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
ъъъъъ,

Что вы меня на другой форум посылаете? На том форуме ничего не знают про Indy, а здесь народ грамотный, и в Indy разбирается, и в Windows, и даже в Delphi.
...
Рейтинг: 0 / 0
21.01.2022, 16:42
    #40128512
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyanskyМожно ли в Windows назначить маршрут индивидуально для приложений и как этот
сделать?

Нельзя.

shalamyanskyКак это сделать самому приложению, по возможности, но не
обязательно, средствами Indy?
Никак.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.01.2022, 16:45
    #40128514
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Dimitry Sibiryakov,

Точно знаете? Спасибо. Вам верю, как эксперту.
...
Рейтинг: 0 / 0
21.01.2022, 16:46
    #40128515
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
В порядке бреда - использовать RAW сокеты и самому формировать IP заголовок
...
Рейтинг: 0 / 0
21.01.2022, 16:53
    #40128519
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky,

в порядке сивого бреда - сделать тунель чем нить, может putty, и слать туда...
...
Рейтинг: 0 / 0
21.01.2022, 16:53
    #40128520
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
_Vasilisk_,

Теоретически, теоретически... бог его знает, может, и получится так. Спасибо! Но сейчас я, пожалуй, не буду этим заниматься.
...
Рейтинг: 0 / 0
21.01.2022, 16:59
    #40128522
Fr0sT-Brutal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Повесить прокси на адресе 10.х и ходить на ресурс через него.
Повесить порт-маппер на адресе 10.х на 9.9.9.9 и ходить на его адрес вместо адреса ресурса (но если tls - облом)
...
Рейтинг: 0 / 0
21.01.2022, 17:25
    #40128536
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Zelius

сделать тунель чем нить, может putty, и слать туда...

VPN - это и есть туннель. Проблема со "слать туда". Слать надо индивидуально, а получается только всех скопом.

Fr0sT-Brutal

Повесить прокси на адресе 10.х и ходить на ресурс через него.
Повесить порт-маппер на адресе 10.х на 9.9.9.9 и ходить на его адрес вместо адреса ресурса (но если tls - облом)

Я так понимаю, вы предлагаете ставить нечто на других хостах? Не, там все чужое, в руках только моя станция.

Ладно, господа, я уж понял, что дешево не получится, а дорого мне не надо, обойдусь пока. Спасибо за ответы и за внимание! Впрочем, если есть еще завиральные идеи, набрасывайте, они всегда интересны. Не здесь, так где-нибудь пригодятся.
...
Рейтинг: 0 / 0
21.01.2022, 17:29
    #40128540
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky,

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

Код: plaintext
1.
2.
route add 9.9.9.9 mask 255.255.255.255 192.168.0.15 metric 5
route add 9.9.9.9 mask 255.255.255.255 10.0.1.9 metric 15
...
Рейтинг: 0 / 0
21.01.2022, 17:53
    #40128551
Fr0sT-Brutal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky
Я так понимаю, вы предлагаете ставить нечто на других хостах? Не, там все чужое, в руках только моя станция.

Хм, ну в принципе, твоя машина сама получает ИП 10.х, если поднять прямо на ней же проксю и принудительно повесить ее на 10.х адрес, и обращаться по этому адресу, а не localhost... может сработать.
...
Рейтинг: 0 / 0
21.01.2022, 18:30
    #40128557
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Zelius

Код: plaintext
1.
2.
route add 9.9.9.9 mask 255.255.255.255 192.168.0.15 metric 5
route add 9.9.9.9 mask 255.255.255.255 10.0.1.9 metric 15

Мысль интересная, спасибо, но не помогло. Все всё равно прутся через 10.0.1.9, невзирая на метрику.
...
Рейтинг: 0 / 0
21.01.2022, 18:33
    #40128559
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky,

надо посмотреть почему, route print, может там с меньшей метрикой намазано? тогда надо либо удалить, либо изменить метрику.
...
Рейтинг: 0 / 0
21.01.2022, 18:36
    #40128560
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Zelius,
Посмотрел, конечно. Метрики численно не те, которые назначал, но отношение больше-меньше осталось нужное.
...
Рейтинг: 0 / 0
21.01.2022, 18:40
    #40128561
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky,

кстати, а у впн не стоит использовать гейт по умиолчанию? надо бы посмотреть что там с меньшими метриками есть. можно админа попросить, они лучше в роутах шарят.
...
Рейтинг: 0 / 0
21.01.2022, 18:49
    #40128563
shalamyansky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
Получилось!

Спасибо, Zelius!

Просто для локальной сети надо было правильный шлюз (а не свой адрес) указать:

Код: pascal
1.
route add 9.9.9.9 mask 255.255.255.255 192.168.0.1 metric 5



Вот так. А то нельзя, нельзя...
...
Рейтинг: 0 / 0
21.01.2022, 19:58
    #40128579
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задать IP-маршрут для приложения
shalamyansky,

не знаю, возможно получится через компоненты, содержащие свойство " proxy ", TIdHTTP например
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Задать IP-маршрут для приложения / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]