سرور مجازی نروژ

سرور مجازی نروژ

خرید سرور مجازی نروژ: ارائه سرور مجازی لینوکسی از کشور نروژ، مناسب برای عبور از تحریم ها، تریدر ها، دولوپرهای گوگل، سایتهای بانکی و .. با کانفیگهای متنوع.


ویژگی های سرور مجازی نروژ:


سرور های مجازی نروژ مجهز به هارد SSD هستند، که باعث افزایش کیفیت، سرعت و کارایی سرور های مجازی می شود . سرورهای مجازی نروژ دارای پلن های متنوعی هستند که شما میتوانید براساس نیاز خود آن را انتخاب کنید. سرورهای نروژ ما ایده آل برای میزبانی از سرورهای وب، پایگاه های داده و استفاده به عنوان سرور مجازی بایننس و ترید هستند که میتوانید از آن به عنوان آی پی ثابت برای بایننس و دیگر صرافی ها استفاده کنید. همه سرورها به پورت 1Gbps متصل هستند.

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

پلن های سرور مجازی نروژ

مشخصات A1 A2 A3 A4
CPU/پردازنده 1vCore 1vCore 2vCore 2vCore
RAM/حافظه 768M 1024M 2048M 4096M
HDD/هارد دیسک 20G 30G 40G 20G
نوع هارد دیسک SSD SSD SSD SSD
نوع مجازی ساز KVM KVM KVM KVM
Port/پورت 1Gbps 1Gbps 1Gbps 1Gbps
BW/ترافیک 750GB/M 1.5TB/M 2TB/M 2.5TB/M
DC/دیتاسنتر قابل سفارش از 43 کشور قابل سفارش از 43 کشور قابل سفارش از 43 کشور قابل سفارش از 43 کشور
OS/سیستم عامل Linux Linux Linux Linux
زمان تحویل 1-24 hours 1-24 hours 1-24 hours 1-24 hours
آپ تایم %99.99 %99.99 %99.99 %99.99
پشتیبانی
ماهیانه/تومان 348,000 541,140 814,320 995,280
  سفارش سفارش سفارش سفارش

پلــن مورد نظرتـــان را نیــافتید؟!

همین حالا پلن انتخابی یا کانفیگ اختصاصیتان را درخواست کنید

پشتیبانی 24/7

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

آپتایم 99.99%

سرورهای وان سرور از معتبرترین دیتاسنترهای جهان که دارای تضمین آپ تایم 99.99% میباشند، تیم وان سرور به صورت 24 ساعته در حال مانیتورینگ سرورها هستند تا در صورت وجود هرگونه اختلال و مشکل سریعا پیگیر حل مشکل باشند.

مجازی ساز KVM

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

هارد NVMe

پرسرعت ترین هارد تا لحظه حال از نوع ssd Nvme میباشد که با اختلاف زیادی از رقبای نوع دیگر هاردها انتقال دیتا دارد، انتقال دیتا با سرعت تقریبا 4GB/s تجربه کاربری بهتری را در مجازی ها به نمایش میگذارد.

سیستم عامل لینوکس

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

ارائه IPv4

هر سرور مجازی دارای یک آی پی اختصاصی از نوع IPv4 از همین کشور میباشد که تا زمان لغو سفارش در اختیار شماست.

برخی از سیستم عامل های قابل پشتیبانی

سوالات متداول

برخی از سوالاتی که ممکن است در ابتدا داشته باشید

بله؛ این سرورها کنترل پنل مدیریتی دارن که میتوانید برخی از توابع لینوکس را بدون نیاز به درخواست پشتیبانی نصب کنید.

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

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

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

به دلیل دیتاسنتری بودن سرورها امکان ارتقای بخشی منابع ممکن نیست! در صورت ارتقا میتوانید پلن سرورتون رو به پلن بالاتر ارتقا بدهید. امکان تغییر آی پی هم میسر نیست.

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

صفحه تماس بـــا مـــا

نظرات مشتریان

جزیره آموزشی

برخی از پستهای آموزشی پیشنهادی
آموزش چک کردن نسخه لینوکس

آموزش چک کردن نسخه لینوکس

