додавання статичного маршруту до системи 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.