додавання статичного маршруту до системи unix


0

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

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

Це можливо? Чи можна це зробити, редагуючи файл / etc / hosts або використовуючи команду route?

Дякую


1
Це питання, здається, поєднує DNS, маршрутизацію IP і, можливо, проксі HTTP. Це важко зрозуміти, як відповісти як є.
— Spiff

які-небудь пропозиції щодо того, як я можу його покращити?
— Zack Newsham

По-перше, маршрути призначені для маршрутизації через мережі IPv4 або IPv6, а не доменні імена. Мета статичного маршруту полягає в тому, щоб вказати шлюз для передачі трафіку, коли IP-адреса призначення пакету повинен йти десь більш конкретний, ніж існуючий маршрут. Схоже, що ви намагаєтеся пропустити трафік маршруту до конкретного веб-сайту для всіх, хто підключений до цього маршрутизатора. Щоб краще відповісти на ваше запитання, ви повинні намагатися бути більш описовими щодо кінцевого результату, який ви намагаєтеся виконати.
— MaQleod

Ви можете почати, назвавши задіяний протокол (-и) перед словом "запит".
— JdeBP

Ви намагаєтеся зробити щось на зразок фільтра порно, де будь-хто в локальній мережі за вашим Unix-маршрутизатором намагається перейти на певні веб-сайти, вони отримують ваш веб-сервер Unix, який служить "Вибачте, що ви не дозволено переглядати цю сторінку "?
— Spiff

Відповіді:


0

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

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

Це можливо? Це може бути зроблено шляхом редагування файлу / etc / hosts

Ви можете додати запис "my.router.com" до вашого hosts файл. Це призведе до того, що "my.router.com" вирішить до IP-адреси, яку ви вказуєте в цьому файлі. 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-адресу, ви повинні оновити це вручну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.