Изборник Затворити

Микротик као PPTP сервер

Скраћена веза: https://pedja.supurovic.net/veza/5438

Често се јавља потреба да се направи симулирана интернет веза која служи као безбедна веза између две удаљене тачке које обе имају приступ Интернету. Разлози могу бити разнолики, а најчешће се ради о повећању безбедности и заштите података који иду кроз несигурно интернет окружење.

Оваква веза се назива тунелом јер има само два краја и не може се у њу ући другачије, осим на та два краја. Тунел може бити обезбеђен лозинком и шифрован. Две тачке овакву везу виде као да је стварна веза и могу је користити исто као и било коју другу интернет везу.

Пошто је све што пролази кроз тунел сигурно од приступа са стране, он се може пропустити преко Интернета и тако повезивати тачке које треба да размењују осетљиве информације. Иако је Интернет несигуран терен, тунел обезбеђује потребну сигурност јер сав саобраћај кроз тунел је изолован и заштићен од другог интернет саобраћаја.

Тунел везама се стварају привидне приватне мреже (VPN – Virtual Private Network). Оне омогућавају да формирамо целе мреже рачунара кроз Интернет, а да се при том они међусобно виде као да су у локалној мрежи, одвојени од другог интернет саобраћаја.  Таква мрежа је привидна, али ради исто као и да је направљена стварним физичким везама.

Тунели су врло практични када је потребно омогућити приступ „са терена“, односно са Интенета локалној мрежи. Корисник може да се кроз Интернет повеже тунелом тако да његов рачунар постаје део локалне мреже, баш као да је физички у њу повезан. Једино ограничење је – ограничење брзине интернет веза.

Виртуелна приватна мрежа спаја рачунаре преко Интернета

PPTP

Постоји доста тунел протокола, направљених са различитим наменама. Микротик их доста и подржава тако да на располагању имате велики избор. У чланку ћу се задржати на опису протокола PPTP, који је често у употреби. Други протоколи се употребљавају на сличан начин, а разлике су углавном у ефикасности и степену заштите.

Point-to-Point Tunneling Protocol (PPTP) је тунел који је заснован на PPP (Point-to-Point) протоколу. Он се користи када је потребно спојити две тачке које су иначе међусобно видљиве на TCP нивоу (упрошћено речено, ако ради ping, радиће и PPTP тунел). PPTP конекција пролази кроз рутере.

Повезивање се врши између две IP адресе од којих се на једној налази сервер а на другој клијент. Сервер може да прихвати конекције више клијената. Клијенти могу бити сви уређаји који могу да употебе овај протокол, укључујући друге рутере или рачунаре.

Веза се обезбеђује корисничким именом и лозинком и има могућност коришћења шифровања. Намењен је за повезивање удаљених тачака и мрежа преко постојећих интернет мрежа.

Микротик PPTP интерфејс третира на исти начин као и остале физичке мрежне интерфејсе. Када једном подесите PPTP интерфејс, надаље са њим можете радити практично исто што и са физичким интерфејсима.

Подешавање PPTP сервера

Укључивање PPTP сервера на микротику је врло једноставно, једном командом:

/interface pptp-server server set \
  authentication=mschap1,mschap2
  default-profile=default-encryption \
  enabled=yes \
  keepalive-timeout=30 \
  max-mru=1460 \
  max-mtu=1460 \
  mrru=disabled

Ово су све подразумевана подешавања. Једино је сервер подразумевано искључен па је потребно да га укључимо. Параметри су:

authentication – одређује који протоколи за пријаву клијента се могу користити. mscha2 је неопходан за шифровану конекцију.

default-profile – одређује профил корисника који ће се применити ако кориснику није додељен неки профил. О томе ћемо касније.

enabled – да ли је сервер укључен или искључен.

keepalive-timeout – служи за проверу да ли је конекција „жива“. Сервер ће периодично проверавати да ли је клијент још увек доступан и акo није, прекинуће конекцију. Период се наводи у секундама.

max-mru/max-mtu/mrru – максималне дужине примљених и послатих пакета. Не дирајте ако не знате чему служи. Погледајте PPPoE конекција Микротик рутера као клијента за детаљније објашњење.

