راه اندازی vpn سرور در linux

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

یکی از راه حل های موجود ارتباط VPN بین دفاتر است. برای راه اندازی vpn سرور در linux ، شما می‌توانید از پروتکل های مختلف استفاه کنید، اما با توحه به این که بعضی از device ها پروتکل خاصی را support می‌کنند در مقاله راه اندازی vpn سرور در linux به نصب pptp, l2tp و openvpn خواهیم پرداخت.

راه اندازی vpn سرور در linux

نصب pptp :

ابتدا بسته‌های مورد نیاز زیر را نصب کنید.

  rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm ۱
  yum install ppp pptpd ۲

فایل etc/pptpd.conf/ را باز کنید.

در انتهای این فایل می‌توانید آدرس local و رنج آدرس کاربران را تعریف کنید

  localip 192.168.1.138 ۱
  remoteip 192.168.1.240-250 ۲

برای تغییر تنظیمات authentication و encryption می‌توانید از فایل etc/ppp/options.pptpd/ استفاده کنید. برای مثال برای فعال کردن MS-CHAPv2 – authentication و “MPPE 128-bit encryption” خطهای زیر را اضافه کنید.

require-mschap-v2 ۱
require-mppe-128 ۲

برای تعریف کاربران خود نیز از فایل etc/ppp/chap-secrets/ به فرمت زیر استفاده کنید.

vpnuser pptpd vpnpass * ۱

فیلد اول:نام کاربری

فیلد دوم: سرویس استفاده کننده از این نام کاربری

فیلد سوم: پسورد

فیلد چهارم: آدرس IP

به منظور استفاده تمامی سرویس ها (l2tp, pptp, pptpd ) از این نام کاربری و پسورد می‌توانید به جای فیلد دوم نیز از * استفاده کنید.

جهت دادن آدرس IP به صورت دستی می‌توانید آن را در فیلد آخر وارد کنید.

در صورتی که می‌خواهید کاربران VPN با شبکه داخلی سرور در ارتباط باشند گزینه proxyarp در فایل options.pptpd فعال کنید

برای فعال کردن IP forwarding نیز می‌توانید مقدار net.ipv4.ip_forward را در فایل etc/sysctl.conf/ برابر ۱ قرار دهید.

در پایان سرویس pptpd را start کنید و سرویس آن را جزو سرویس های پیش فرض خود قرار دهید.

service pptpd restart ۱
chkconfig pptpd on ۲

نصب L2TP :

ابتدا xl2tpd را بر روی سیستم خود نصب کنید.

yum install xl2tpd ۱

برای انجام تنظیمات کلی همانند تعریف کردن local ip و رنج آدرس ip برای کاربران از فایل etc/xl2tpd/xl2tpd.conf/ اسفاده کنید.

تمامی تنظیمات مربوط به تعریف داخلی و گرینه های مریوط به authentication و encryption همانند تنظیمات pptp می‌باشد.

نصب OpenVPN :

ابتدا سورس openvpn را دریافت کرده و آن را در مسیر /usr/src/ قرار دهید و سپس دستورات زیر را به ترتیب اجرا کنید.

./configure –prefix=/usr ۱
make ۲
make install ۳

سپس یک دایرکتوری ساخته و فایل های زیر را در آن کپی کنید.

mkdir /etc/openvpn ۱
cp -r easy-rsa /etc/openvpn ۲
cd /etc/openvpn/easy-rsa/2.0 ۳

در این مسیر فایل vars را مطابق با مشخصات خودتان تغییر دهید. (نمونه ای از مشخصات به شرح زیر آورده شده است).

export PKCS11_PIN=1234 ۱
export KEY_EMAIL=”support@senatelecom.ir ۲
export KEY_ORG=”SENA ۳
export KEY_CITY=”Tehran ۴
export KEY_PROVINCE=”TE ۵
export KEY_COUNTRY=”IR ۶
export KEY_SIZE=1024 ۷
export KEY_DIR=”$EASY_RSA/keys ۸
`export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA ۹
export GREP=”grep ۱۰
export OPENSSL=”openssl ۱۱
“`export EASY_RSA=”`pwd ۱۲

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

. vars ۱

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

./clean-all ۱
./build-ca ۲
./build-dh ۳
./build-key-server server ۴
./build-key client ۵

حال کار ایجاد فایل ها تمام شده است و تمامی آنها در زیر دایرکتوری keys قابل دسترس می باشند.

در مسیر /etc/openvpn/ فایل server.conf را ایجاد کرده و محتویات زیر را در آن ذخیره کنید.

dev tun ۱
proto udp ۲
port 1194 ۳
dh dh1024.pem ۴
key server.key  # This file should be kept secret ۵
cert server.crt ۶
ca ca.crt ۷
verb 3 ۸
persist-tun ۹
persist-key ۱۰
comp-lzo ۱۱
keepalive 10 120 ۱۲
server 10.8.0.0 255.255.255.0 ۱۳

در بخش port بایستی port مناسب برای ارتباط بین سرور و کلاینت ها را معرفی نمایید. (مقدار پیش فرض برابر ۱۱۹۴ است). در بخش server آدرس شبکه و Subnet سرور  Openvpn قرار دهید.

فایل client.conf  را نیز همانند شکل زیر ایجاد کنید.

نکته مهم : در قسمت remote آدرس IP سرور openvpn را وارد کنید و بعد از یک فاصله شماره پورتی را که ارتباط با سرور از طریق آن برقرار می شود (و در فایل server.conf تعریف شده است) را وارد نمایید.

client ۱
dev tun ۲
proto udp ۳
remote 192.168.1.230 1194 ۴
resolv-retry infinite ۵
nobind ۶
persist-key ۷
persist-tun ۸
ca ca.crt ۹
cert client.crt ۱۰
key client.key ۱۱
comp-lzo ۱۲
verb 3 ۱۳

برای راه اندازی openvpn در mode سرور بر روی سرورهای linux دستور زیر را اجرا کنید.

openvpn –config server.conf ۱

پایان

ما را در اینستاگرام دنبال کنید: @mashhadit_group

به نقل از سایت (voip-blog) – باز نشر گروه فناوری اطلاعات مشهد آی تی

ارسال پاسخ