Я использую UNIX-совместимый дистрибутив (к сожалению, я не могу раскрыть ОС) в качестве маршрутизатора для общего интернет-соединения

Мне нужно добавить статический маршрут, чтобы любой HTTP-запрос к my.router.com направлялся на страницу конфигурации маршрутизатора (т. Е. Пользователю не нужно знать IP-адрес маршрутизатора, к которому он подключается).

Это возможно? Это можно сделать, отредактировав файл /etc /hosts или используя команду route?

Спасибо

1 ответ1

0

Мне нужно добавить статический маршрут, чтобы любой HTTP-запрос к my.router.com направлялся на страницу конфигурации маршрутизатора (т. Е. Пользователю не нужно знать IP-адрес маршрутизатора, к которому он подключается).

"Маршрутизация" работает только на уровне IP. Он не заботится ни о чем выше этого, например, прикладном уровне, на котором находится HTTP, или транспортном уровне, где понятие "порты" и "службы" (т. Е. HTTP находится на порте 80, что является односторонним сказать, что тип трафика из другого трафика) существуют.

Это возможно? Это можно сделать, отредактировав файл /etc /hosts

Вы можете добавить запись "my.router.com" в ваш файл hosts . Это приведет к тому, что my.router.com преобразуется в IP-адрес, указанный в этом файле, если ваша система настроена на использование этого файла для поиска DNS перед DNS (смотрите nsswitch.conf (?) настроить это на Linux).

Конечно, если пользователь вводит IP-адрес напрямую, например, http://256.40.40.1 файл hosts и все, что основано на DNS, не работает.

или используя команду route?

С помощью команды route вы можете создать статический маршрут /32 для IP-адреса реального my.router.com и передать его локальному адаптеру. Это приведет к тому, что трафик, предназначенный для 256.40.40.1 , если это был настоящий IP-адрес my.router.com , перейдет к 127.0.0.1 . Конечно, если my.router.com меняет свой IP, вы должны обновить его вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .