اتصال به چندین منطقه Vultr با N2N

N2N یک لایه منبع باز 2/3 VPN است. برخلاف بسیاری از برنامه های VPN دیگر ، N2N می تواند رایانه هایی را که در پشت یک روتر NAT قرار دارند متصل کند. این یک مزیت بزرگ برای اتصال به محیط ابری بدون نیاز به اتکا به پروتکل های خاص مانند پروتکل ESP (استفاده شده توسط ipsec) ایجاد می کند. برای دستیابی به این ارتباط ، N2N از یک ابرنواختر استفاده می کند که می تواند اطلاعات بین گره های NAT'ed را مسیریابی کند. این اتصال VPN می تواند برای اتصال چندین نمونه Vultr در مناطق با هم استفاده شود.

پیش نیازها

در این مثال ما از سه گره در مناطق مختلف استفاده خواهیم کرد:

  • پاریس
  • میامی
  • سیدنی

نصب نرم افزار

دستورات زیر در هر مورد اجرا می شود.

با نصب build-essentialrepo و همچنین libssl-dev، از آنجا که از جدیدترین منبع منبع استفاده خواهیم کرد ، شروع کنید.

apt-get install -y build-essential libssl-dev

در مرحله بعد ، کد منبع را از github بارگیری کنید.

cd /tmp
git clone https://github.com/ntop/n2n.git

همه باینری ها را کامپایل کنید.

cd n2n 
make
make install

این make installدستور باعث ایجاد supernodeو edgebinaries در /usr/sbinدایرکتوری می شود. با تمیز کردن پرونده ها به پایان رسید.

rm -rf /tmp/n2n

نصب - گره پاریس

گره اول به اصطلاح ما ابرنواختر خواهد بود. این ابرنواخت سرویس ابرنواختی را که در درگاه UDP گوش می دهد را شروع می کند 1200. به طور پیش فرض ، برنامه N2N یک فایل سرویس ایجاد نمی کند. بنابراین ما باید خودمان را تأمین کنیم.

پرونده خدمات 'n2n_supernode' ایجاد کنید:

nano /etc/systemd/system/n2n_supernode.service

محتوای زیر را اضافه کنید:

[Unit]
Description=n2n supernode
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/supernode -l 1200

[Install]
WantedBy=multi-user.target

بخشنامه '-l' پورت UDP را تعریف می کند 1200. این درگاهی است که ابرنواختر به آن گوش خواهد داد. برای اطمینان از اینکه همه چیز در حال کار است ، سرویس Supernode را شروع کنید:

systemctl start n2n_supernode

وضعیت Supernode را بررسی کنید.

systemctl status n2n_supernode

این وضعیت مشابه حالت زیر را نشان می دهد.

