
strongswan v6.1.0
strongSwan - IPsec-आधारित VPN
strongSwan कॉन्फ़िगरेशन
अवलोकन
strongSwan एक ओपनसोर्स IPsec-आधारित VPN समाधान है।
यह दस्तावेज़ strongSwan swanctl कमांड का एक संक्षिप्त परिचय मात्र है, जो आधुनिक vici वर्सेटाइल IKE कॉन्फ़िगरेशन इंटरफ़ेस का उपयोग करता है। विरासती stroke कॉन्फ़िगरेशन इंटरफ़ेस का उपयोग करने वाला अप्रचलित ipsec कमांड यहाँ वर्णित है। अधिक विस्तृत जानकारी के लिए man पेज, हमारी नई दस्तावेज़ीकरण साइट और विरासती विकी देखें।
त्वरित आरंभ
उपयोगकर्ताओं, होस्टों और गेटवे के लिए प्रमाणपत्र एक काल्पनिक strongSwan CA द्वारा जारी किए जाते हैं।
हमारे उदाहरण परिदृश्यों में, सहकर्मियों को प्रमाणित करने में सक्षम होने के लिए CA प्रमाणपत्र strongswanCert.pem
सभी VPN एंडपॉइंट्स पर मौजूद होना चाहिए। आपके विशेष VPN अनुप्रयोग के लिए आप किसी तृतीय-पक्ष CA से
प्रमाणपत्रों का उपयोग कर सकते हैं या strongSwan pki टूल के साथ आवश्यक निजी कुंजियाँ और प्रमाणपत्र
स्वयं उत्पन्न कर सकते हैं, जिसका उपयोग नीचे दिए गए अनुभागों में से एक में समझाया जाएगा।
साइट-टू-साइट परिदृश्य
इस परिदृश्य में दो सुरक्षा गेटवे moon और sun दोनों गेटवे के बीच स्थापित एक VPN सुरंग के माध्यम से दो सबनेट moon-net और sun-net को एक दूसरे से जोड़ेंगे:
10.1.0.0/16 -- | 192.168.0.1 | === | 192.168.0.2 | -- 10.2.0.0/16
moon-net moon sun sun-net
गेटवे moon पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/moonCert.pem
/etc/swanctl/private/moonKey.pem
/etc/swanctl/swanctl.conf:
connections {
net-net {
remote_addrs = 192.168.0.2
local {
auth = pubkey
certs = moonCert.pem
}
remote {
auth = pubkey
id = "C=CH, O=strongSwan, CN=sun.strongswan.org"
}
children {
net-net {
local_ts = 10.1.0.0/16
remote_ts = 10.2.0.0/16
start_action = trap
}
}
}
}
गेटवे sun पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/sunCert.pem
/etc/swanctl/private/sunKey.pem
/etc/swanctl/swanctl.conf:
connections {
net-net {
remote_addrs = 192.168.0.1
local {
auth = pubkey
certs = sunCert.pem
}
remote {
auth = pubkey
id = "C=CH, O=strongSwan, CN=moon.strongswan.org"
}
children {
net-net {
local_ts = 10.2.0.0/16
remote_ts = 10.1.0.0/16
start_action = trap
}
}
}
}
इस परिदृश्य में उपयोग की जाने वाली स्थानीय और दूरस्थ पहचान, अंतिम इकाई प्रमाणपत्रों में निहित subjectDistinguishedNames हैं। प्रमाणपत्र और निजी कुंजियाँ निम्न कमांड के साथ charon डेमॉन में लोड की जाती हैं
swanctl --load-creds
जबकि
swanctl --load-conns
swanctl.conf में परिभाषित कनेक्शनों को लोड करता है। start_action = trap के साथ, IPsec कनेक्शन
सुरंग से गुजरने वाले पहले सादे-पाठ पेलोड IP पैकेट के साथ स्वचालित रूप से स्थापित हो जाता है।
होस्ट-टू-होस्ट परिदृश्य
यह दो एकल होस्टों के बीच एक सेटअप है जिनके पीछे कोई सबनेट नहीं होता है। यद्यपि होस्ट-टू-होस्ट कनेक्शनों के लिए IPsec ट्रांसपोर्ट मोड पर्याप्त होगा, हम डिफ़ॉल्ट IPsec टनल मोड का उपयोग करेंगे।
| 192.168.0.1 | === | 192.168.0.2 |
moon sun
होस्ट moon पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/moonCert.pem
/etc/swanctl/private/moonKey.pem
/etc/swanctl/swanctl.conf:
connections {
host-host {
remote_addrs = 192.168.0.2
local {
auth=pubkey
certs = moonCert.pem
}
remote {
auth = pubkey
id = "C=CH, O=strongSwan, CN=sun.strongswan.org"
}
children {
net-net {
start_action = trap
}
}
}
}
होस्ट sun पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/sunCert.pem
/etc/swanctl/private/sunKey.pem
/etc/swanctl/swanctl.conf:
connections {
host-host {
remote_addrs = 192.168.0.1
local {
auth = pubkey
certs = sunCert.pem
}
remote {
auth = pubkey
id = "C=CH, O=strongSwan, CN=moon.strongswan.org"
}
children {
host-host {
start_action = trap
}
}
}
}
रोडवॉरियर परिदृश्य
यह एक बहुत ही सामान्य मामला है जहाँ एक strongSwan गेटवे सामान्यतः गतिशील IP पते वाले कितने भी दूरस्थ VPN क्लाइंटों को सेवा प्रदान करता है।
10.1.0.0/16 -- | 192.168.0.1 | === | x.x.x.x |
moon-net moon carol
गेटवे moon पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/moonCert.pem
/etc/swanctl/private/moonKey.pem
/etc/swanctl/swanctl.conf:
connections {
rw {
local {
auth = pubkey
certs = moonCert.pem
id = moon.strongswan.org
}
remote {
auth = pubkey
}
children {
net-net {
local_ts = 10.1.0.0/16
}
}
}
}
रोडवॉरियर carol पर कॉन्फ़िगरेशन:
/etc/swanctl/x509ca/strongswanCert.pem
/etc/swanctl/x509/carolCert.pem
/etc/swanctl/private/carolKey.pem
/etc/swanctl/swanctl.conf:
connections {
home {
remote_addrs = moon.strongswan.org
local {
auth = pubkey
certs = carolCert.pem
id = [email protected]
}
remote {
auth = pubkey
id = moon.strongswan.org
}
children {
home {
local_ts = 10.1.0.0/16
start_action = start
}
}
}
}
remote_addrs के लिए होस्टनाम moon.strongswan.org चुना गया, जिसे DNS द्वारा रनटाइम पर संबंधित
IP गंतव्य पते में हल किया जाएगा। इस परिदृश्य में, रोडवॉरियर carol की पहचान ईमेल पता
[email protected] है, जिसे रोडवॉरियर प्रमाणपत्र carolCert.pem में subjectAlternativeName
के रूप में शामिल किया जाना चाहिए।
वर्चुअल IP के साथ रोडवॉरियर परिदृश्य
रोडवॉरियरों के पास सामान्यतः उनके वर्तमान ISP द्वारा निर्दिष्ट गतिशील IP पते होते हैं। moon-net से दूरस्थ एक्सेस क्लाइंट carol तक रूटिंग को सरल बनाने के लिए, यह वांछनीय होगा यदि रोडवॉरियर के पास पूर्व-परिभाषित पूल से चुना गया आंतरिक IP पता हो।
10.1.0.0/16 -- | 192.168.0.1 | === | x.x.x.x | -- 10.3.0.1
moon-net moon carol virtual IP
हमारे उदाहरण में, वर्चुअल IP पता एड्रेस पूल 10.3.0.0/16 से चुना गया है, जिसे निम्न अनुभाग जोड़कर
कॉन्फ़िगर किया जा सकता है
pools {
rw_pool {
addrs = 10.3.0.0/16
}
}
गेटवे के swanctl.conf में, जहाँ से उन्हें निम्न कमांड का उपयोग करके charon डेमॉन में लोड किया जाता है