VPNC(8) System Administration Utilities VPNC(8)

vpnc - کلاینت برای Cisco VPN3000 Concentrator، IOS و PIX

vpnc [--version] [--print-config] [--help] [--long-help] [گزینه‌ها] [پرونده‌های پیکربندی]

این صفحه راهنما دستورات vpnc و vpnc-disconnect را به طور خلاصه شرح می‌دهد.

دستور vpnc یک کلاینت VPN برای متمرکزکننده Cisco 3000 VPN است که اتصالی شبیه به IPSec به عنوان یک دستگاه شبکه تونل‌زنی برای سیستم محلی ایجاد می‌کند. این برنامه از درایور TUN/TAP در هسته لینوکس 2.4 به بالا و دستگاه tun(4) در BSD استفاده می‌کند. اتصال ایجادشده به صورت یک دستگاه شبکه تونل‌زنی به سیستم محلی ارائه می‌شود.

هشدار الزامی: پرکاربردترین پیکربندی (احراز هویت XAUTH با کلیدهای از پیش به اشتراک گذاشته‌شده و احراز هویت گذرواژه) از نظر طراحی ناامن است، هنگام استفاده از vpnc برای تبادل داده‌های حساس مانند گذرواژه‌ها به این واقعیت توجه داشته باشید!

دیمن vpnc به خودی خود هیچ مسیری را تنظیم نمی‌کند، بلکه vpnc-script را برای انجام این کار فراخوانی می‌کند. اسکریپت vpnc-script یک اعلان اتصال را نمایش می‌دهد. اگر متمرکزکننده فهرستی از شبکه‌ها را برای split-tunneling ارائه دهد، این شبکه‌ها به جدول مسیریابی اضافه می‌شوند. در غیر این صورت مسیر پیش‌فرض (default-route) برای اشاره به تونل اصلاح می‌شود. علاوه بر این، در حالت دوم یک مسیر میزبان (host route) به متمرکزکننده اضافه می‌شود. اگر میزبان کلاینت به DHCP نیاز دارد، باید دقت شود که یک مسیر میزبان دیگر به سرور DHCP در خارج از تونل اضافه گردد.

دستور vpnc-disconnect برای خاتمه دادن به اتصالی که قبلاً توسط vpnc ایجاد شده و بازیابی پیکربندی مسیریابی قبلی استفاده می‌شود.

این دیمن داده‌های پیکربندی را از مکان‌های زیر می‌خواند:

  • گزینه‌های خط فرمان
  • پرونده(های) پیکربندی مشخص‌شده در خط فرمان
  • /etc/vpnc/default.conf
  • /etc/vpnc.conf
  • درخواست از کاربر در صورت پیدا نشدن در موارد بالا

نرم‌افزار vpnc می‌تواند گزینه‌ها و پرونده‌های پیکربندی را به هر ترتیبی تجزیه کند. با این حال اولین مکانی که یک گزینه را تنظیم کند برنده است. نام پرونده‌های پیکربندی که شامل / نیستند در /etc/vpnc/<filename> و /etc/vpnc/<filename>.conf جستجو خواهند شد. در غیر این صورت <filename> و <filename>.conf استفاده خواهند شد. اگر هیچ پرونده پیکربندی در خط فرمان مشخص نشده باشد، هر دو پرونده /etc/vpnc/default.conf و /etc/vpnc.conf بارگذاری خواهند شد.

علاوه بر این، اگر پرونده پیکربندی "-" در خط فرمان مشخص شود، vpnc پیکربندی را از ورودی استاندارد (stdin) می‌خواند. پیکربندی تجزیه شده و هنگامی که stdin بسته شود یا نویسه ویژه CEOT (کلیدهای CTRL-D) خوانده شود، اتصال برقرار می‌شود.

گزینه‌های برنامه را می‌توان به عنوان آرگومان ارائه داد (اما نه همه آن‌ها را به دلایل امنیتی) یا در یک پرونده پیکربندی ذخیره کرد.

