Как к порту передачи (sub) доменным именем?

Исходный код Android выпущен Google в соответствии с лицензиями Open Source, хотя большинство устройств на базе Android в конечном счете поставлется с комбинацией и собственного программного обеспечения с открытым исходным кодом, включая собственное программное обеспечение, разработанное и лицензированное Google.

Часть с открытым исходным кодом (http://source.android.com/) лицензируется в соответствии с Лицензией на программное обеспечение Apache, Версия 2.0 ("Apache 2.0"), но за исключениями, например, патчи ядра Linux находятся под лицензией GPLv2, и Google не нарушает его.

В то время как Google следует за буквой GPL и лицензий LGPL на код, это использует в Android, другие поставщики, которые используют Android и по-видимому изменяют тот код ядра, не совместимы с этими лицензиями.

2
10.01.2014, 19:33
3 ответа

Вы не можете сделать перенаправления портов на основе имени хоста, потому что, когда кто-то соединяется с Вашим хостом, они не говорят Вам, какое имя хоста они искали для получения IP-адреса. Все, что Вы знаете, является IP-адресом и номером порта, с которым они соединились (и IP-адрес и номер порта, который они соединяют от).

Необходимо будет принять меры, чтобы ssh.example.com и mysql.example.com имели различные IP-адреса. Или просто признайте, что Вы также передаете

mysql.example.com:22 -> localhost:9201
ssh.example.com:3306 -> localhost:9202

Единственной информацией, которую клиент извлекает из записи DNS, является IP-адрес, таким образом, это - единственная вещь, можно измениться на перенаправление портов влияния. (Конечно, одна машина может иметь несколько IP-адресов, но если Вы делаете это в Интернете, общедоступные IP-адреса могут быть в дефиците.)

3
27.01.2020, 21:54
  • 1
    я боялся этого. Таким образом, нет действительно никакого пути? Даже с некоторым необычным DNS не записывают конфигурацию и/или программное обеспечение прокси на хосте? –  Maciej Sz 10.01.2014, 19:31
  • 2
    Нет, потому что клиенты, соединяющиеся ничего не будут знать о Вашем необычном программном обеспечении. Все, что они делают, равняется 1: преобразуйте имя хоста в IP-адрес и 2: соединитесь с IP-адресом и портом. Нет никакого пути к Вашему хосту для знания, какое имя хоста они использовали на шаге 1. –  cjm 10.01.2014, 20:12
[118229] Возможно, но вопрос в том, сколько усилий стоит получить? [12177] Можно создать "прокси" программное обеспечение, которое говорит по протоколу для различных приложений, и использует, например, заголовок http Host, чтобы определить, на какую машину/порт переадресовывать. [12178]Я ссылаюсь на морской порт проекта, который является http-прокси, который делает эту переадресацию внутренне на одной машине. [118648]https://github.com/tellnes/seaport[12179]
1
27.01.2020, 21:54

Посмотрите sslh . Это инструмент для мультиплексирования одного порта для нескольких служб. Как упомянул другой пользователь, субдомены разрешаются только по IP-адресу - фактическая маршрутизация происходит на уровне протокола.

2
27.01.2020, 21:54

Теги

Похожие вопросы