تانل L2TP میکروتیک (vpn)

کانفیگ و کلیات L2TP میکروتیک (vpn)

 

خلاصه

L2TP Client

  1. مشخصات
  2. مثال سریع و ساده

L2TP server

  1. کانفیگ L2TP server

مانیتورینگ

نمونه های کاربردی

  1. اتصال کلاینت از راه دور
  2. T2TP  سایت به سایت
  3. راه اندازی اولیه L2TP/Ipsec

 

L2TP/IpSec با راه اندازی سرور IPSec ایستا

  1. Ipsec/L2TP پشت NAT
  2. اتصال IP
  3. پیکربندی L2TP
  4. پیکربندی IpSec
  5. Apple iOS (iPhone/iPad) Client

 

خلاصه

 

L2TP یک پروتکل تونلی ایمن برای انتقال ترافیک IP با استفاده از PPP است.

L2TP PPP را در خطوط مجازی کپسوله می کند که روی IP، Frame Relay و پروتکل های دیگر اجرا می شوند (که در حال حاضر توسط MikroTik RouterOS پشتیبانی نمی شوند).

L2TP از PPP و MPPE (رمزگذاری نقطه به نقطه مایکروسافت) برای ایجاد پیوندهای رمزگذاری شده استفاده می کند.

هدف این پروتکل این است که به لایه‌های 2 و نقاط پایانی PPP اجازه دهد در دستگاه‌های مختلفی که توسط یک شبکه سوئیچ بسته به هم متصل هستند، قرار گیرند.

با L2TP، کاربر یک اتصال لایه 2 به یک متمرکز کننده دسترسی – LAC (به عنوان مثال، بانک مودم، ADSL DSLAM، و غیره) دارد و سپس متمرکز کننده فریم های PPP جداگانه را به سرور دسترسی به شبکه – NAS تونل می کند.

این کار اجازه می دهد تا پردازش واقعی بسته های PPP از پایانه مدار لایه 2 جدا شود.

از دیدگاه کاربر، هیچ تفاوت عملکردی بین پایان دادن مستقیم مدار L2 به NAS یا استفاده از L2TP وجود ندارد.

همچنین ممکن است استفاده از L2TP مانند هر پروتکل تونل زنی دیگر با یا بدون رمزگذاری مفید باشد.

استاندارد L2TP می گوید که امن ترین راه برای رمزگذاری داده ها استفاده از L2TP از طریق IPsec است.

(توجه داشته باشید که حالت پیش فرض برای سرویس گیرنده L2TP مایکروسافت است) زیرا تمام کنترل L2TP و بسته های داده برای یک تونل خاص به عنوان بسته های داده UDP/IP همگن به نظر می رسد. سیستم IPsec

Multilink PPP (MP) به منظور ارائه MRRU (قابلیت انتقال بسته های با اندازه کامل 1500 و بزرگتر) و بریج زدن بر روی پیوندهای PPP

(با استفاده از پروتکل کنترل پل (BCP) که امکان ارسال فریم های اترنت خام را از طریق پیوندهای PPP فراهم می کند) پشتیبانی می شود.

به این ترتیب امکان راه اندازی بریج بدون EoIP وجود دارد.

بریج باید دارای یک آدرس MAC تنظیم شده اداری یا یک رابط اترنت مانند باشد، زیرا پیوندهای PPP دارای آدرس MAC نیستند.

L2TP شامل احراز هویت و اکانتینگ PPP برای هر اتصال L2TP است.

احراز هویت کامل و اکانتینگ هر اتصال ممکن است از طریق یک کلاینت RADIUS یا به صورت محلی انجام شود.

(رمزگذاری MPPE 128 بیتی RC4 پشتیبانی می شود.)

ترافیک L2TP از پروتکل UDP برای بسته های کنترل و داده استفاده می کند.

پورت UDP 1701 فقط برای ایجاد پیوند استفاده می شود، ترافیک بیشتر با استفاده از هر پورت UDP موجود (که ممکن است 1701 باشد یا نباشد) است.

این بدان معناست که L2TP را می توان با اکثر فایروال ها و روترها (حتی با NAT) با فعال کردن ترافیک UDP از طریق فایروال یا روتر استفاده کرد.

 

L2TP Client

Sub-menu: /interface l2tp-client

  • مشخصات

 

 

add-default-route (yes | no; Default: no) Whether to add L2TP remote address as a default route.
allow (mschap2 | mschap1 | chap | pap; Default: mschap2, mschap1, chap, pap) Allowed authentication methods.
connect-to (IP; Default: ) Remote address of L2TP server
comment (string; Default: ) Short description of the tunnel.
default-route-distance (byte; Default: ) Since v6.2, sets distance value applied to auto created default route, if add-default-route is also selected
dial-on-demand (yes | no; Default: no) connects only when outbound traffic is generated. If selected, then route with gateway address from 10.112.112.0/24 network will be added while connection is not established.
disabled (yes | no; Default: yes) Enables/disables tunnel.
keepalive-timeout (integer [1..4294967295]; Default: 60s) Since v6.0rc13, tunnel keepalive timeout in seconds.
max-mru (integer; Default: 1460) Maximum Receive Unit. Max packet size that L2TP interface will be able to receive without packet fragmentation.
max-mtu (integer; Default: 1460) Maximum Transmission Unit. Max packet size that L2TP interface will be able to send without packet fragmentation.
mrru (disabled | integer; Default: disabled) Maximum packet size that can be received on the link. If a packet is bigger than tunnel MTU, it will be split into multiple packets, allowing full size IP or Ethernet packets to be sent over the tunnel. Read more >>
name (string; Default: ) Descriptive name of the interface.
password (string; Default: “”) Password used for authentication.
profile (name; Default: default-encryption) Used PPP profile.
user (string; Default: ) User name used for authentication.
use-ipsec (yes | no; Default: no) When this option is enabled, dynamic IPSec peer configuration and policy is added to encapsulate L2TP connection into IPSec tunnel.
ipsec-secret (string; Default: ) Preshared key used when use-ipsec is enabled.

 

  • مثال سریع و ساده

در این مثال نحوه تنظیم سرویس گیرنده L2TP با نام کاربری “l2tp-hm”، رمز عبور “123” و سرور 10.1.101.100 را نشان می دهد.

 

[admin@dzeltenais_burkaans] /interface l2tp-client>add name=l2tp-hm user=l2tp-hm password=123 \
\... connect-to=10.1.101.100 disabled=no
[admin@dzeltenais_burkaans] /interface l2tp-client> print detail   
Flags: X - disabled, R - running 
 0    name="l2tp-hm" max-mtu=1460 max-mru=1460 mrru=disabled 
      connect-to=10.1.101.100 user="l2tp-hm" password="123" 
      profile=default-encryption add-default-route=no dial-on-demand=no 
      allow=pap,chap,mschap1,mschap2

 

L2TP server

Sub-menu: /interface l2tp-server

این منوی فرعی رابط‌ های هر کلاینت L2TP متصل را نشان می‌دهد.

یک رابط برای هر تونل ایجاد شده به سرور داده شده ایجاد می شود.

دو نوع رابط در پیکربندی سرور L2TP وجود دارد.

اگر نیاز به ارجاع به نام رابط خاص (در قوانین فایروال یا جاهای دیگر) ایجاد شده برای کاربر خاص باشد، واسط های استاتیک به صورت اداری اضافه می شوند.

هر زمان که کاربر متصل باشد و نام کاربری آن با هیچ ورودی ثابت موجود مطابقت نداشته باشد، رابط‌های پویا به‌طور خودکار به این لیست اضافه می‌شوند.

(یا در صورتی که ورودی قبلاً فعال باشد، زیرا نمی‌توان دو واسط تونل جداگانه با همان نام اشاره کرد).

