На самом деле я пытаюсь создать общедоступную беспроводную сеть (не для бизнеса, просто в образовательных целях, я изучаю информатику ...). Но мне не хватает необходимых знаний для достижения этой цели (я обычно больше занимаюсь программированием, чем управлением сетью [люблю Stack Overflow ;-)]).
То, что я хочу сделать, точно такое же, как в публичных сетях многих городов / школ, где каждый адрес перенаправляется на страницу входа перед тем, как получить доступ в Интернет.
Моя текущая настройка сделана следующим образом: мой Интернет подключен к проводному маршрутизатору. Этот маршрутизатор подключен к коммутатору. К этому коммутатору подключены мои персональные компьютеры. У меня есть сервер IIS, подключенный к маршрутизатору.
У меня есть точка беспроводного доступа, но я не знаю, как настроить ее для перенаправления входящих IP-адресов на мой IIS. В основном я хочу заблокировать весь Интернет и перенаправить нелокальные запросы на мой локальный IIS (только для пользователей Wi-Fi в локальной сети должен быть Интернет).
Я подумал, может быть, установить DNS на моем сервере и сделать его основным DNS в маршрутизаторе. Или, возможно, подключение Wi-Fi к серверу (со вторым сетевым адаптером) и перенаправление через брандмауэр / прокси, но я не знаю, будут ли они теоретически работать, прежде чем приступить к изучению того, как настроить один из этих параметров ...
Любая помощь очень ценится!
Ваш Wi-Fi должен быть подключен к шлюзу, через который вы можете перенаправить трафик на свой захватывающий портал (страницу входа).
Вы можете сделать это с помощью iptables в Linux. Скажите, что ваш интерфейс eth0 подключен к вашей точке доступа с помощью 192.168.0.0/24
подсеть и ваш шлюз (сервер Linux) настроены на 192.168.0.1
и имеет доступ в Интернет через отдельный интерфейс. Ваш сервер IIS включен 192.168.0.2:80
.
Ваши правила iptables могут быть примерно такими:
iptables -t mangle -N my_access_filter
iptables -t mangle -A INPUT -i eth0 -j my_access_filter
iptables -t mangle -A my_access_filter -m mac --mac-source 11:22:33:44:55:66 -j RETURN # Grant access to mac 11:22:33:44:55:66, by returning and not marking the traffic
iptables -t mangle -A my_access_filter -j MARK --set-mark 99 # Arbitrarily selected number
# that's it for the mangle table, now the nat table
iptables -t nat -A PREROUTING -p tcp --dport 80 -m mark --mark 99 -j DNAT --to 192.168.0.2:80 # ip o
iptables -t nat -A PREROUTING -p udp --dport 53 -m mark --mark 99 -j DNAT --to 192.168.0.1 # For good measure, lets redirect their dns queries to our own dns server.
# now the filter table reads:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # standard rule to accept established connections
iptables -A FORWARD -i eth0 -m mark --mark 99 -j DROP # This will drop traffic that is marked, preventing clients from accessing the internet
Вашему адаптивному порталу просто нужно поместить клиентов ip или mac, или все, что вы фильтруете, в my_access_filter в таблице mangle, что можно сделать с помощью
iptables -t mangle -I my_access_filter -m mac --mac-source <mac> -j RETURN
или
iptables -t mangle -I my_access_filter -s 192.168.0.xx -j RETURN # by ip
Надеюсь, это вдохновит.
Вы пытаетесь реализовать плененный портал (как вы знаете). Один из самых популярных порталов для захвата - это WiFi собака. Он с открытым исходным кодом и должен соответствовать вашим потребностям.
Вы можете запустить захватывающий портал с живого компакт-диска, используя ZoneCD, но некоторые говорят, что это медленно. Кроме того, я не уверен, выдержат ли настройки перезагрузку (скорее всего, нет, потому что я не думаю, что что-то записывается в энергонезависимое хранилище)