Моя работа включает в себя выполнение анализа MITM, и поскольку клиенты не всегда могут быть осведомлены о прокси, я прибег к прозрачной настройке прокси.
Более подробно, я взял старый ноутбук и модем Wi-Fi, который я перевел в режим моста, установил Debian 9 и подключился к моей основной сети / WAN через беспроводной интерфейс. Модем Wi-Fi в режиме моста подключен к интерфейсу Ethernet, который действует как шлюз для клиента, и я пересылаю весь трафик с него на беспроводной интерфейс.
Этот маршрутизатор также заботится о DNS, используя bind9.
Это выглядит так:
Client (10.0.0.12) - > eth0 (10.0.0.1) - > wlan0 (192.168.178.40) - > WAN (192.168.178.1)
| |
| DEBIAN BASED ROUTER |
|__________________________________________|
А при использовании в качестве прозрачного прокси-сервера я использую следующие правила iptable для перенаправления трафика на прослушиватель через порт 8888:
iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 443 -j REDIRECT --to-port 8080
Выглядит так:
-> MITM LISTENER (:8888) ->
| |
port 80, 443 |
| |
Client (10.0.0.12) - > eth0 (10.0.0.1) - > wlan0 (192.168.178.40) - > WAN (192.168.178.1)
| |
| DEBIAN BASED ROUTER |
|__________________________________________|
Хорошо, с этой визуализацией я ищу способ подключения к Интернету через VPN, а не через свой публичный IP-адрес, но при этом могу выполнять MITM.
Я смотрел на OpenVPN, но в целом не уверен, как настроить эту настройку.