رابط های پویا زمانی ظاهر می شوند که کاربر متصل می شود و پس از قطع ارتباط کاربر ناپدید می شوند،

بنابراین نمی توان به تونل ایجاد شده برای آن استفاده در پیکربندی روتر (مثلاً در فایروال) اشاره کرد،

بنابراین اگر به قوانین پایدار برای آن کاربر نیاز دارید، یک استاتیک ایجاد کنید.

در غیر این صورت استفاده از پیکربندی پویا بی خطر است.

 

توجه: در هر دو مورد کاربران PPP باید به درستی پیکربندی شوند – ورودی های استاتیک جایگزین پیکربندی PPP نمی شوند.

 

  • کانفیگ L2TP server

 

Sub-menu: /interface l2tp-server server

Property Description
authentication (pap | chap | mschap1 | mschap2; Default: mschap1,mschap2) Authentication methods that server will accept.
default-profile (name; Default: default-encryption) default profile to use
enabled (yes | no; Default: no) Defines whether L2TP server is enabled or not.
max-mru (integer; Default: 1450) Maximum Receive Unit. Max packet size that L2TP interface will be able to receive without packet fragmentation.
keepalive-timeout (integer; Default: 30) If server during keepalive-timeout period does not receive any packets, it will send keepalive packets every second, five times. If the server still does not receive any response from the client, then the client will be disconnected after 5 seconds. Logs will show 5x “LCP missed echo reply” messages and then disconnect. Available starting from v5.22 and v6rc3.
max-mtu (integer; Default: 1450) Maximum Transmission Unit. Max packet size that L2TP interface will be able to send without packet fragmentation.
use-ipsec (no | yes | require; Default: no) When this option is enabled, dynamic IPSec peer configuration is added to suite most of the L2TP road-warrior setups. When require is selected server will accept only those L2TP connection attempts that were encapsulated in the IPSec tunnel.
ipsec-secret (string; Default: ) Preshared key used when use-ipsec is enabled
mrru (disabled | integer; Default: disabled) Maximum packet size that can be received on the link. If a packet is bigger than tunnel MTU, it will be split into multiple packets, allowing full size IP or Ethernet packets to be sent over the tunnel. Read more >>

 

برای فعال کردن سرور L2TP

 

[admin@MikroTik] interface l2tp-server server> set enabled=yes
[admin@MikroTik] interface l2tp-server server> print
          enabled: yes
          max-mtu: 1450
          max-mru: 1450
             mrru: disabled
   authentication: pap,chap,mschap1,mschap2
  default-profile: default-encryption
[admin@MikroTik] interface l2tp-server server>

 

مانیتورینگ

نکته : دستور مانیتور می تواند برای نظارت بر وضعیت تونل در هر دو طرف مشتری و سرور استفاده شود.

[admin@dzeltenais_burkaans] /interface l2tp-client> monitor 0
     status: "connected"
     uptime: 7h24m18s
  idle-time: 6h21m4s
   encoding: "MPPE128 stateless"
        mtu: 1450
        mru: 1450

 

 

ویژگی های Read-only

Property Description
status () Current L2TP status. Value other than “connected” indicates that there are some problems establishing tunnel.

  • dialing – attempting to make a connection
  • verifying password – connection has been established to the server, password verification in progress
  • connected – tunnel is successfully established
  • terminated – interface is not enabled or the other side will not establish a connection
uptime (time) Elapsed time since tunnel was established.
idle-time (time) Elapsed time since last activity on the tunnel.
encoding () Used encryption method
local-address (IP Address) IP Address of local interface
remote-address (IP Address) IP Address of remote interface
mru (integer) Negotiated and used MRU

 

نمونه های کاربردی

  • اتصال کلاینت از راه دور

مثال زیر نحوه اتصال یک کامپیوتر به یک شبکه اداری راه دور از طریق تونل رمزگذاری شده L2TP را نشان می دهد.