آموزش چک کردن نسخه لینوکستوزیع لینوکس یک سیستم عامل است که از هسته لینوکس ، ابزارها و کتابخانه های GNU و مجموعه نرم افزار ساخته شده است. معمولاً توزیع های لینوکس شامل محیطهای دسکتاپ، سیستم مدیریت بسته و مجموعه ای از برنامه های از پیش نصب شده است.برخی از محبوب ترین توزیع های لینوکس عبارتند از دبیان ، Red Hat ، اوبونتو ، Arch Linux ، Fedora ، CentOS ، Kali Linux ، OpenSUSE ، Linux Mint و موارد دیگر.هنگامی که برای اولین بار به سیستم لینوکس وارد می شوید ، قبل از انجام هر کار ، همیشه ایده خوبی است که بررسی کنید چه نسخه ای از لینوکس روی دستگاه اجرا می شود. به عنوان مثال ، تعیین توزیع لینوکس می تواند به شما کمک کند متوجه شوید که از چه مدیر بسته برای نصب بسته های جدید باید استفاده کنید.در این آموزش ، ما به شما نشان خواهیم داد که چگونه با استفاده از خط فرمان ، توزیع و نسخه لینوکس را روی سیستم خود چک کنید.چک کردن نسخه لینوکسچندین دستور مختلف وجود دارد که به شما کمک می کند تا توزیع Linux و نسخه در حال اجرا را در سیستم پیدا کنید.با استفاده از دستورlsb_releaseابزارlsb_releaseاطلاعات LSB (Linux Standard Base) را درباره توزیع لینوکس نمایش می دهد. این دستور باید روی کلیه توزیع های لینوکس که بسته lsb-release را نصب کرده اند کار کند:lsb_release -aNo LSB modules are available.Distributor ID:DebianDescription:Debian GNU/Linux 9.5 (stretch)Release:9.5Codename:stretchتوزیع و نسخه لینوکس در خط توضیحات نشان داده شده است. همانطور که از خروجی بالا می بینید ، من Debian GNU / Linux 9.5 (کشش) را روی سیستم خود نصب کرده ام.به جای چاپ تمام اطلاعات فوق می توانید خط توضیحات را نشان دهید.lsb_release -dخروجی باید شبیه به زیر باشد:Description:Debian GNU/Linux 9.5 (stretch)اگر فرمان “command not found: lsb_release” را مشاهده کردید ، می توانید با استفاده از برخی از روشهای زیر ، نسخه لینوکس را شناسایی کنید.استفاده از پرونده /etc/os-releaseپرونده/etc/os-release شامل اطلاعات شناسایی سیستم عامل ، از جمله اطلاعات مربوط به توزیع است. این پرونده بخشی از بسته سیستمی است و تمام سیستمهای در حال اجرا سیستم لینوکس باید این فایل را داشته باشند.برای مشاهده محتویات فایلos-release، میتوانید از هر دو catو یا lessاستفاده کنید:cat /etc/os-releaseخروجی باید چیزی شبیه به زیر باشد:PRETTY_NAME="Debian GNU/Linux 9 (stretch)"NAME="Debian GNU/Linux"VERSION_ID="9"VERSION="9 (stretch)"ID=debianHOME_URL="https://www.debian.org/"SUPPORT_URL="https://www.debian.org/support"BUG_REPORT_URL="https://bugs.debian.org/"استفاده از پرونده/etc/issueپرونده/etc/issue حاوی یک متن شناسایی سیستم است که قبل از اعلان ورود به سیستم چاپ می شود. معمولاً این پرونده شامل اطلاعاتی درباره نسخه لینوکس است:cat /etc/issueخروجی چیزی شبیه به این خواهد بود:Debian GNU/Linux 9 \n \lبا استفاده از دستورhostnamectlhostnamectlابزار بخشی از systemd است و برای تغییر نام میزبان سیستم استفاده می شود. این دستور همچنین نسخه توزیع و کرنل لینوکس را نشان می دهد .hostnamectl Static hostname: debian9.localdomain Icon name: computer-vm Chassis: vm Machine ID: a92099e30f704d559adb18ebc12ddac4 Boot ID: 7607cbe605d44f638d6542d4c7b3878e Virtualization: qemu Operating System: Debian GNU/Linux 9 (stretch) Kernel: Linux 4.9.0-8-amd64 Architecture: x86-64استفاده از پرونده/etc/*releaseاگر هیچ یک از دستورهای فوق برای شما کار نکند ، به احتمال زیاد شما توزیع لینوکس بسیار قدیمی و منسوخ را اجرا می کنید. در این حالت ، شما می توانید یکی از دستورات زیر استفاده کنید که باید محتوای نسخه توزیع یا پرونده نسخه را چاپ کند:cat /etc/*releasecat /etc/*versionبا استفاده از دستورunameفرمانuname چندین اطلاعات سیستم از جمله معماری هسته لینوکس ، نام ، نسخه را نشان می دهد.برای اطلاع از اینکه کدام نسخه هسته لینوکس روی سیستم شما اجرا شده است ، دستور زیر را تایپ کنید:uname -srmLinux 4.9.0-8-amd64 x86_64نتیجه فوق به ما می گوید هسته هسته لینوکس 64 بیتی است و نسخه آن "4.9.0-8-amd64" است.نتیجه گیریدر این راهنما ، ما به شما نشان داده ایم كه چگونه می توانید نسخه لینوكس را كه با استفاده از خط فرمان روی سیستم شما اجرا می شود ، پیدا کنید.اگر توزیع لینوکس با محیط دسک تاپ دارید ، می توانید توزیع و نسخه آن را نیز از درون رابط گرافیکی بررسی کنید.

سه‌شنبه, 20 خرداد 1399

ادامه مطلب
آموزش نصب و پیکربندی Redmine در CentOS 8

آموزش نصب و پیکربندی Redmine در CentOS 8

آموزش نصب و پیکربندی Redmine در CentOS 8Redmine یک برنامه مدیریت پروژه منبع آزاد و رایگان و برنامه پیگری مسائل است. در این آموزش نحوه نصب و پیکربندی آخرین نسخه Redmine در CentOS 8 توضیح داده می شود. Redmine شامل پشتیبانی از پروژه های متعدد ، ویکی ها ، سیستم ردیابی مسئله ، انجمن ها ، تقویم ها ، اعلان های ایمیل و موارد دیگر می باشد. ما از MariaDB به عنوان back-end بانک اطلاعات و Passenger + Apache به عنوان سرور برنامه Ruby استفاده خواهیم کرد. پیش نیازها اطمینان حاصل کنید که پیش نیازهای زیر را رعایت کرده اید: نام دامنه که به IP عمومی سرور شما متصل است. به عنوان root یا کاربر دارای امتیازات sudo به سیستم وارد شوید. ایجاد یک پایگاه داده MySQLRedmine از MySQL / MariaDB ، Microsoft SQL Server ، SQLite 3 و PostgreSQL پشتیبانی می کند . ما از MariaDB به عنوان یک پایگاه داده بک اند استفاده خواهیم کرد. اگر MariaDB یا MySQL را روی سرور CentOS خود نصب نکردید ، می توانید با رعایت این دستورالعمل ها آن را نصب کنید. با استفاده از دستور زیر وارد شل MySQL شوید: sudo mysqlاز درون شل MySQL ، دستورات زیر را برای ایجاد یک بانک اطلاعاتی جدید ، کاربر جدید و دسترسی کاربر به پایگاه داده ، اجرا کنید : CREATE DATABASE redmine CHARACTER SET utf8;GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; اطمینان حاصل کنید که change-with-strong-password با رمز عبور قوی تغییر دهید. پس از اتمام کار ، از شل MySQL خارج شوید: EXIT;نصب Passenger ، Apache و Ruby Passenger یک سرور برنامه وب سریع و سبک برای Ruby ، ​​Node.js و Python است که می تواند با Apache و Nginx ادغام شود. ما Passenger را به عنوان ماژول Apache نصب خواهیم کرد. مخزن EPEL را فعال کنید : sudo dnf install epel-releasesudo dnf config-manager --enable epel پس از فعال کردن مخزن ، لیست بسته ها را به روز کنید و Ruby ، ​​Apache و Passenger را نصب کنید: sudo dnf install httpd mod_passenger passenger passenger-devel ruby سرویس Apache را شروع کنید و آن را فعال کنید تا از بوت شدن فعال شود: sudo systemctl enable httpd --nowایجاد کاربر جدید سیستم با استفاده از فهرست خانه /opt/redmine که نمونه Redmine را اجرا خواهد کرد ، یک کاربر و گروه جدید ایجاد کنید: sudo useradd -m -U -r -d /opt/redmine redmine کاربر apache به گروه redmine اضافه کنید و مجوزهای فهرست /opt/redmine را تغییر دهید تا Apache بتواند به آن دسترسی پیدا کند: sudo usermod -a -G redmine apachesudo chmod 750 /opt/redmineنصب Redmine در زمان نوشتن ، آخرین نسخه پایدار Redmine نسخه 4.1.0 است. قبل از ادامه مراحل بعدی ، به صفحه بارگیری Redmine مراجعه کنید شاید نسخه جدیدتری در دسترس باشد. کامپایلر GCC و کتابخانه های مورد نیاز برای ساخت Redmine را نصب کنید: sudo dnf group install "Development Tools"sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel اطمینان حاصل کنید که مراحل زیر را به عنوان کاربر redmine اجرا کنید: sudo su - redmine1. بارگیری Redmine آرشیو Redmine را با curl بارگیری کنید: curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz پس از اتمام بارگیری ، بایگانی را استخراج کنید: tar -xvf redmine.tar.gz2. پیکربندی پایگاه داده Redmine فایل پیکربندی پایگاه داده به عنوان مثال Redmine را کپی کنید: cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml پرونده را با ویرایشگر متن خود باز کنید: nano /opt/redmine/redmine-4.1.0/config/database.yml بخش production جستجو کنید و اطلاعات پایگاه داده MySQL و اطلاعات کاربری که قبلاً ایجاد کرده ایم وارد کنید: production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8mb4 پس از اتمام ، پرونده را ذخیره کرده و از ویرایشگر خارج شوید. 3. نصب وابستگی های Ruby به پوشه redmine-4.1.0 و وابستگی Ruby را نصب کنید: cd ~/redmine-4.1.0gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite --path vendor/bundle4- ایجاد کلیدها و انتقال پایگاه داده دستور زیر را برای تولید کلیدها و انتقال پایگاه داده اجرا کنید: bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate پیکربندی Apache به کاربر sudo خود برگردید و پرونده Apache vhost زیر را ایجاد کنید: exitsudo nano /etc/httpd/conf.d/example.com.conf<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /opt/redmine/redmine-4.1.0/public <Directory /opt/redmine/redmine-4.1.0/public> Options Indexes ExecCGI FollowSymLinks Require all granted AllowOverride all </Directory> ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined</VirtualHost> فراموش نکنید که shembull.com را با دامنه Redmine خود جایگزین کنید. سرویس Apache را با تایپ مجدد شروع کنید: sudo systemctl restart httpdApache را با SSL پیکربندی کنید اگر گواهی SSL قابل اعتماد برای دامنه خود ندارید ، می توانید مجوز رایگان SSL را تولید کنید . پس از تولید گواهینامه ، پیکربندی Apache را به شرح زیر ویرایش کنید: sudo nano /etc/httpd/conf.d/example.com.conf<VirtualHost *:80> ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/</VirtualHost><VirtualHost *:443> ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 <If "%{HTTP_HOST} == 'www.example.com'"> Redirect permanent / https://example.com/ </If> DocumentRoot /opt/redmine/redmine-4.1.0/public ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem <Directory /opt/redmine/redmine-4.1.0/public> Options Indexes ExecCGI FollowSymLinks Require all granted AllowOverride all </Directory></VirtualHost>فراموش نکنید که shembull.com را با دامنه Redmine جایگزین کنید و مسیر صحیح را برای پرونده های گواهی SSL تنظیم کنید. تمام درخواست های HTTP به HTTPS هدایت می شوند . دسترسی به Redmineمرورگر خود را باز کنید ، دامنه خود را تایپ کنید و با فرض اینکه نصب موفقیت آمیز باشد ، صفحه نمایش مشابه موارد زیر ظاهر می شود:اطلاعات پیش فرض ورود به سیستم برای Redmine عبارتند از: Username: adminPassword: admin هنگامی که برای اولین بار وارد سیستم می شوید ، از شما خواسته می شود که رمزعبور را تغییر دهید ، مانند تصویر زیر: پس از تغییر رمز عبور ، به صفحه حساب کاربری هدایت می شوید. اگر نمی توانید به صفحه دسترسی پیدا کنید ، احتمالاً فایروال شما پورت Apache را مسدود می کند. برای باز کردن پورت لازم از دستورات زیر استفاده کنید: sudo firewall-cmd --permanent --zone=public --add-port=443/tcpsudo firewall-cmd --permanent --zone=public --add-port=80/tcpsudo firewall-cmd --reloadنتیجه گیری شما Redmine را با موفقیت در سیستم CentOS خود نصب کردید. اکنون باید مستندات Redmine را بررسی کنید و در مورد نحوه پیکربندی و استفاده از Redmine اطلاعات بیشتری کسب کنید.

سه‌شنبه, 06 اسفند 1398

ادامه مطلب
تانل IPIP

تانل IPIP

در این محث آموزشی به نحوه ی تانلینگ از نوع IPIP میپردازیم .ایجاد تانل IPIP بین شبکه ها :زمینه نیاز به ایجاد یک تانل خصوصی بین 2 شبکه و ارسال هر IP در سرور A به سرور B از طریق این تانل جدید است.IP از طریق تونل از سرور A به سرور B هدایت می شود ، سپس از طریق B به یک رابط دیگر و سپس به سرور C هدایت می شود. در بازگشت ، بسته ها مسیرهای اصلی خود را دنبال می کنند.کاربر اتصال پورت را از سرور A بررسی می کند.netcat 122.195.129.133 2150مسیر موجود (شماره 2 در A) آن را به رابط یا interface tunnel-b هدایت می کند ، درخواست از طریق تونل به سرور B می رود.مسیر (شماره 2 در B) آن را به رابط دیگری هدایت می کند ، p1p1 ، بسته از B: p1p1 به سرور خارجی C می رود.سرور C با یک بسته پاسخ می دهد ، به رابطی که از آن دریافت کرده است ، p1p1بسته برگشتی به tunnel2 (مسیر) برمی گردد ، بسته برگشتی tunnel-a> tunnel-b می رود (از طریق Gateway مسیر شماره 1 در B)کاربر پاسخ را از طریق eth0 دریافت می کند (از طریق مسیر شماره 1 در A)تاسیس یا Setup  :در هر دو سرور ، ماژول TUN را اضافه میکنیمmodprobe tunmodprobe ip_tunnelحالت tunnel را در هر دو سرور بررسی میکنیمسرور A :root@serverA# lsmod | grep tuntunnel4 13252 1 ipipip_tunnel 25163 1 ipiptun 31665 0سرور B :[root@serverB]# modprobe tun[root@serverB]# lsmod | grep tuntun 27141 0IP Forwarding :IP Forwarding   را فعال می کنیم[root@xxx ]# sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 0سپس :vi /etc/sysctl.confaddnet.ipv4.ip_forward = 1reload sysctlsysctl -p /etc/sysctl.confاتصال پایه را آزمایش میکنیم :هر دو باید بتوانند به یکدیگر متصل شوند (برای بررسی اتصال از پایتون SimpleHTTPServer + netcat استفاده کنید)سرور Aroot@serverA# python -m SimpleHTTPServer 8555سرور B[root@serverB]# nc 172.31.23.254 8555 -vNcat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 172.31.23.254:8555.و بالعکس[root@serverB centos]# python -m SimpleHTTPServer 8556Serving HTTP on 0.0.0.0 port 8556 ...root@serverA /e/s/network-scripts# nc 172.31.23.64 8556 -vNcat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 172.31.23.64:8556.اگر آنها نتوانند متصل شوند ، تونل کار نمی کند.ایجاد تونل هاتونل موقتایجاد تونل در سرور A ، اختصاص دادن یک IP به این رابط تونل جدید ، در اینجا با استفاده از 192.168.5.1 عمومی برای A و 192.168.5.2 برای B استفاده می کنیم.root@serverA# ip tunnel add tunnel-b mode ipip remote 172.31.23.64 local 172.31.23.254root@serverA# ip link set tunnel-b uproot@serverA# ip addr add 192.168.5.1/24 dev tunnel-binterface تونل جدید را بررسی کنیدroot@serverA# ip a8: tunnel-b@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8981 qdisc noqueue state UNKNOWN group default qlen 1000 link/ipip 172.31.23.254 peer 172.31.23.64 inet 192.168.5.1/24 scope global tunnel-b valid_lft forever preferred_lft foreverهمین کار را در سرور B انجام میدهیمroot@serverB# ip tunnel add tunnel-a mode ipip remote 172.31.23.254 local 172.31.23.64root@serverB# ip link set tunnel-a uproot@serverB# ip addr add 192.168.5.2/24 dev tunnel-aIP جدید را بررسی می کنیم4: tunnel-a@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8981 qdisc noqueue state UNKNOWN link/ipip 172.31.23.64 peer 172.31.23.254 inet 192.168.5.2/24 scope global tunnel-b valid_lft forever preferred_lft foreverسعی میکنیم از A تا B پینگ را پینگ بگیریمserverA> ping 192.168.5.2باید قابلیت پینگ را داشته باشد.اتصال را مانند بخش B آزمایش کنید ، اما IP را به آدرس IP رابط تونل تغییر دهید ،تست کردت سرور A به Broot@serverA# python -c 'import BaseHTTPServer as bhs, SimpleHTTPServer as shs; bhs.HTTPServer(("192.168.5.1", 8331), shs.SimpleHTTPRequestHandler).serve_forever()'root@serverB # nc 192.168.5.1 8331 -vNcat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 192.168.5.1:8331.تست کردت سرور B به A  :root@serverB# python -c 'import BaseHTTPServer as bhs, SimpleHTTPServer as shs; bhs.HTTPServer(("192.168.5.2", 8331), shs.SimpleHTTPRequestHandler).serve_forever()'root@serverA# nc 192.168.5.1 8331 -vNcat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 192.168.5.2:8331.تانل دائمیبرای ایجاد یک تونل دائمی که از شبکه و + راه اندازی مجدد ماشین باقی  بماند ،در سرور Aroot@serverA# vim /etc/sysconfig/network-scripts/ifcfg-tunnel-aTYPE=IPIPBOOTPROTO=noneDEVICE=tunnel-bONBOOT=yesMY_INNER_IPADDR=192.168.5.1/30 // Tunnel IPMY_OUTER_IPADDR=172.31.23.254 // primary local IP addressPEER_OUTER_IPADDR=172.31.23.64 // remote peer primary IPاین تونل پس از راه اندازی مجدد ، با مدیریت مدیر شبکه ، در محل قرار می گیرد.بر روی سرور Broot@serverB# vim /etc/sysconfig/network-scripts/ifcfg-tunnel-bTYPE=IPIPBOOTPROTO=noneDEVICE=tunnel-aONBOOT=yesMY_INNER_IPADDR=192.168.5.2/30 // Tunnel IPMY_OUTER_IPADDR=172.31.23.64 // primary local IP addressPEER_OUTER_IPADDR=172.31.23.254 // remote peer primary IPابتدا این اینترفیس را در سرور B بالا بیاوریدifup tunnel-aحال بر روی سرور Aifup tunnel-bبرای ری استارت کردن سرور A:ifdown tunnel-aifup tunnel-aاز هر تانل پینگ بگیرید تا مطمئن شوید که قابل پینگ گیری هستندوضعیت تونل را بررسی کنیدip tunnel showیک مسیر اضافه کنیدمسیر Gatewayبرای برقراری ارتباط متقابل بین سرور A و سرور B ، باید یک Gateway دروازه داشته باشید ، در غیر این صورت بسته ها فقط 1 طرفه جریان می یابند (A> B)در A و B ، پس از بالا آمدن رابط یا اینترفیس شبکه تونل ، این مسیر دروازه باید در حال حاضر  بالا باشد192.168.1.0 0.0.0.0 255.255.255.252 U 0 0 0 tunnel-a (or tunnel-b)شما همچنین می توانید آن را به صورت دستی اضافه کنید ،route add -net 192.168.1.0 netmask 255.255.255.0 dev tunnel-aمسیر موقتبرای مسیر یابی IP ها از سرور A به سرور B از طریق Tunnel ، یک مسیر اضافه کنید (در سرور A)root@serverA# ip route add 122.195.129.133 dev tunnel-bاین مسیر را برسی کنیدroot@serverA# ip route get 122.195.129.133122.195.129.133 via 192.168.5.2 dev tunnel-b src 192.168.5.1Traceroute را اجرا کنید تا ببینید IP به کجا می رود ،root@serverA# traceroute 122.195.129.133traceroute to 122.195.129.133 (192.195.129.133), 30 hops max, 60 byte packets 1 * * * 2 * * *در سرور B ، برای بسته های ورودی به رابط Tunnel گوش دهید ،root@serverB# tcpdump -i tunnel-atcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on tunnel-a, link-type RAW (Raw IP), capture size 262144 bytes15:02:03.217834 IP ip-192-168-5-1.ec2.internal.56547 > 122.195.129.133.33466: UDP, length 3215:02:03.217839 IP ip-192-168-5-1.ec2.internal.56417 > 122.195.129.133.33467: UDP, length 3215:02:03.217871 IP ip-192-168-5-1.ec2.internal.42617 > 122.195.129.133.33468: UDP, length 32در سرور B ، برای هدایت از تونل به رابط p1p1 ، یک مسیر اضافه کنید ،122.195.129.133 192.168.28.17 255.255.255.255 UGH 100 0 0 p1p1مسیر دائمی :برای اینکه مسیر را دائمی نگه دارید ، پرونده مسیر را (در سرور A) اضافه کنید ، این IP شما را به تونل سرور B هدایت می کند.root@serverA# vim /etc/sysconfig/network-scripts/route-tunnel-b122.195.129.133 via 192.168.5.2 metric 50اکنون این مسیر را فعال کنید/etc/sysconfig/network-scripts/ifup-routes route-tunnel-bبررسی کنید که مسیر ( route) شما اکنون در جدول مسیریابی وجود داردroot@serverA# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 172.31.23.1 0.0.0.0 UG 0 0 0 eth0172.31.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 tunnel-b122.195.129.133 192.168.5.2 255.255.255.255 UGH 50 0 0 tunnel-bدوباره traceroute (سرور A) و tcpdump (روی سرور B) را اجرا کنید تا مطمئن شوید سرور B بسته های ورودی را دریافت می کند.پاکسازی تونل ها :با استفاده از دستور IP ، رابط تونل را غیرفعال کنیدip link set dev <tunnel name> downاینترفیس را حذف کنیدip link delete <tunnel name>عیب یابیاگر ترافیک را از سرور A به سرور B هدایت کنید ، گاهی اوقات سرور B به جای IP ، اتصال خروجی شما را به عنوان IP تونل هدایت می کند و باعث قطع شدن اتصال می شود.یعنی انجام TCP Dump روی سرور B ، اینترفیس p1p1 ،root@serverB:]# tcpdump -i p1p1 | grep 207.17.44.10223:22:16.157069 IP 192.168.2.1.52896 > 207.17.44.102.41811: Flags [S], seq 804236576, win 14400, options [mss 1440,sackOK,TS val 3076723108 ecr 0,nop,wscale 10], length 0در اینجا IP نشان داده شده IP رابط تونل است ، این درخواست کار نخواهد کرد زیرا نقطه پایانی IP تونل را تشخیص نمی دهد.در این حالت ، شما باید عنوان بسته بسته خروجی (در سرور B) را به IP خود تغییر دهید ، نه IP تانل مقصد.root@serverB> iptables -t nat -A POSTROUTING -d 207.17.44.102 -j MASQUERADEیا توسط سورس یا منبع :root@serverB> iptables -t nat -A POSTROUTING -p tcp -s 192.168.5.1 -j MASQUERADEدر این مثال ، 192.168.38.21 IP رابط p1p1 در سرور B است.اکنون اتصال کار خواهد کرد ،[23:22 root@serverB:]# tcpdump -i p1p1 | grep 207.17.44.102tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on p1p1, link-type EN10MB (Ethernet), capture size 262144 bytes23:28:10.299134 IP serverB.59888 > 207.17.44.102.41811: Flags [F.], seq 19064846, ack 4239206719, win 15, options [nop,nop,TS val 3077077251 ecr 238689707], length 0

دوشنبه, 14 مهر 1399

ادامه مطلب