● n2n_supernode.service - n2n supernode
   Loaded: loaded (/etc/systemd/system/n2n_supernode.service; disabled; vendor prese
   Active: active (running) since Wed 2018-08-15 17:07:46 UTC; 5s ago
 Main PID: 4711 (supernode)
    Tasks: 1
   Memory: 80.0K
      CPU: 1ms
   CGroup: /system.slice/n2n_supernode.service
           └─4711 /usr/sbin/supernode -l 1200

بعد سرویس لبه را ایجاد خواهیم کرد. این سرویس لبه یک IP خصوصی برای برقراری ارتباط بین لبه های دیگر مناطق Vultr ادعا می کند.

مانند سرویس Supernode ، این پرونده به سرویس سرویس خاص خود نیز نیاز دارد.

nano /etc/systemd/system/n2n_edge.service

محتوای زیر را اضافه کنید:

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target n2n_supernode.service

[Service]
ExecStart=/usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypassword -f

[Install]
WantedBy=multi-user.target

در این فایل سرویس گزینه های خط فرمان زیر را تعریف کردیم:

  • -l localhost:1200: این کار به درگاه UDP به localhost متصل می شود 1200.
  • -c Vultr: این جامعه ای است که لبه به آن ملحق می شود. تمام لبه ها در همان جامعه در همان LAN (بخش شبکه لایه 2) ظاهر می شوند. لبه هایی که در یک جامعه مشترک نیستند با یکدیگر ارتباط برقرار نمی کنند.
  • -a 192.168.1.1: IP اختصاص داده شده به این رابط. این آدرس IP مجازی LAN N2N است که ادعا می شود.
  • -k mypassword: کلمه عبور استفاده شده برای هر لبه. تمام لبه های برقراری ارتباط باید از همان کلید و نام انجمن استفاده کنند.
  • -f: حالت Daemon را غیرفعال می کند و باعث می شود که لبه در پیش زمینه اجرا شود. این مورد برای پرونده سرویس مورد نیاز است ، در غیر این صورت systemctlسرویس شروع نمی شود.

برای اطمینان از کار همه چیز ، خدمات را شروع کنید.

systemctl start n2n_edge

سپس وضعیت سرویس را پرس و جو کنید.

systemctl status n2n_edge   

خروجی مشابه موارد زیر خواهد بود.

● n2n_edge.service - n2n edge
   Loaded: loaded (/etc/systemd/system/n2n_edge.service; disabled; vendor preset: en
   Active: active (running) since Wed 2018-08-15 17:10:46 UTC; 3s ago
 Main PID: 4776 (edge)
    Tasks: 1
   Memory: 396.0K
      CPU: 8ms
   CGroup: /system.slice/n2n_edge.service
           └─4776 /usr/sbin/edge -l localhost:1200 -c Vultr -a 192.168.1.1 -k mypass

اگر "ifconfig" را بررسی کنیم ، خواهید دید که IP مجازی N2N توسط این edge0رابط ادعا شده است.

ifconfig

خروجی مشابه موارد زیر خواهد بود.

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

پس از اتمام این کار ، قوانین فایروال را فعال و ایجاد کنید. حتماً متن IP را با نمونه عمومی سیدنی و میامی جایگزین node_miami_ipو node_sydney_ipمتن کنید. (بعداً از اینها استفاده خواهیم کرد)

ufw allow 22/tcp
ufw allow from node_miami_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200
ufw enable

آخرین کاری که با این گره انجام می شود ، فعال کردن هر دو سرویس در بوت است.

systemctl enable n2n_supernode.service
systemctl enable n2n_edge.service

نصب - گره میامی

گره میامی به سوپر گره ای که هم اکنون در منطقه پاریس در حال اجرا است متصل می شود. برای دستیابی به این هدف ، فقط باید یک فایل سرویس برای edgeبرنامه ایجاد کنیم.

با ایجاد یک فایل سرویس edge شروع کنید.

nano /etc/systemd/system/n2n_edge.service

محتوای زیر را اضافه کنید.

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.2 -k mypassword -f

[Install]
WantedBy=multi-user.target

توجه : IP را با نمونه عمومی IP که در پاریس کار می کند ، جایگزین کنیدnode_paris_ip

با اتصال به گره در پاریس در درگاه UDP 1200، پیوستن به انجمن " Vultr" ، ادعای IP 192.168.1.2و تأیید اعتبار " mypassword".

بعد ، خدمات را شروع کنید.

systemctl start n2n_edge

وضعیت را برای علامت این که سرویس بدرستی شروع شده و در حال اجراست ، بررسی کنید.

systemctl status n2n_edge   

بعد ، اطمینان حاصل کنید که edge0IP ادعا می شود.

ifconfig

192.168.1.2آدرس IP را نشان می دهد .

edge0     Link encap:Ethernet  HWaddr 42:14:55:64:7d:21
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4014:55ff:fe64:7d21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

نکته بعدی برای فعال کردن سرویس در بوت شدن.

systemctl enable n2n_edge.service

به صورت اختیاری ، فایروال را فعال کرده و قوانین SSH را اضافه کنید.

ufw allow 22/tcp
ufw enable

اکنون می توانیم هر دو لبه را در موارد خود اجرا کنیم.

در پاریس ، نمونه Vultr را در میامی پینگ کنید

ping 192.168.1.2

در میامی ، لبه پاریس را لبه دار کنید

ping 192.168.1.1

نصب - گره سیدنی

سرانجام ، آخرین قاره خود را به ترکیب اضافه خواهیم کرد: استرالیا. دوباره با ایجاد یک سرویس edge شروع کنید ، این سرویس edge نیز به ابرنواحی پیکربندی شده قبلی در پاریس متصل خواهد شد.

nano /etc/systemd/system/n2n_edge.service

محتوای زیر را اضافه کنید.

[Unit]
Description=n2n edge
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/sbin/edge -l node_paris_ip:1200 -c Vultr -a 192.168.1.3 -k mypassword -f

[Install]
WantedBy=multi-user.target

توجه : IP را با نمونه عمومی IP که در پاریس کار می کند ، جایگزین کنید node_paris_ip.

با اتصال به گره در پاریس در درگاه UDP 1200، پیوستن به انجمن " Vultr" ، ادعای IP 192.168.1.3و تأیید اعتبار " mypassword".

systemctl start n2n_edge

برای اطمینان از شروع خدمات ، وضعیت را بررسی کنید.

systemctl status n2n_edge   

مطمئن شوید که edge0IP ادعا می شود.

edge0     Link encap:Ethernet  HWaddr 46:56:b0:e9:8f:8a
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
        inet6 addr: fe80::4456:b0ff:fee9:8f8a/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

مجدداً این سرویس را در حالت بوت فعال کنید.

systemctl enable n2n_edge.service

به صورت اختیاری ، فایروال را فعال کرده و قوانین SSH را اضافه کنید.

ufw allow 22/tcp
ufw enable

اکنون می توانیم از هر گره نمونه های Vultr را پینگ کنیم.

ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

اگر می خواهید ارتباط بین هر لبه گره را آزمایش کنید ، قوانین فایروال را در نمونه های میامی و پاریس فعال کنید. این امکان ارتباط بین لبه ها را فراهم می کند.

در میامی قوانین زیر را اضافه کنید. (حتما متن IP را با نمونه های عمومی سیدنی و پاریس جایگزین کنید node_paris_ipو node_sydney_ipمتن را جایگزین کنید .)

ufw allow from node_paris_ip to any port 1200
ufw allow from node_sydney_ip to any port 1200

در سیدنی قوانین زیر را اضافه کنید.

ufw allow from node_paris_ip to any port 1200
ufw allow from node_miami_ip to any port 1200

اکنون می توانید Supernode را خاموش یا راه اندازی مجدد کنید. اتصالات شبکه همچنان ادامه خواهد یافت. فقط لبه های جدید هنگام اتصال سرویس ابرنواختر ، مشکلات اتصال را متحمل می شوند.

نتیجه

ما با موفقیت پیوند VPN را بین مناطق مختلف پیکربندی کرده ایم. این باید امکانات جدید زیادی را برای سناریوهای در دسترس بالا به محیط تازه تنظیم شده ما ارائه دهد.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

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

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد