MikroTik WEB Proxy

Идеята за тази статия се породи когато помогнах на един приятел да заобиколи забраните наложени от фирмата в която работи. Разбира се не само това е приложението на тази техника за управление. Така можете да управлявате на ниво 7 какво се движи към Интернет примерно. Тука ще проиграем един вариант и се надявам да стане по ясно.


img01

Малко пояснение за горната снимка. Имаме локален потребител (PC1). Шлюза по-подразбиране на потребителя е Микротик-2 (10.25.0.1). Така локалния потребител се свързва с локалните ресурси и ресурсите на фирмата но няма изход към Интернет. За да излезе в Интернет трябва да се свържи към WEB Proxy сървъра на Микротик-1. По сложния вариант е потребител извън локалната мрежа (PC2) да излезе в Интернет. За да се случи това то трябва да се опише статичен маршрут в Микротик-1 до PC2. После PC2 използвайки WEB Proxy на Микротик-1 ще получи Интернет. А когато се направят на ниво 7 ограничения ще се получи и някаква защита. Задачата е да дигнем WEB Proxy на Микротик-1 и да го настроим.

WEB Proxy на Mikrotik-1

За начало да стартираме WEB Proxy.

[admin@Mikrotik-1] > /ip proxy set enabled=yes port=8080 cache-administrator="Tac hko Tachev" cache-on-disk=no


През WinBox-a щеше да изглежда така: IP -> Web Proxy

img02

До тук добре, сега да укажем кой какви привилегии ще има при ползване на Интернет.

[admin@Mikrotik-1] /ip proxy access add action=allow comment=full_access1 disabled=no src-address=10.25.4.111


IP -> Web Proxy

img03
img04

Така на потребителя с IP 10.25.4.111 позволихме пълен достъп до Интернет. Сега да забраним някои от домейните които не искаме да се посещават.

[admin@Mikrotik-1] /ip proxy access add action=deny disabled=no dst-host=facebook.com add action=deny disabled=no dst-host=*.facebook.com add action=deny disabled=no dst-host=twitter.com add action=deny disabled=no dst-host=*.twitter.com add action=deny disabled=no dst-host=imo.im add action=deny disabled=no dst-host=*.imo.im add action=deny disabled=no dst-host=aha.bg add action=deny disabled=no dst-host=*.aha.bg add action=deny disabled=no dst-host=elmaz.com add action=deny disabled=no dst-host=*.elmaz.com add action=deny disabled=no dst-host=gepime.com add action=deny disabled=no dst-host=*.gepime.com add action=deny disabled=no dst-host=mucunki.com add action=deny disabled=no dst-host=*.mucunki.com add action=deny disabled=no dst-host=arenabg.com add action=deny disabled=no dst-host=*.arenabg.com add action=deny disabled=no dst-host=zamunda.net add action=deny disabled=no dst-host=*.zamunda.net add action=deny disabled=no dst-host=sportsdirect.com add action=deny disabled=no dst-host=*.sportsdirect.com add action=deny disabled=no dst-host=laredoute.com add action=deny disabled=no dst-host=*laredoute.com add action=deny disabled=no dst-host=laredoute.fr add action=deny disabled=no dst-host=*laredoute.fr add action=deny disabled=no dst-host=vbox7.com add action=deny disabled=no dst-host=*.vbox7.com add action=deny disabled=no dst-host=youtube.com add action=deny disabled=no dst-host=*.youtube.com add action=deny disabled=no dst-host=mnogozle.com add action=deny disabled=no dst-host=*.mnogozle.com add action=deny disabled=no dst-host=logmein.com add action=deny disabled=no dst-host=*logmein.com add action=deny disabled=no dst-host=netlog.com add action=deny disabled=no dst-host=*.netlog.com add action=deny disabled=no dst-host=sibir.bg add action=deny disabled=no dst-host=*.sibir.bg add action=deny disabled=no dst-host=sladur.com add action=deny disabled=no dst-host=*.sladur.com add action=deny disabled=no dst-host=flirt4e.com add action=deny disabled=no dst-host=*.flirt4e.com add action=deny disabled=no dst-host=myspace.com add action=deny disabled=no dst-host=*.myspace.com add action=deny disabled=no dst-host=impulse.bg add action=deny disabled=no dst-host=*.impulse.bg add action=deny disabled=no dst-host=videofen.com add action=deny disabled=no dst-host=*.videofen.com add action=deny disabled=no dst-host=powershare-bg.com add action=deny disabled=no dst-host=*.powershare-bg.com add action=deny disabled=no dst-host=imdb.com add action=deny disabled=no dst-host=*.imdb.com add action=deny disabled=no dst-host=flash4e.com add action=deny disabled=no dst-host=*.flash4e.com add action=deny disabled=no dst-host=cinefish.bg add action=deny disabled=no dst-host=*.cinefish.bg add action=deny disabled=no dst-host=miniclip.com add action=deny disabled=no dst-host=*.miniclip.com add action=deny disabled=no dst-host=bgflash.com add action=deny disabled=no dst-host=*.bgflash.com add action=deny disabled=no dst-host=flash-igri.com add action=deny disabled=no dst-host=*.flash-igri.com add action=deny disabled=no dst-host=start.bg add action=deny disabled=no dst-host=*.start.bg add action=deny disabled=no dst-host=bgflash.com add action=deny disabled=no dst-host=*.bgflash.com add action=deny disabled=no dst-host=free.bg add action=deny disabled=no dst-host=*.free.bg add action=deny disabled=no dst-host=lafim.com add action=deny disabled=no dst-host=*.lafim.com add action=deny disabled=no dst-host=kefche.com add action=deny disabled=no dst-host=*.kefche.com add action=deny disabled=no dst-host=bgkef.com add action=deny disabled=no dst-host=*.bgkef.com add action=deny disabled=no dst-host=fun4e.com add action=deny disabled=no dst-host=*.fun4e.com add action=deny disabled=no dst-host=data.bg add action=deny disabled=no dst-host=*.data.bg add action=deny disabled=no dst-host=manicheta.com add action=deny disabled=no dst-host=*.manicheta.com add action=deny disabled=no dst-host=grabo.bg add action=deny disabled=no dst-host=*.grabo.bg add action=deny disabled=no dst-host=bezplatno.net add action=deny disabled=no dst-host=*.bezplatno.net add action=deny disabled=no dst-host=bezplatno.net add action=deny disabled=no dst-host=*.bezplatno.net add action=deny disabled=no dst-host=eurofootball.bg add action=deny disabled=no dst-host=*.eurofootball.bg add action=deny disabled=no dst-host=gong.bg add action=deny disabled=no dst-host=*.gong.bg add action=deny disabled=no dst-host=sportal.bg add action=deny disabled=no dst-host=*.sportal.bg add action=deny disabled=no dst-host=y8.com add action=deny disabled=no dst-host=*radio* add action=deny disabled=no dst-host=*sex* add action=deny disabled=no dst-host=*tube* add action=deny disabled=no dst-host=*porn* add action=deny disabled=no dst-host=*xxx* add action=deny disabled=no path=*.mp3 add action=deny disabled=no path=*.wav add action=deny disabled=no path=*.wmv add action=deny disabled=no path=*.avi add action=deny disabled=no path=*.torrent add action=deny disabled=no path=*.mkv add action=deny disabled=no path=*.swf add action=deny disabled=no path=*.mp4 add action=deny disabled=no path=*.flv


В цялата работа има един досаден момент. Потребителя трябва в браузъра си да указва прокси сървъра. За да се избегне това се пренасочват някои портове.

[admin@Mikrotik-1] ip firewall nat add action=redirect chain=dstnat disabled=no dst-port=80,443 protocol=tcp src-address=10.25.3.0/24 to-addresses=0.0.0.0 to-ports=8080


През WinBox-a щеше да изглежда така: IP -> Firewall -> +

img05

Забележете, че дефинирахме цялата Ц клас мрежа 10.25.3.0/24 да ползва прокси сървъра, но ще го ползва с ограниченията които описахме. Сега по друг начин да опишем и потребителя с IP 10.25.4.111

[admin@Mikrotik-1] /ip firewall address-list add address=10.25.4.111 list=proxylist


През WinBox-a щеше да изглежда така: IP -> Firewall -> +

img06

И самото правило:

[admin@Mikrotik-1] /ip firewall nat add action=redirect chain=dstnat dst-port=80,443 protocol=tcp src-address-list=proxylist to-ports=8080


През WinBox-a щеше да изглежда така: IP -> Firewall -> NAT -> +

img07
img08

Потребителя с IP 10.25.4.111 ще излиза в Интернет без ограничения и няма да се налага да си описва прокси сървъра в браузъра. Този втори вариант е по-удачен, така можете винаги да виждате кой има право да достъпва прокси сървъра, иначе трябва да помните кое правило за какво беше и т.н. А сега да направим така, че прокси сървъра ни да не се вижда от Интернет.

[admin@Mikrotik-1] /ip firewall filter add action=drop chain=input disabled=no dst-port=8080 in-interface=ether1 protocol=tcp


През WinBox-a щеше да изглежда така: IP -> Firewall -> NAT -> +

img09
img10

Сега остава по-сложната задача. Компютър извън локалната мрежа да достъпва прокси сървъра. Примерно PC2 достъпващ ресурсите на локалната мрежа през Mikrotik-2, да има Интернет през Mikrotik-1. За начало нека PC2 да достъпва Mikrotik-1. За целта създаваме в Mikrotik-1 статичен маршрут.

[admin@Mikrotik-1] /ip route add dst-address=10.0.0.30 gateway=10.25.0.1


През WinBox-a щеше да изглежда така: IP -> Routes -> +

img11

Лесно можете да проверите дали правилото е влязло в сила, като от PC2 дадете ping до Mikrotik-1. Ако има отговор, продължаваме. И сега много лесно да добавим PC2 в адресната листа за достъп до прокси сървъра.

[admin@Mikrotik-1] /ip firewall address-list add address=10.0.0.30 list=proxylist


Мисля, че това беше всичко, при проблеми не се притеснявайте пишете на tachko@tachko.com