در این مقاله با نحوه آموزش نصب و کانفیگ Cisco AnyConnect در لینوکس آشنا میشویم,توجه داشته باشید که:
این آموزش صرفا جهت بالابردن امنیت شخصی در فضای سایبری میباشد و هرگونه سئو استفاده از آن برعهده شخص میباشد و طنین سرور هیچگونه مسئولیتی ندارد.
همچنین توجه داشته باشید که در این آموزش جدیدترین ورژن یعنی ۰٫۸٫۹ آموزش میشود ممکن است بعضی از قسمت های آموزش با ورژن های قبل کار نکند همچنین سایر پکیج ها نیز جدیدترین ورژن آموزش داده میشود.درصورتی نیز شما هم اکنون در سرور خود ورژن قبل تر از ۰٫۸٫۹ دارید کافی است آموزش را از اول انجام دهید و نیازی به پاک کردن ورژن قبل و… نیست.
خب مواد مورد نیاز:
۱) یک سرور لینوکس سنت او اس ۶۴بیت(در این آموزش از Centos 6.6 X64 استفاده میشود.)
۲) یک فنجام قهوه و صبر و حوصله!
خب اول پیش نیازهای oscerv رو نصب میکنیم, به ترتیب دستورات زیر را وارد ssh سرورتون بکنید:
۱ | yum install autoconf automake gcc libtasn1–devel zlib zlib–devel trousers trousers–devel gmp–devel gmp xz texinfo libnl–devel libnl tcp_wrappers–libs tcp_wrappers–devel tcp_wrappers dbus dbus–devel ncurses–devel pam–devel readline–devel bison bison–devel flex gcc automake autoconf wget |
آموزش نصب و کانفیگ Cisco AnyConnect
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ | cd wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.12.tar.xz unxz gnutls–3.2.12.tar.xz tar xvf gnutls–3.2.12.tar cd gnutls–3.2.12 export LD_LIBRARY_PATH=/opt/lib/:/opt/lib64/ NETTLE_CFLAGS=“-I/opt/include/” NETTLE_LIBS=“-L/opt/lib64/ -lnettle” HOGWEED_CFLAGS=“-I/opt/include” HOGWEED_LIBS=“-L/opt/lib64/ -lhogweed” ./configure —prefix=/opt/ make make install |
۱ ۲ ۳ ۴ ۵ ۶ ۷ | cd wget http://www.carisma.slowglass.com/~tgr/libnl/files/libnl-3.2.24.tar.gz tar xvf libnl–3.2.24.tar.gz cd libnl–3.2.24 ./configure —prefix=/opt/ make make install |
خب اکنون نوبت به نصب خود ocserv یا همون cisco anyconnect میرسه:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ | cd wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.8.9.tar.xz unxz ocserv–0.8.9.tar.xz tar xvf ocserv–0.8.9.tar cd ocserv–0.8.9 export LD_LIBRARY_PATH=/opt/lib/:/opt/lib64/ LIBGNUTLS_CFLAGS=“-I/opt/include/” LIBGNUTLS_LIBS=“-L/opt/lib/ -lgnutls” LIBNL3_CFLAGS=“-I/opt/include” LIBNL3_LIBS=“-L/opt/lib/ -lnl-3 -lnl-route-3” ./configure —prefix=/opt/ make make install |
خب اکنون نوبت به ساخت سرتیفیکت هاست و انجام تنظیمات ocserv هست اما بنده جهت راحتی شما(وخودم!) این دستورات رو بیان نمیکنم و تنظیمات خودم رو براتون قرار میدم که دستورات کمتری رو وارد کرده باشید بنابراین دستورات زیر را وارد کنید:
۱ ۲ ۳ ۴ | cd /etc yum install unzip zip –y wget http://dl.cloudha.ir/pub/ocserv/ocserv.zip unzip ocserv.zip |
خب با دستور بالا تنظیمات ocserv رو دریافت و مکان خودش قرار میدید.
اکنون دستور زیر را وارد کنید:
۱ | nano /etc/ocserv/profile.xml |
در اواخر این فایل دستورات زیر رو مشاهده میکنید:
۱ ۲ | <HostName>LearnSpot</HostName> <HostAddress>Server_IP</HostAddress> |
بجای عبارت LearnSpot هرچیز دلخواه میتونید بنویسید مثلا اسم سایتتون,یا هر چیز دیگر اما بجای کلمه Server_IP ای پی سرورخودتون رو قرار بدید.
اکنون port forwarding رو فعال میکنیم:
پس دستور زیر را وارد کنید:
۱ | nano /etc/sysctl.conf |
سپس عبارت:
۱ | net.ipv4.ip_forward = 0 |
رو به
۱ | net.ipv4.ip_forward = 1 |
تغییر دهید و سیو کنید و خارج بشید.(با استفاده از ctrl + x و y) و سپس:
۱ | sysctl –p |
اکنون Selinux رو غیرفعال میکنیم:
۱ | nano /etc/sysconfig/selinux |
عبارت:
۱ | SELINUX=enforcing |
به عبارت زیر تغییر دهید و سیو کنید خارج بشید:
۱ | SELINUX=disabled |
سپس دستورات زیر را به ترتیب وارد کنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ | cd wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz tar zxf apps–sys–utils–start–stop–daemon–IR1_9_18–2.tar.gz mv apps/sys–utils/start–stop–daemon–IR1_9_18–2/ ./ rm –rf apps cd start–stop–daemon–IR1_9_18–2/ cc start–stop–daemon.c –o start–stop–daemon cp start–stop–daemon /usr/local/bin/start–stop–daemon |
و سپس:
۱ | nano /etc/init.d/ocserv |
و عینا موارد زیر را در ان قرار دهید و سیو کنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ ۶۸ ۶۹ ۷۰ ۷۱ ۷۲ | #!/bin/sh ### BEGIN INIT INFO # Provides: ocserv # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: ۲ ۳ ۴ ۵ # Default-Stop: ۰ ۱ ۶ ### END INIT INFO # Copyright Rene Mayrhofer, Gibraltar, 1999 # This script is distibuted under the GPL cloudha PATH=/bin:/opt/bin:/sbin:/opt/sbin DAEMON=/opt/sbin/ocserv PIDFILE=/var/run/ocserv.pid DAEMON_ARGS=“-c /etc/ocserv/ocserv.conf” case “$1” in start) if [ ! –r $PIDFILE ]; then echo –n “Starting OpenConnect VPN Server” export LD_LIBRARY_PATH=/opt/lib/:/opt/lib64/ /usr/local/bin/start–stop–daemon —start —quiet —pidfile $PIDFILE —exec $DAEMON — \ $DAEMON_ARGS > /dev/null echo else echo –n “OpenConnect VPN Server is already running” echo exit 0 fi ;; stop) echo –n “Stopping OpenConnect VPN Server” /usr/local/bin/start–stop–daemon —stop —quiet —pidfile $PIDFILE —exec $DAEMON echo rm –f $PIDFILE ;; force–reload|restart) echo “Restarting OpenConnect VPN Server” $۰ stop sleep 1 $۰ start ;; status) if [ ! –r $PIDFILE ]; then echo –n “OpenConnect VPN Server Stoped” echo exit 3 fi PID=`cat $PIDFILE | sed ‘s/ //g’` EXE=/proc/$PID/exe if [ –x “$EXE” ] && [ “`ls -l \”$EXE\” | cut -d’>’ -f2,2 | cut -d’ ‘ -f2,2`” = \ “$DAEMON” ]; then echo –n “OpenConnect VPN Server run correctly” echo exit 0 elif [ –r $PIDFILE ]; then echo –n “OpenConnect VPN Server stoped but pid file exist” echo exit 1 else # no lock file to check for, so simply return the stopped status exit 3 fi ;; *) echo “Usage: /etc/init.d/ocserv {start|stop|restart|force-reload|status}” exit 1 ;; esac exit 0 |
سپس دو دستور زیر را وارد کنید:
۱ ۲ | chmod 755 /etc/init.d/ocserv chkconfig ocserv on |
خب تنظیمات ocserv تمام شد و اکنون میریم سراغ اتصال اون به ibsng!درصورتی که با نحوه نصب ibsng اشنا نیسیتید میتوانیداز این آموزش استفاده کنید.
خب ,پس از نصب ibsng و تنظمیات اون دستورات زیر را وارد کنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ | cd wget http://pkgs.fedoraproject.org/repo/pkgs/pam_radius/pam_radius-1.3.17.tar.gz/a5d27ccbaaad9d9fb254b01a3c12bd06/pam_radius-1.3.17.tar.gz tar –xvf pam_radius–1.3.17.tar.gz cd pam_radius–1.3.17 make cp pam_radius_auth.so /lib/security/ mkdir /etc/raddb/ cp pam_radius_auth.conf /etc/raddb/server nano /etc/raddb/server |
اکنون دنبال دو عبارت زیر بگردید:
۱ ۲ | ۱۲۷٫۰٫۰٫۱ secret ۱ other–server other–secret ۳ |
خط دوم را به صورت کامنت در بیارید(کاراکتر# رو اولش قرار دهید) سپس بجای ۱۲۷٫۰٫۰٫۱ ای پی سرورتون رو قرار دهید و بجای secret نیز secret که در ibsng اضافه کردید رو قرار دهید(درصورتی که با اینکار اشنا نیستید به انتهای آموزش مراجعه کنید.)
سپس تنظیمات رو ذخیره و خارج شوید.
و دستور زیر را وارد کنید:
۱ | nano /etc/pam.d/ocserv |
و ۳ خط زیر را در ان قرار دهید و سیو کنید و خارج شوید:
۱ ۲ ۳ | auth required /lib/security/pam_radius_auth.so account required /lib/security/pam_radius_auth.so session required /lib/security/pam_radius_auth.so |
خب تنظمیات به پایان رسید اکنون اگر تست کنید به سرور متصل میشوید اما صفحه ای باز نمیشه و مشکل نیز مربوط به فایروال iptables میباشد بنابراین دستورات زیر وارد کنید:
۱ ۲ ۳ ۴ | cd /etc/sysconfig rm –f iptables wget http://dl.cloudha.ir/pub/ocserv/iptables service iptables restart |
تنظیمات به پایان رسید و با دستور زیر میتوانید ocserv را استارت / استاپ / و یا ری استارت کنید:(دستور دوم را واردکنید.)
۱ ۲ ۳ | service ocserv start service ocserv restart service ocserv stop |
اکنون در ibsng یوزر بسازید و تست کنید وضعیت رو!اکنون ۲ عیبیابی میکنیم (که بنده بارها با ان مواجهه شده ام و درنهایت آموزش تنظیم ibsng و secret رو میدیم)
عیب یابی ۱) به سرور متصل میشود اما دیتا ندارد(پیج باز نمیشود) درصورتی که تنظیمات iptables رو که در چند خط بالا گفتم از صحت ان مطمئن هستید احتمال زیاد مشکل مربوط به dns میباشد جهت تنظیم dns دستور زیر وارد کنید:
۱ | nano /etc/resolv.conf |
در اینجا درصورتی که فایل خالی است(اگر پر است پاک کنید)و خط های زیر را جایگزین نمایید:
۱ ۲ | nameserver 8.8.8.8 nameserver 8.8.4.4 |
خب dns های بالا مربوط به dns های گوگل میباشد؛همچنین جهت کیفیت بالاتر سرویس میتوانید از dns های دیتاسنتری که از ان سرور تهیه کرده اید استفاده کنید(درصورتی که مقدار ان را نمیدانید میتوانید از کسی که سرور تهیه کردید سوال کنید ۰ هرچند در بعضی موارد انها نیز اطلاع ندارند!)به طور مثال dns های دیتاسنتر هتزنر المان به صورت زیر میباشد:
۱ ۲ | nameserver 213.133.98.98 nameserver 213.133.99.99 |
همچنین میتوانید از dns های پابلیک opendns نیز استفاده کنید:
۱ ۲ | nameserver 208.67.222.222 nameserver 208.67.220.220 |
سپس سرور را با دستور reboot ریبوت دهید و وضعیت را دوباره بررسی کنید.(این مشکل تنها برای cisco نیست و درصورتی که سایر سرویسهایتان نیز چنین مشکلی دارند میتوانید از همین راهکار استفاده کنید.)
عیبیابی ۲) اصلا به سرور متصل نمیشود!: وضعیت cisco را با دستور service ocserv status بررسی کنید و درصورتی که درحال اجراست ممکن است مشکل از کلاینت شما باشد.
اکنون برای دوستانی که آموزش رادیوس ibsng اطلاعی ندارند:
پس از تنظیم رادیوس secret در فایل etc/raddb/serv که در آموزش بالا گفته شد (برفرض مقدار secret عبارت learnspot باشد.) وارد ibsng شده و setting در قسمت ras یک ras جدید بسازید و ras ip را ای پی سرور(ای پی که در تنظیمات وارد کرده اید) وارد کنید؛type را از نوع pppd و secret را نیز ان کلمه ای که در تنظیمات بالا قرار داده اید بگزارید(مثال: learnspot) سپس سیو کنید.
آموزش نصب و کانفیگ Cisco AnyConnect
این بود آموزش امروز درصورتی که در بخش با مشکل مواجهه شدید و یا میدوانید قسمتی از آموزش اشتباه است حتما به ما اطلاع دهید!
موفق باشید.