Надеюсь, это правильное сообщество, чтобы задать этот вопрос, на самом деле не уверен. Также потерпите меня, так как у меня только самые базовые навыки общения.
В моей домашней сети есть маршрутизатор ASUS RT-AC3200. Мой основной рабочий стол в этой сети — машина W10, на которой я запускаю две виртуальные машины Linux, используя VMWare Workstation.
Обе виртуальные машины имеют локальный IP-адрес, скажем:
192.168.1.1
192.168.1.2
Я хотел бы получить доступ к обеим виртуальным машинам из-за пределов моей сети по домену:
abc.com -> 192.168.1.1
def.com -> 192.168.1.2
Для этого я использую переадресацию портов в панели администратора маршрутизатора. К сожалению, я могу назначить только один IP на порт, нет возможности различать трафик по одному и тому же порту (HTTP) по доменам. Поэтому я могу добиться вышеизложенного для одного домена, но не для двух.
Я знаю, что могу запустить HTTP на одной из виртуальных машин на другом порту (8080), но мне интересно, возможно ли достичь моей первоначальной цели — иметь какой-то тип маршрутизации на основе домена?
решение1
Нисколько. Переадресация портов — это то, что происходит на основе информации сетевого уровня 3/4 (то есть портов IP + TCP/UDP). Домены на этих уровнях не существуют.
Вам нужен HTTP-обратный прокси. Он знает о HTTP и может просматривать заголовок запроса Host
. Теоретически вы можете запустить его на своем маршрутизаторе.