استفاده از StrongSwan برای IPSec VPN در CentOS 7

StrongSwan یک راه حل VPN مبتنی بر IPsec منبع باز است. این پروتکل هر دو پروتکل تبادل کلیدی IKEv1 و IKEv2 در رابطه با پشته NETKEY IPsec بومی هسته لینوکس پشتیبانی می کند. در این آموزش نحوه استفاده از strongSwan برای راه اندازی سرور IPSec VPN در CentOS 7 به شما نشان داده خواهد شد.

strongSwan را نصب کنید

بسته های strongSwan در مخازن اضافی بسته های Enterprise Linux (EPEL) موجود است. ابتدا باید EPEL را فعال کنیم و سپس strongSwan را نصب کنیم.

yum install http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install strongswan openssl

تولید گواهینامه

هر دو سرویس گیرنده VPN و سرور برای شناسایی و احراز هویت خود به گواهی نیاز دارند. من دو اسکریپت پوسته برای تولید و امضای گواهینامه ها آماده کرده ام. ابتدا این دو اسکریپت را در پوشه بارگیری می کنیم /etc/strongswan/ipsec.d.

cd /etc/strongswan/ipsec.d
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/server_key.sh
chmod a+x server_key.sh
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/client_key.sh
chmod a+x client_key.sh

در این دو .shپرونده ، نام سازمان را به عنوان تنظیم کرده ام VULTR-VPS-CENTOS. اگر می خواهید آن را تغییر دهید، باز کردن .shفایل ها و جایگزین O=VULTR-VPS-CENTOSبا O=YOUR_ORGANIZATION_NAME.

در مرحله بعدی ، server_key.shبا استفاده از آدرس IP سرور خود ، کلید مجوز (CA) و گواهی سرور را تولید کنید. جایگزین SERVER_IPبا آدرس IP خود را Vultr سرور مجازی.

./server_key.sh SERVER_IP

کلید مشتری ، گواهی نامه و پرونده P12 را ایجاد کنید. در اینجا ، من گواهی و پرونده P12 را برای کاربر VPN "جان" ایجاد می کنم.

./client_key.sh john john@gmail.com

قبل از اجرای فیلمنامه "جان" و ایمیل او را با شما جایگزین کنید.

پس از ایجاد گواهینامه ها برای مشتری و سرور ، کپی کنید /etc/strongswan/ipsec.d/john.p12و /etc/strongswan/ipsec.d/cacerts/strongswanCert.pemدر رایانه محلی خود قرار دهید.

strongSwan را پیکربندی کنید

فایل پیکربندی strongSwan IPSec را باز کنید.

vi /etc/strongswan/ipsec.conf

محتوای آن را با متن زیر جایگزین کنید.

config setup
    uniqueids=never
    charondebug="cfg 2, dmn 2, ike 2, net 0"

conn %default
    left=%defaultroute
    leftsubnet=0.0.0.0/0
    leftcert=vpnHostCert.pem
    right=%any
    rightsourceip=172.16.1.100/16

conn CiscoIPSec
    keyexchange=ikev1
    fragmentation=yes
    rightauth=pubkey
    rightauth2=xauth
    leftsendcert=always
    rekey=no
    auto=add

conn XauthPsk
    keyexchange=ikev1
    leftauth=psk
    rightauth=psk
    rightauth2=xauth
    auto=add

conn IpsecIKEv2
    keyexchange=ikev2
    leftauth=pubkey
    rightauth=pubkey
    leftsendcert=always
    auto=add

conn IpsecIKEv2-EAP
    keyexchange=ikev2
    ike=aes256-sha1-modp1024!
    rekey=no
    leftauth=pubkey
    leftsendcert=always
    rightauth=eap-mschapv2
    eap_identity=%any
    auto=add

پرونده پیکربندی strongSwan را ویرایش کنید strongswan.conf.

vi /etc/strongswan/strongswan.conf

همه چیز را حذف کنید و آن را با موارد زیر جایگزین کنید.

charon {
    load_modular = yes
    duplicheck.enable = no
    compress = yes
    plugins {
            include strongswan.d/charon/*.conf
    }
    dns1 = 8.8.8.8
    dns2 = 8.8.4.4
    nbns1 = 8.8.8.8
    nbns2 = 8.8.4.4
}

include strongswan.d/*.conf

برای اضافه کردن کاربر و رمز عبور ، فایل مخفی IPsec را ویرایش کنید.

vi /etc/strongswan/ipsec.secrets

یک حساب کاربری "جان" را به آن اضافه کنید.

: RSA vpnHostKey.pem
: PSK "PSK_KEY"
john %any : EAP "John's Password"
john %any : XAUTH "John's Password"

لطفا توجه داشته باشید که هر دو طرف روده بزرگ: "، به فضای سفید نیاز دارید.

انتقال IPv4 مجاز است

ویرایش کنید /etc/sysctl.confتا در هسته لینوکس امکان حمل و نقل فراهم شود.

vi /etc/sysctl.conf

خط زیر را در پرونده اضافه کنید.

net.ipv4.ip_forward=1

پرونده را ذخیره کنید ، سپس تغییر را اعمال کنید.

sysctl -p

دیوار آتش را پیکربندی کنید

فایروال را برای VPN خود روی سرور باز کنید.

firewall-cmd --permanent --add-service="ipsec"
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

VPN را شروع کنید

systemctl start strongswan
systemctl enable strongswan

StrongSwan اکنون روی سرور شما اجرا شده است. پرونده ها strongswanCert.pemو .p12گواهینامه ها را در مشتری خود نصب کنید. اکنون می توانید به شبکه خصوصی خود بپیوندید.

یک نظر بگذارید

نحوه نصب 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

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

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

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

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

نحوه نصب 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

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

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

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

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

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

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