Овако подешен сервер је спреман да прихвати кориснике.

Кориснички налози

Да би се корисник могао повезати на PPTP сервер неопходно је креирати налог за њега. Основна сврха налога је да идентификује корисника, јер одређује корисничко име и лозинку. порд тога, кроз налог се кориснику додељује ИП адреса, одређује брзина протока ако је потребно, и други параметри везе.

/ppp secret add \
  name=user1 \
  password=lozinka \
  profile=default-encryption \
  local-address=10.10.10.1 \
  remote-address=10.10.10.2 \
  service=pptp \
  caller-id="" \
  limit-bytes-in=0 \
  limit-bytes-out=0 \
  routes="" \
  comment="" \
  disabled=no

Значење параметара:

name – име корисника

password – лозинка са којом корисник успоставља везу

profile – профил корисника. Ако већи број корисника треба да има исте параметре конекције онда је боље уместо подешавања сваког корисника понаособ направити профил и додељивати га свим тим корисницима. Профил default-encryption је унапред припремљен и он има омогућену енкрипцију, што је пожељно за конекције које иду преко Интернета. Обично овај профил и задовољава основне потребе. Ако је потребно да измените профил, направите нови и њега користите.

local-address – за сваку активну PPTP конекцију рутер прави нови мрежни интерфејс. Овај параметер одређује која IP адреса ће бити додељена том интерфејсу. Ако имате више корисника, можете за све њих навести исти локални IP рутера.

remote-address – ово је IP адреса која треба да буде додељена кориснику.

service – избор сервиса које корисник може да употреби. Може се омогућити више протокола а не само PPTP.

caller-id – Додатни ниво безбедности се може постићи ако се наведе IP адреса са које корисник успоставља PPTP везу. То значи да и ако неко зна корисничко име и лозинку, неће моћи да успостави везу ако има другачији IP.

limit-bytes-in/limit-bytes-out – ограничење брзине протока за сваки смер посебно. Ако је ово подешено, рутер ће направити Simple Queue правило за ограничење брзине за наведену PPTP конекцију.

routes –  уколико је потребно, рутер може, након успостављене везе да подеси одређене статичке руте. Ово је згодно ако је потребно да се кроз успостављену конекцију рутиранеки IP саобраћај.

Ово је најједноставнији начин да креирате кориснике за PPTP конекције. Практичан је ако се ради о мањем броју конекција. Ако је потребно да омогућите приступ великом броју корисника, а поготово ако је потребно да мерите саобраћај, онда је боље користити радијус (RADIUS) сервер, но то излази из оквира овог чланка.

Статични мрежни интерфејси за PPTP конекције

Када се корисник повеже на PPTP сервер, рутер ће тада креирати нови мрежни интерфејс за њега, успоставити конекцију, доделити IP адресе интерфејсу и кориснику и уопште обавити све што је потребно да веза ради. Када корисник прекине конекцију, рутер брише тај интерфејс.

То је најчешће сасвим прихватљив начина рада. Ипак, то може да буде незгодно ако је потребно да нека друга подешавања на рутеру вежете за тај интерфејс. Није то баш лако извести ако интерфејс час постоји – час не постоји, зависно до тога да ли је корисник повезан на сервер.

Зато, ако је потребно, можете унапред направити PPTP интерфејс за одређеног корисника. Тај интерфејс ће на рутеру постојати и када корисник није повезан, тако да је лако направити остала везана подешавања.

Жељени интерфејс креирате командом:

/interface pptp-server add \
  name=pptp-in-user1
  user="user1"
  comment=""
  disabled=no

Параметром name одређујемо име мрежног интерфејса сервера, а параметром user одређујемо ком коринику је тај интерфејс намењен. Од тада, када се наведени корисник буде повезан на PPTP сервер биће му додељен овај интерфејс уместо креирања привременог.

Провера подешавања

Ако желите да проверите који су корисници повезани на PPTP сервер употребите команду

/ppp active print

Добићете приказ сличан овом:

[admin@Mikrotik] /ppp active print
Flags: R - radius
 # NAME  SERVICE CALLER-ID       ADDRESS    UPTIME  ENCODING
 0 user1 pptp    186.21.211.129  10.10.10.2 5h8m58s MPPE128 stateless
 1 user2 pptp    81.212.215.34   10.10.10.3 5h8m59s MPPE128 stateless
 2 user3 pptp    118.253.232.137 10.10.10.4 5h8m59s MPPE128 stateless
 3 user4 pptp    12.221.111.206  10.10.10.5 6m15s   MPPE128 stateless

А ако имате проблем са неким корисником који не успева да се повеже, онда употребите лог да проверите шта је проблем. Најпре омогућите логовање PPTP конекција:

/system logging add action=memory disabled=no prefix="" topics=pptp

Сада је довољно да отворите лог и пратите све та се дешава са PPTP конекцијама. То ће вам сигурно помоћи да откријете проблем.

PPTP сервер иза заштитног зида

Ако се PPTP сервер налази иза заштитног зида (NAT) он није директно доступан. Уколико је потребно да се приступ PPTP серверу са Интернета омогући кроз заштитни зид, онда је неопходно да се на заштитном зиду направи пролаз за конекције на порту TCP 1723 као и пролаз gre протокола. Потребно је и једне и друге конкекције усмерити на PPTP сервер.

Ако је заштитни зид такође на микротику (другом, не оном на коме је PPTP сервер) онда се тај други микротик подешава командама:

/ip firewall nat \
  add action=dst-nat chain=dstnat comment="dstnat pptp" disabled=no \
      in-interface=wan dst-port=1723 protocol=tcp \
      to-addresses=192.168.1.2 to-ports=1723

  add action=dst-nat chain=dstnat comment="dstnat gre" disabled=no \
      in-interface=wan protocol=gre \
      to-addresses=192.168.1.2

У примеру је претпоставка да је адреса PPTP сервера у мрежи са заштитним зидом 192.168.1.2.

PPTP корисници и лан корисници у истом мрежном опсегу

Пример у чланку подразумева да ИП опсег који се корсити за PPTP коринике није исти као ИП опсег који се користи за друге кориснике у локалној мрежи. Ипак, честа је потреба да се корисницима који приступају локалној мрежи преко PPTP омогући да виде локалне мреже ресурсе као да су физички у локалној мрежи – на пример да могу да корсите виндоуз шеринг.

Иако се као логично решење намеше к0оришћење бриџа, PPTP интерфејси се у микротику рутеру не могу ставити у бриџ, па ово неће радити.

Уместо бриџа треба на лан интерфејсу (интерфејсу преко кога је локална мрежа спојена на микротик рутер) укључити опцију:

 arp=proxy-arp

Након тога, довољно је свим PPTP корисницима додељивати ИП адресе из опсега локалне мреже, само треба водити рачуна да се не преклапају са ИП адресама које се већ користе у локалној мрежи. Као local-address PPTP корисницима треба подесити ИП адресу која је додељена лан интефејсу.

2 Comments

  1. Vanja

    Postovani Pedja,
    nisam mogao otvoriti novu temu pa sam napisao ovde. Naime imam jedan mali problemcic, pa bih molio za savet.

    imam tri lokacije, na svim lokacijam a je doveden telekomov adsl, i na svim lokacijama je postavljen mikrotik 951.

    na jednoj lokaciji imam staticku adresu i podignut je pptp server i hotspot.
    Druge dve lokacije se konekutuju pptp na nju.

    takodje uspostavljen je eoip izmedju njih i ubacene su u bridge mode zajedno sa wlan interfaceom.

    lokacija 1 BRIDGE(wlan+eoip_lokacija2+eoip_lokacija3) i hotspot nad svime

    lokacija 2 i 3 BRIDGE(wlan+eoip_lokacija1)

    Ideja je bila centralizovani hotspot.
    Problem je u tome sto dobijem adresu na lokaciji 2 i 3 ali nista ne mogu da otvorim cak ni login stranu hotspota.

    hotspot na lokaciji jedan radi bez problema

    hvala unapred

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *

Попуните израз тако да буде тачан: *

Ово веб место користи Акисмет како би смањило непожељне. Сазнајте како се ваши коментари обрађују.