پیکر بندی
ما قصد داریم که Security Gateway خود را به گونه ای پیکربندی کنیم که یک Firewall هم باشد. این دیواره آتش باید به هر کامپیوتر از فضای اینترنت با هر IP دلخواه اجازه ارتباط با شبکه داخلی(172.16.0.0/16) را بدهد . این کامپیوتر برای این کار دو رابط Ethernet(eth0 برای شبکه داخلی (172.16.0.0/16) و eth1 برای محیط بیرونی)دارد . باید میان این دو رابط عملکرد IP-Forwarding فعال باشد. نخست باید دیواره آتش را در این Security Gateway طوری تنظیم کنیم که Packet های AH و ESP را بپذیرد. به همین دلیل روی رابط بیرونی(همان eth1) Packet های UDP را روی پورت 500(ESP) می فرستیم.
تنظیمات FreeS/WAN در فایل /etc/ipsec.conf ثبت می شود . این تنظیمات به سه گروه تقسیم می شوند. Config setup به تنظیمات پایه ای مربوط می شود و conn%default تنظیمات مشترک برای همه ارتباط ها را در خود دارد. گروه سوم که با لغت کلیدی conn و یک نام دلخواه مشخص می شود پارامترهای ارتباطی با همان نام را در خود دارد. در این مثال ما نام این بخش را Roadwarrior گذاشته ایم که کاربرانی که از بیرون با کامپیوترهای همراه به شبکه متصل می شوند مربوط می شود.
/etc/ipsec.conf
در بخش Config setup پیش از هر چیز باید رابطی که درخواست ارتباط های IPsec روی آن می روند رامشخص کرد. برای این منظور، فرمان interfaces=%defaultroute کافی است که البته می توانید بجای %defaultroute آدرس IP مربوط به کارت را هم وارد کنید. با تنظیم کردن kilpsdebug و plutodebug روی none حالت Debug را غیر فعال می کنیم . Plutoload و plutostart را روی %search تنظیم می کنیم تا ارتباط ها پس از درخواست از سمت مقابل ، ایجاد شوند.
دربخشی conn %defqult فرمان keyingtries = 0 به Gateway می گوید که در صورت تغییر کلیدهای رمز تا پیدایش آنها صبر کند. برای انتخاب این روش تعیین اعتبار فرمان authby = rsasig باعث می شود تا هر دو طرف گفتگو حتما میان خود گواهینامه مبادله کنند: leftrsasigkey = %cert rightsasigkey = %
cert
برای left هم دوباره %defaultroute را اعلام می کنیم که به عنوان left subnet شبکه داخلی(172.16.0.0/16) به کار می رود. کمی بعد این بخش رابا leftid کامل می کنیم که گواهینامه ما را برای Gateway مشخص می کند. در بخش conn Roadwarrior هم با فرمان right = %any به همه کسانی که بتوانند گواهینامه ارائه کننداجازه دسترسی می دهیم. حالت ارتباط را هم با type = tunnel مشخص می کنیم که در آن تبادل کلیدها از طریق IKE(key exchang = ike) با Perfect Forwarding Secrecy (pfc = yes) انجام می گیرد. Auto = add هم به Free S/WAN می گوید که ارتباط در پی در خواست از سوی کاربران بیرون از شبکه برقرار شود.