که به آن کامپیوتر یک آدرس IP از همان شبکه ای که دفتر راه دور دارد (بدون نیاز به پل زدن روی تونل های EoIP) می دهد.

تنظیمات زیر را در نظر بگیرید.

 

تانل L2TP میکروتیک (vpn)

روتر آفیس از طریق ether1 به اینترنت متصل می شود.

ایستگاه های کاری به ether2 متصل هستند.

لپ تاپ به اینترنت متصل است و می تواند به IP عمومی روتر آفیس برسد (در مثال ما 192.168.80.1 است).

 

اولین قدم ایجاد یک کاربر است.

[admin@RemoteOffice] /ppp secret> add name=Laptop service=l2tp password=123
local-address=10.1.101.1 remote-address=10.1.101.100
[admin@RemoteOffice] /ppp secret> print detail
Flags: X - disabled
  0   name="Laptop" service=l2tp caller-id="" password="123" profile=default
      local-address=10.1.101.1 remote-address=10.1.101.100

[admin@RemoteOffice] /ppp secret>

توجه داشته باشید که آدرس local (محلی) L2TP همان آدرس روترها در local interface است و آدرس راه دور از همان محدوده شبکه محلی است (10.1.101.0/24).

 

مرحله بعدی فعال کردن سرور L2TP و سرویس گیرنده L2TP در لپ تاپ است.

[admin@RemoteOffice] /interface l2tp-server server> set enabled=yes
[admin@RemoteOffice] /interface l2tp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
    default-profile: default-encryption
[admin@RemoteOffice] /interface l2tp-server server>

 

کلاینت L2TP از لپ تاپ باید به IP عمومی روترها متصل شود که در مثال ما 192.168.80.1 است.

لطفاً، راهنمای مربوطه را در مورد نحوه راه اندازی یک کلاینت L2TP با نرم افزاری که استفاده می کنید، رجوع کنید.

 

توجه: به طور پیش فرض ویندوز L2TP را با IPsec تنظیم می کند. برای غیرفعال کردن IpSec، تغییرات رجیستری لازم است.

 

در این مرحله (زمانی که کلاینت L2TP با موفقیت وصل شد) اگر سعی کنید هر ایستگاه کاری را از لپ تاپ پینگ کنید، پینگ به پایان می رسد،

زیرا لپ تاپ قادر به دریافت ARP از ایستگاه های کاری نیست.

راه حل این است که proxy-arp را در local interface راه اندازی کنید.

 

[admin@RemoteOffice] interface ethernet> set ether2 arp=proxy-arp
[admin@RemoteOffice] interface ethernet> print
Flags: X - disabled, R - running
  #    NAME                 MTU   MAC-ADDRESS         ARP
  0  R ether1              1500  00:30:4F:0B:7B:C1 enabled
  1  R ether2              1500  00:30:4F:06:62:12 proxy-arp
[admin@RemoteOffice] interface ethernet>

پس از فعال شدن proxy-arp، کلاینت اکنون می تواند با موفقیت به تمام ایستگاه های کاری در local network پشت روتر دسترسی پیدا کند.

 

 

  • T2TP  سایت به سایت

در زیر نمونه ای از اتصال دو اینترانت با استفاده از یک تونل L2TP از طریق اینترنت آورده شده است.

تنظیمات زیر را در نظر بگیرید:

L2tp تونل

روترهای Office و Home از طریق ether1 به اینترنت وصل می شوند،

ایستگاه های کاری و لپ تاپ ها به ether2 متصل می شوند.

هر دو شبکه local از طریق سرویس گیرنده L2TP هدایت می شوند، بنابراین در یک broadcast domain نیستند.

اگر هر دو شبکه باید در یک broadcast domain باشند، باید از BCP و Bridge L2TP تونل با local interface استفاده کنید.

 

اولین قدم ایجاد یک کاربر است.

