Как настроить на mikrotik переадресацию на proxy сервер?



@EvgenShal

Здравствуйте. У меня есть настроенный squid 5 прокси сервер на базе ubuntu 20.04 в локальной сети 192.168.0.0/16 с ip 192.168.100.101.
Мне необходимо сделать так чтобы все запросы пользователей подключенных к сети через определенный порт mikrotik шли на прокси сервер.
В данный момент прокси работает с настройками портов:
http_port 3129
http_port 127.0.0.1:3128 intercept
Если указать первый в настройках ПК фильтрация через сервер работает.
Подскажите как настроить переадресацию на роутере и на сервере чтобы трафик шел с mikrotik на сервер и паралельно обрабатывался для выхода в интернет.


Решения вопроса 0


Ответы на вопрос 1



@dronmaxman

Если все клиенты windows и на них включена опция авто настройки прокси (а она включена по умолчанию), то лучший вариант — это использовать WPAD.
https://www.giantstride.gr/en/proxy-autodiscovery/
Поднять на том же ubuntu http сервер и положить на него файлик wpad с конфигом, на микротике настроить DHCP опцию 252 которая будет отдавать клиентам путь к wpad. Так же путь к этому файлу можно распространять через DNS.

Пример wpad

function FindProxyForURL(url, host) {
	if (shExpMatch(url,"localhost/*"))                {return "DIRECT";} # не использовать прокси для локальной сети
	if (shExpMatch(url,"localhost:*/*"))              {return "DIRECT";} # не использовать прокси для локальной сети
	if (host == "cloud.mail.ru")			  {return "PROXY 192.168.1.20:3128";} # использовать другой прокси для определенного хоста
	if (shExpMatch(url,"*.toster.ru/*"))		  {return "DIRECT";}
	if (shExpMatch(url,"*.toster.ru:*/*"))              {return "DIRECT";} # не использовать прокси для специального домена-URL
	if (isInNet(host, "127.0.0.0", "255.0.0.0"))      {return "DIRECT";} # не использовать прокси для локальной сети
	if (isInNet(host, "10.0.0.0", "255.0.0.0"))       {return "DIRECT";} # не использовать прокси для локальной сети
	if (isInNet(host, "192.168.0.0", "255.255.0.0"))  {return "DIRECT";} # не использовать прокси для локальной сети
	if (isInNet(host, "172.16.0.0", "255.240.0.0"))   {return "DIRECT";} # не использовать прокси для локальной сети
	return "PROXY 192.168.1.10:3128"; #все остальное заворачивать на прокси
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *