Я пытаюсь установить точку доступа, похожую на те, что в аэропортах и тому подобное. Таким образом, в основном, люди могут подключиться к сети, приземлиться на заставку, а затем пройти аутентификацию на прокси-сервере.
До сих пор мне удавалось настроить squid и iptables для перенаправления пакетов 80/443 с моей тестовой установкой, но очевидно, что в наши дни люди также хотят, чтобы их WhatsApp и другие работали, но я не могу заставить работать их. .
Я уже пробовал кучу вещей, моя текущая настройка читает следующее (в качестве теста для WhatsApp):
squid3.conf
[...]
acl Safe_ports port 4244
acl Safe_ports port 5242
acl Safe_ports port 5228
acl Safe_ports port 5223
acl Safe_ports port 5222
[...]
iptables
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 4244 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5242 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5228 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5223 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5222 -j REDIRECT --to-ports 3128
Это настройка, которую я пытался заставить WhatsApp общаться, но, очевидно, не получится. Теперь, до того как я установил squid, я использовал hostapd просто для маршрутизации пакетов, например,
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
, что обеспечивало полный доступ в Интернет, что мне нравилось. Итак, у меня сейчас 2 вопроса.
Вероятно, стоит упомянуть: я пробовал «дрони» для Android, чтобы прокси цепочку WhatsApp из-за его страданий, но я не Тоже не везет.
Любая помощь приветствуется. Спасибо!
Редактировать: Я до сих пор не нашел способ сделать это правильно. Я выбрал другой подход, который мне показался жизнеспособным: попытаться изменить все пакеты следующим образом:
iptables -t nat -A PREROUTING -i eth0 ! -s 192.168.2.1 -p tcp -j DNAT --to 192.168.2.1:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0 -d 192.168.2.1 -j SNAT --to 192.168.2.1:3128
По сути, если я все понял правильно, это должно передать все пакеты на прокси squid (входящие и исходящие) .... хотя бы надеюсь?
У меня также есть несколько других строк, которые, кажется, могут решить проблему, но пока у меня не было никакого успеха. Строка будет
iptables -A FORWARD -s 192.168.2.0 -d 192.168.2.1 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT
, а также изменения eth / wlan, такие как das
iptables -A FORWARD -s 192.168.2.0 -d 192.168.2.1 -i eth0 -o wlan0 -p tcp --dport 3128 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0 -d 192.168.2.1 -i wlan0 -o eth0 -p tcp --dport 3128 -j ACCEPT
Я думаю, это не совсем проект для людей с умеренными навыками, или я просто делаю что-то нелепо неправильное. Интересно, что новые линии (кажется) прекрасно заменяют эти строки
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3128
, поэтому я предполагаю, что я не слишком далеко, но теперь я полностью застрял.