[admin@RemoteOffice] /ppp secret> add name=Home service=l2tp password=123
local-address=172.16.1.1 remote-address=172.16.1.2 routes="10.1.202.0/24 172.16.1.2 1"
[admin@RemoteOffice] ppp secret> print detail
Flags: X - disabled
  0   name="Home" service=l2tp caller-id="" password="123" profile=default
      local-address=172.16.1.1 remote-address=172.16.1.2 routes="10.1.202.0/24 172.16.1.2 1"

[admin@RemoteOffice] /ppp secret>

 

توجه داشته باشید که ما L2TP را برای اضافه کردن مسیر هر زمان که کلاینت متصل می شود تنظیم کرده ایم.

اگر این گزینه تنظیم نشده باشد، برای هدایت ترافیک بین سایت ها از طریق تونل L2TP، به پیکربندی مسیریابی ثابت روی سرور نیاز دارید.

 

مرحله بعدی فعال کردن سرور L2TP در روتر آفیس و پیکربندی کلاینت L2TP در روتر Home است.

[admin@RemoteOffice] /interface l2tp-server server> set enabled=yes
[admin@RemoteOffice] /interface l2tp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
    default-profile: default-encryption
[admin@RemoteOffice] /interface l2tp-server server>


[admin@Home] /interface l2tp-client> add user=Home password=123 connect-to=192.168.80.1 disabled=no
[admin@Home] /interface l2tp-client> print
Flags: X - disabled, R - running
 0 R  name="l2tp-out1" max-mtu=1460 max-mru=1460 mrru=disabled connect-to=192.168.80.1 user="Home" 
       password="123" profile=default-encryption add-default-route=no dial-on-demand=no 
       allow=pap,chap,mschap1,mschap2
[admin@Home] /interface l2tp-client>

در روتر خانگی اگر می‌خواهید ترافیک دفتر راه دور از تونل عبور کند، باید یک مسیر ثابت خاص به شرح زیر اضافه کنید:

[admin@Home] /ip route> add dst-address=10.1.101.0/24 gateway=l2tp-out1

پس از ایجاد تونل و تعیین مسیرها، باید بتوانید شبکه را از راه دور پینگ کنید.

 

  • راه اندازی اولیه L2TP/Ipsec

این مثال نشان می دهد که چگونه می توان به راحتی سرور L2TP/IpSec را روی روتر میکروتیک (با نسخه 6.16 یا جدیدتر نصب شده) برای road warrior connections (با ویندوز، اندروید و آیفون کار می کند) راه اندازی کرد.

مرحله اول فعال کردن سرور L2TP است:

/interface l2tp-server server
set enabled=yes use-ipsec=required ipsec-secret=mySecret default-profile=default

 

مورد نیاز : برای اطمینان از اینکه فقط اتصالات L2TP کپسوله شده IPSec پذیرفته می شود، تنظیم شده است.

اکنون کاری که انجام می دهد این است که سرور L2TP را فعال می کند و ipsec peer پویا iwth مخفی مشخص شده (specified secret) ایجاد می کند.

[admin@MikroTik] /ip ipsec peer> print 
 0  D address=0.0.0.0/0 local-address=0.0.0.0 passive=yes port=500 
      auth-method=pre-shared-key secret="123" generate-policy=port-strict 
      exchange-mode=main-l2tp send-initial-contact=yes nat-traversal=yes 
      hash-algorithm=sha1 enc-algorithm=3des,aes-128,aes-192,aes-256 
      dh-group=modp1024 lifetime=1d dpd-interval=2m dpd-maximum-failures=5 

 

توجه: در صورت وجود پیکربندی همتای ثابت ipsec، باید مراقب باشید.

 

مرحله بعدی ایجاد VPN pool و اضافه کردن چند کاربر است.

/ip pool add name=vpn-pool range=192.168.99.2-192.168.99.100

/ppp profile
set default local-address=192.168.99.1 remote-address=vpn-pool

/ppp secret
add name=user1 password=123
add name=user2 password=234

 