نشانی IP یا نام دروازه (gateway) پروتکل IPSec شما

متغیر پیکربندی: IPSec gateway <ip/hostname>

نام گروه شما

متغیر پیکربندی: IPSec ID <ASCII string>

گذرواژه گروه شما (متن آشکار)

متغیر پیکربندی: IPSec secret <ASCII string>

(گزینه فقط در پرونده پیکربندی)
گذرواژه گروه شما (مبهم‌شده)

متغیر پیکربندی: IPSec obfuscated secret <hex string>

نام کاربری شما

متغیر پیکربندی: Xauth username <ASCII string>

گذرواژه شما (متن آشکار)

متغیر پیکربندی: Xauth password <ASCII string>

(گزینه فقط در پرونده پیکربندی)
گذرواژه شما (مبهم‌شده)

متغیر پیکربندی: Xauth obfuscated password <hex string>

نام دامنه (NT-) برای احراز هویت

متغیر پیکربندی: Domain <ASCII string>

فعال کردن احراز هویت گسترده تعاملی (برای احراز هویت چالش-پاسخ)

متغیر پیکربندی: Xauth interactive

سازنده دروازه IPSec شما
پیش‌فرض: cisco

متغیر پیکربندی: Vendor <cisco/netscreen/fortigate>

روش پیمایش NAT (NAT-Traversal) جهت استفاده:
  • natt -- NAT-T همان‌طور که در RFC3947 تعریف شده است
  • none -- غیرفعال کردن استفاده از هرگونه روش NAT-T
  • force-natt -- استفاده همیشگی از بسته‌بندی NAT-T حتی بدون حضور دستگاه NAT (زمانی که سیستم‌عامل تمام ترافیک ESP را ضبط می‌کند مفید است)
  • cisco-udp -- بسته‌بندی اختصاصی UDP سیسکو، معمولاً روی درگاه 10000
نکته: بسته‌بندی cisco-tcp هنوز پشتیبانی نمی‌شود
پیش‌فرض: natt

متغیر پیکربندی: NAT Traversal Mode <natt/none/force-natt/cisco-udp>

دستور با استفاده از system() برای پیکربندی رابط، مسیریابی و غیره اجرا می‌شود. نام دستگاه، IP و غیره با استفاده از متغیرهای محیطی منتقل می‌شوند، به README مراجعه کنید. این اسکریپت بلافاصله پس از انجام ISAKMP، اما قبل از فعال شدن تونل‌زنی اجرا می‌شود. هنگام خاتمه یافتن vpnc نیز فراخوانی می‌شود
پیش‌فرض: /etc/vpnc/vpnc-script

متغیر پیکربندی: Script <command>

نام گروه IKE DH
پیش‌فرض: dh2

متغیر پیکربندی: IKE DH Group <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>

گروه Diffie-Hellman برای استفاده در PFS
پیش‌فرض: server

متغیر پیکربندی: Perfect Forward Secrecy <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>

منسوخ‌شده: لطفاً به جای آن از --enable-weak-encryption استفاده کنید.

متغیر پیکربندی: Enable Single DES

فعال کردن روش‌های رمزنگاری ضعیف (مانند DES، 3DES)

متغیر پیکربندی: Enable weak encryption

فعال کردن عدم استفاده از رمزنگاری برای ترافیک داده (کلید مبادله‌شده باید رمزنگاری شود)

متغیر پیکربندی: Enable no encryption

فعال کردن روش‌های احراز هویت ضعیف (مانند MD5)

متغیر پیکربندی: Enable weak authentication

نسخه برنامه‌ای که باید گزارش شود. نکته: رشته پیش‌فرض در زمان اجرا تولید می‌شود.
پیش‌فرض: Cisco Systems VPN Client 0.5.3:Linux

متغیر پیکربندی: Application version <ASCII string>

نام قابل مشاهده رابط TUN/TAP

متغیر پیکربندی: Interface name <ASCII string>

حالت رابط TUN/TAP:
  • tun: رابط مجازی نقطه به نقطه (پیش‌فرض)
  • tap: رابط مجازی اترنت
پیش‌فرض: tun

متغیر پیکربندی: Interface mode <tun/tap>

تنظیم MTU برای رابط TUN/TAP (پیش‌فرض 0 == تشخیص خودکار)

متغیر پیکربندی: Interface MTU <0-65535>

نمایش پیام‌های اشکال‌زدایی مشروح

  • 0: عدم چاپ اطلاعات اشکال‌زدایی.

  • 1: چاپ حداقل اطلاعات اشکال‌زدایی.

  • 2: نمایش اطلاعات ماشین وضعیت و نوع بسته/بار داده (payload).

  • 3: تخلیه همه چیز به جز داده‌های احراز هویت.
  • 99: تخلیه همه چیز شامل داده‌های احراز هویت (مانند گذرواژه‌ها).

متغیر پیکربندی: Debug <0/1/2/3/99>

عدم جدا شدن از کنسول پس از ورود

متغیر پیکربندی: No Detach

ذخیره شناسه فرآیند (PID) پس‌زمینه در <filename>
پیش‌فرض: /run/vpnc.pid

متغیر پیکربندی: Pidfile <filename>

نشانی IP محلی برای استفاده در ISAKMP / ESP / ... (مقدار 0.0.0.0 == تخصیص خودکار)
پیش‌فرض: 0.0.0.0

متغیر پیکربندی: Local Addr <ip/hostname>

شماره درگاه محلی ISAKMP برای استفاده (0 == استفاده از درگاه تصادفی)
پیش‌فرض: 500

متغیر پیکربندی: Local Port <0-65535>

شماره درگاه محلی UDP برای استفاده (0 == استفاده از درگاه تصادفی). این گزینه تنها در صورتی مرتبط است که پیمایش NAT از نوع cisco-udp استفاده شود. این درگاه _محلی_ است، درگاه دوردست UDP به طور خودکار کشف می‌شود. این درگاه به ویژه درگاه cisco-tcp نیست.
پیش‌فرض: 10000

متغیر پیکربندی: Cisco UDP Encapsulation Port <0-65535>

ارسال بسته DPD پس از عدم دریافت هرگونه داده برای مدت <idle> ثانیه. از 0 برای غیرفعال کردن کامل DPD (هر دو طرف) استفاده کنید.
پیش‌فرض: 600

متغیر پیکربندی: DPD idle timeout (our side) <0,10-86400>

چیزی نپرس، در صورت نبود گزینه‌ها خارج شو

متغیر پیکربندی: Noninteractive

حالت احراز هویت:
  • psk: کلید از پیش به اشتراک گذاشته‌شده (پیش‌فرض)
  • cert: گواهی سرور + کلاینت (هنوز پیاده‌سازی نشده است)
  • hybrid: گواهی سرور + xauth (اگر با پشتیبانی openssl ساخته شده باشد)
پیش‌فرض: psk

متغیر پیکربندی: IKE Authmode <psk/cert/hybrid>

نام پرونده و مسیر به پرونده CA-PEM

متغیر پیکربندی: CA-File <filename>

مسیر دایرکتوری معتمد CA
پیش‌فرض: /etc/ssl/certs

متغیر پیکربندی: CA-Dir <directory>

شبکه مقصد با نشانه‌گذاری دهدهی نقطه‌دار یا نمادگذاری CIDR
پیش‌فرض: 0.0.0.0/0.0.0.0

متغیر پیکربندی: IPSEC target network <target network/netmask>

--password-helper <executable>
مسیر برنامه گذرواژه یا نام برنامه کمکی

متغیر پیکربندی: Password helper <executable>

--print-config

