Можно по паролю, только не используя возможности сквида, а прибегнув к серверу PPTP.
Схем реализации, я вижу две:
Таже что и сверху, только теперь всё ограничивается на PPPTP-адреса.
Или: Все, кто не подсоединён к PPTP идут на прокси, а те кто подсоединился ходят прямо в нет. без прокси-сервера.
Второй вариант мне кажется лучше, потому его и опишу
Значится так. У нас есть (это всё НАПРИМЕР) сеть 192.168.1.0/24, внешний провайдер с доменом myprovider.com.ua (где-то мы уже это видели).
Нужно разрешить все доступ к домену провайдера
Нужно разрешить парольный доступ отдельным личностям в интернет по логину с паролем.
Ну начём.
Всё так же открываем WinBOX (имели мы ввиду эту консоль
)
Заходим в IP->Web-proxy
Жмём Settings и ставим:
- Src. address: IP локального интерфейса (в нашем случаи это 192.168.1.1)
- Port: Ну какой-нибудь, пускай будет стандартный, нам не жалко - 3128
- Host name: Давай те введём что-нибудь, ну пускай это будет, mikrotik.mydomain.ua
- Transparent proxy: Прозрачный прокси, ставим галку, нам это нужно
- Cache administrator: Введи своё мыло, чтобы обиженным было куда писать, например, v@sosny.ru
- Maximum object size: Максимальный кешируемый, при включённом кеше, объект. Обычно ставят 1-1,5 МБ (1024-1536)
- Maximum cache size: Тут надо быть поаккуратнее, вся проблема в том, что Сквид, нифига не умеет корректно работать со своим кешем, при достижении какого-то там объёма файлов внутри него. Поэтому большое значение лучше не ставить, давайте поставим 500МБ - 512000
- Maximum RAM cache size: Это объём содержащегося кеша в ОЗУ. Поставьте метров 8 (8192), ему хватит на всю жизнь.
Жмём кнопку Enable и закрываем окошко.
Теперь создаём два правила прокси:
№1:
Src. Address: 192.168.1.0/24
Dst. Address: 0.0.0.0/0
URL:http://*myprovider.com.ua/*
Method: Any
Action: Allow
№2:
Src. Address: 0.0.0.0/0
Dst. Address: 0.0.0.0/0
URL:http://*
Method: Any
Action: Deny
Переходим на вкладку Cache
Создаём два правила кеша:
№1:
Src. Address: 0.0.0.0/0
Dst. Address: 0.0.0.0/0
URL:*/cgi-bin/*
Method: Any
Action: Deny
№2:
Src. Address: 0.0.0.0/0
Dst. Address: 0.0.0.0/0
URL:http://*
Method: Any
Action: Allow
Усё. Прокси готов. Чего мы добились. У нас все пользователи могу ходить на сайты домена myprovider.com.ua и прриэтому информация с него кешируется...
Теперь остался интернет.
Заходим в PPP. Жмём кнопку PPTP. Вводим параметры телеметрии
...
- Enable Ставим галку
- Max MTU: 1460 (Что это???)
- Max MRU: 1460 (Что это???)
- Keepalive Timeout - Время простоя после которого происходит разрыв. Можно не указывать, в смысле галку снимаем
- Defaul Profile: Выбираем профиль шифрования, т.к. мы шифрование настраивать не будем (его за нас настроили), выбираем default-encryption
- Authntication: Авторизация. Ставим все галки.
Жмём ОК.
Переходим на вкладку Profiles. Дважды клацаем на default-encryption
Меняем Local Address: Адрес нашего сервера. Ну например 192.168.203.1
Меняем DNS Server: Ну какие у вас там DNSы
Переходим на вкладку Limits. Ставим точку Only One - No
Жмё OK
Переходим на вкладку Secrets (а вот они - Пользователи)
Жмём кнопку +
Получаем окошко, в котором заполняем:
- Name: Оно же логин. оно же название правила
- Password: Пароль! Галку ставим, поле заполняем
- Service: В куда этот пользователи ходит, выбираем pptp
- Profile: default-encryption
- Local Address: Адрес нашего сервера. Оставляем не заполненным (возьмётся из профиля)
- Remote Address: Ну например 192.168.203.2
Жмём ОК.
Почти-почти всё готово...
Заходим IP->Firewall. Переходим на вкладку Address list
Жмём кнопку +. Запоняем поля:
- Name: Название группы адресов. Ну пожалуй PPTP
- Address: Адрес или маска адресов в сети. Ну пускай у нас на каждго пользера будет свой адрес и в случаии чего мы сможем его отлучать от интернета нажатием одной кнопки. Поэтому вводим адрес пользователя 192.168.203.2
Жмё ОК
Запись появляется, но она не активная, выделяем её и жмём галочку! (Если хотим запретить, то жмём крестик)
Переходим на вкладку NAT.
Создаём два правила:
№1:
- Chain: srcnat
- Out. Interface: Internat (интерфейс направления)
- Src. Address List (Вкладка Advanced): PPTP (новосозданная группа IP-адресов)
- Action (Вкладка Action): src-nat (если знаем (не динамический) IP внешнего интерфейса) или masquerade (если не знаем)
- To Addresses: IP внешнего интерфейса
To Ports: 0-65535
№2:
- Chain: dstnat
- Src. Address: 192.168.1.0/24
- Dst. Address: Адрес сервера - 192.168.1.1. Установить восклецательный знак (квадратик рядом)
- Protocol: 6 (tcp)
- Dst. Port: 80
- Action (Вкладка Action): Redirect
To Ports: 3128
Переходим на вкладку Filter Rules
Создаём правила фильтрации трафика:
№1: (Разрешаем ответы на запросы прокси)
- Chain: Forward
- In. Interface: внешний интерфейс
- Action (Вкладка Action): Accept
№2: (запрещаем входящие "не правельные" запросы на сервер)
- Chain: Input
- Connection state: invalid
- Action (Вкладка Action): Drop
№3: (разрешаем все установленные соединения)
- Chain: Forward
- Connection state: established
- Action (Вкладка Action): Accept
№4: (разрешаем все запрошенные соединения)
- Chain: Forward
- Connection state: related
- Action (Вкладка Action): Accept
№5: (разрешаем UDP трафик к серверу)
- Chain: Input
- Protocol: 17 (udp)
- Action (Вкладка Action): Accept
№6: (разрешаем UDP трафик в интернет)
- Chain: Forward
- Protocol: 17 (udp)
- Action (Вкладка Action): Accept
№7: (разрешаем ICMP (пинги) трафик к серверу)
- Chain: Input
- Protocol: 1 (icmp)
- Action (Вкладка Action): Accept
№8: (разрешаем ICMP (пинги) трафик в интернет)
- Chain: Forward
- Protocol: 1 (icmp)
- Action (Вкладка Action): Accept
№9: (разрешаем интернет нашим PPTP пользователям)
- Chain: Forward
- Out Interface: Внешний интерфейс
- Src. Address List (Вкладка Advanced): PPTP
- Action (Вкладка Action): Accept
№10: (рапрещаем всё остальное)
- Chain: Forward
- Action (Вкладка Action): Drop
№11: (на всякий случаем запрещаем не верные запросы внутрь сети)
- Chain: Forward
- Connection State: invalid
- Action (Вкладка Action): Drop
Собственно всё... Должно работать
))
Для добавления пользователя нужно добавить его в конфигурации PPTP и в адрес лист PPTP.
И помните в конфигурациях правила должны располагаться в том же порядке в котором они приведены здесь, в смысле, сохраняйте приоритеты
))