2
  • У меня есть сервер 192.168.0.3 (SERVER). Запуск Ubuntu Server + DHCP-сервер + Apache;
  • Маршрутизатор 192.168.0.1 (ROUTER) (у меня нет доступа к нему);
  • У меня есть веб-приложение на SERVER для регистрации пользователей в сети путем применения к ним определенной конфигурации (на DHCP-сервере);
  • Пользователи находятся в подсети 192.168.0.0/16;

Я могу настроить DHCP-сервер для предоставления незарегистрированным машинам моего SERVER в качестве шлюза по умолчанию.
Итак, как я могу перенаправить все входящие http-запросы с незарегистрированных машин в мое локальное веб-приложение 192.168.0.3?

3 ответа3

1

Вам необходимо настроить специальный DNS-сервер, который отвечает на все DNS-запросы с IP-адресом вашего сервера, и настроить виртуальный сервер Apache для приема запросов на любой хост (т. Е. *:80 + *:443).

Хитрость заключается в том, что после входа в систему DNS-сервер должен начать предоставлять правильные результаты DNS, а не поддельные. Вы не можете просто изменить настройки снова в DHCP, потому что время аренды по умолчанию будет слишком длинным, и / или пользователям придется отключиться, чтобы получить новые настройки.

Многие системы входа Wi-Fi используют эту архитектуру, поэтому вы можете найти решение с открытым исходным кодом.

0

echo 1> /proc /sys /net /ipv4 /ip_forward iptables -t nat -A PREROUTING -p tcp -dport 80 -j DNAT - к месту назначения 1.2.3.4:80 iptables -t nat -A POSTROUTING -j MASQUERADE

0

Я нашел другой путь.

  1. Дайте незарегистрированным машинам SERVER в качестве шлюза по умолчанию.
  2. перенаправить порт 80 на веб-сервер с помощью iptables

Но я не знаю точно, как это сделать :)

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