چاپ پیکربندی شما؛ خروجی می‌تواند به عنوان vpnc.conf استفاده شود

/etc/vpnc.conf /etc/vpnc/default.conf

پرونده پیکربندی پیش‌فرض. می‌توانید همان دستورالعمل‌های پیکربندی را همانند گزینه‌های خط فرمان مشخص کنید و علاوه بر این IPSec secret و Xauth password که هر دو گذرواژه متن آشکار ارائه می‌دهند. گذرواژه‌های درهم‌ریخته از پروفایل‌های پیکربندی سیسکو را می‌توان با IPSec obfuscated secret و Xauth obfuscated password استفاده کرد.

برای جزئیات بیشتر به مثال‌ها مراجعه کنید.

/etc/vpnc/*.conf

برنامه vpnc پرونده‌های پیکربندی موجود در این دایرکتوری را زمانی که نام پرونده پیکربندی (با یا بدون .conf) در خط فرمان مشخص شده باشد می‌خواند.

این یک نمونه vpnc.conf با کلیدهای از پیش به اشتراک گذاشته‌شده است:

IPSec gateway vpn.example.com

IPSec ID ExampleVpnPSK

IKE Authmode psk

IPSec secret PskS3cret!

Xauth username user@example.com

Xauth password USecr3t

و نمونه‌ای دیگر با احراز هویت ترکیبی (hybrid) (نیازمند آن است که vpnc با پشتیبانی openssl ساخته شده باشد):

IPSec gateway vpn.example.com

IPSec ID ExampleVpnHybrid

IKE Authmode hybrid

CA-Dir /etc/vpnc

or

CA-File /etc/vpnc/vpn-example-com.pem

IPSec secret HybS3cret?

Xauth username user@example.com

Xauth password 123456

خطوط با یک کلیدواژه شروع می‌شوند (بدون فاصله پیشرو!). مقادیر دقیقاً با یک فاصله بعد از کلیدواژه‌ها شروع می‌شوند و تا انتهای خط ادامه می‌یابند. این به شما امکان می‌دهد هر نوع نویسه غیرمعمول (به جز CR، LF و NUL) را در رشته‌های خود قرار دهید، اما به این معنی است که نمی‌توانید پس از یک رشته کامنت اضافه کنید، یا قبل از آن‌ها فاصله بگذارید.

در صورتی که گزینه CA-Dir استفاده شود، گواهی شما باید نامی مانند 722d15bd.X داشته باشد، که در آن X یک عدد تعیین‌شده به صورت دستی است تا اطمینان حاصل شود که پرونده‌هایی با هش‌های متداخل دارای نام‌های متفاوتی هستند. این عدد را می‌توان از خود پرونده گواهی به دست آورد:

openssl x509 -subject_hash -noout -in /etc/vpnc/vpn-example-com.pem

همچنین گزینه --print-config را برای تولید یک پرونده پیکربندی و پرونده نمونه در دایرکتوری مستندات بسته که در آن استفاده پیشرفته‌تر نشان داده شده است، ببینید.

ویژگی‌های پیشرفته مانند تنظیم دستی چندین مسیر مقصد و غیرفعال کردن بازنویسی /etc/resolv.conf در README بسته vpnc مستند شده است.

این صفحه راهنما توسط Eduard Bloch <blade(at)debian.org> و Christian Lackas <delta(at)lackas.net>، بر اساس README مربوط به vpnc نوشته Maurice Massar <vpnc(at)unix-ag.uni-kl.de> نوشته شده است. مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو، نسخه 2 یا هر نسخه بالاتر منتشر شده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود.

در سیستم‌های دبیان، متن کامل مجوز عمومی همگانی گنو را می‌توان در /usr/share/common-licenses/GPL یافت.

pcf2vpnc(1), cisco-decrypt(1), ip(8), ifconfig(8), route(1), http://www.unix-ag.uni-kl.de/~massar/vpnc

March 2026 vpnc version 0.5.3