اگر سیاست های سختگیرانه فایروال وجود دارد، فراموش نکنید که قوانینی را اضافه کنید که l2tp و ipsec را بپذیرد.

/ip firewall filter
add chain=input protocol=udp port=1701,500,4500
add chain=input protocol=ipsec-esp

 

اکنون روتر آماده پذیرش اتصالات کلاینت L2TP/IpSec است.

 

L2TP/IpSec با راه اندازی سرور IPSec ایستا

  • Ipsec/L2TP پشت NAT

 

راه اندازی را همانطور که در زیر نشان داده شده است در نظر بگیرید.

L2TP Ipsec

مشتری نیاز به اتصال ایمن به دفتر با آدرس عمومی 1.1.1.1 دارد، اما سرور نمی داند آدرس منبعی که مشتری از آن متصل می شود چیست.

اصطلاحاً راه اندازی “road-warrior” نامیده می شود.

مشتری ما همچنین در پشت روتر با NAT فعال قرار خواهد گرفت.

برای راه اندازی روتر RouterOS به عنوان دستگاه مشتری پشت NAT استفاده می شود (این می تواند هر دستگاهی باشد: رایانه شخصی ویندوز، تلفن هوشمند، رایانه شخصی لینوکس و غیره)

 

  • اتصال IP

روی سرور:

/ip address 
add address=1.1.1.1/24 interface=ether1

/ip route
add gateway=1.1.1.2

در روتر کلاینت:

/ip address 
add address=2.2.2.2/24 interface=ether1
add address=10.5.8.0/24 interface=ether2

/ip route
add gateway=2.2.2.1

/ip firewall nat
add chain=srcnat action=masquerade out-interface=ether1

در کلاینت:

/ip address
add address=10.5.8.120/24 interface=ether1
  • پیکربندی L2TP

 

روی سرور:

/interface l2tp-server server
set enabled=yes profil=default

/ip pool 
add name=l2tp-pool ranges=192.168.1.2-192.168.1.20

/ppp profile 
set default local-address=192.168.1.1 remote-address=l2tp-pool

/ppp secret
add name=l2tp-test password=test123456

در کلاینت:

/interface l2tp-client
add connect-to=1.1.1.1 disabled=no name=l2tp-out1 password=password user=l2tp-test
  • پیکربندی IpSec

روی سرور:

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des,aes-128,aes-192,aes-256
/ip ipsec peer
add generate-policy=yes hash-algorithm=sha1 nat-traversal=yes secret=test123456

در روتر کلاینت:

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=aes-128
/ip ipsec peer
add address=1.1.1.1/32 hash-algorithm=sha1 nat-traversal=yes secret=test123456

/ip ipsec policy
add dst-address=1.1.1.1/32 protocol=udp sa-dst-address=1.1.1.1 \
      sa-src-address=10.5.8.120 src-address=10.5.8.120/32

توجه داشته باشید که nat-traversal فعال است.

این گزینه مورد نیاز است زیرا اتصال Ipsec از طریق روتر NAT برقرار می شود در غیر این صورت Ipsec قادر به ایجاد فاز2 نخواهد بود.

 

هشدار: فقط یک اتصال L2TP/IpSec را می توان از طریق NAT ایجاد کرد.

یعنی فقط یک کلاینت می تواند به سروری که در پشت همان روتر قرار دارد متصل شود.

 

  • Apple iOS (iPhone/iPad) Client

برای اتصال به سرور IPsec/L2TP در RouterOS باید L2TP را به‌عنوان نوع VPN در iOS انتخاب کنید (این شامل کادر تأیید IPsec پیش‌فرض ایجاد شده توسط QuickSet VPN است).

Apple iOS (iPhone/iPad) Client

 

برای مشاهده مطالب و آموزش های مشابه اینجا کلیک کنید و یا به سایت زیر مراجعه فرمایید.

www.mikiwiki.ir

5/5 - (9 امتیاز)

دیدگاهتان را بنویسید