बुरी खबर, हर कोई! ऐसा लगता है कि फेडोरा 21 में एक अधूरा बग है: 802.1x PEAP / MSCHAPv2 के साथ वायर्ड कनेक्शन काम नहीं कर रहा है । इसलिए जबकि नीचे दिए गए उत्तर अन्य डिस्ट्रोस के लिए काम कर सकते हैं, फेडोरा 21 उपयोगकर्ता वर्तमान में भाग्य से बाहर हैं।
कभी भी खुद की कोशिश नहीं की, लेकिन इस पोस्ट में लिनक्स क्लाइंट और विंडोज डोमेन के बीच 802.1x स्थापित करने के लिए एक विस्तृत विस्तृत पूर्वाभ्यास शामिल है। प्रमाणपत्र अनुरोध भाग पर ध्यान दें: इसे आपकी गैर-निर्यात योग्य प्रमाणपत्र की समस्या को हल करना चाहिए। सॉफ्टवेयर संस्करण बहुत पुराने हैं ( उबंटू 8.04 है और बियॉन्ड ट्रस्ट के पावर ब्रोकर अभी भी वैसे ही हैं ), लेकिन मूल विचार मुझे ठोस लगता है।
मैंने उपर्युक्त पोस्ट को प्रारूपित किया है ताकि इसे पढ़ना आसान हो सके। कोडिंग ग्रे पर ग्रे होने के लिए कोड बॉक्स बनाती है, इसलिए मैंने इसे बाहर कर दिया, क्षमा करें:
अस्वीकरण: यह गाइड लिनक्स उबंटू 8.04 वितरण के परिप्रेक्ष्य से लिखा गया है। अन्य लिनक्स या यूनिक्स वितरण के साथ इस काम को करने के लिए, कुछ बदलाव करने की आवश्यकता हो सकती है।
802.1x से अधिक प्रमाणित करने के लिए आपके लिनक्स मशीन के लिए आवश्यक दो मुख्य चीजें एक क्लाइंट प्रमाणपत्र और विंडोज डोमेन में एक खाता है। प्रमाणीकरण प्रक्रिया के दौरान, लिनक्स क्लाइंट इसे स्विच करने के लिए कंप्यूटर प्रमाण पत्र प्रस्तुत करता है, जो बदले में इसे RADIUS सर्वर को प्रस्तुत करता है जो प्रमाण पत्र को सत्यापित करता है, और सत्यापित करता है कि कंप्यूटर खाता सक्रिय निर्देशिका में सौंपा गया है। यदि प्रमाणपत्र और कंप्यूटर खाता मान्य है, तो RADIUS सर्वर प्रमाणीकरण अनुरोध को स्विच में वापस भेजने की स्वीकृति देता है, जो बदले में लिनक्स बॉक्स से जुड़े पोर्ट को प्रमाणित करता है।
पहली चीज जो आपके लिए आवश्यक है वह है आपके लिनक्स कंप्यूटर को विंडोज डोमेन में शामिल करना। चूंकि लिनक्स मूल रूप से विंडोज डोमेन में शामिल नहीं हो सकता है, हमें ऐसा करने के लिए आवश्यक सॉफ्टवेयर डाउनलोड करना होगा। इसी तरह हमें यह करने की अनुमति देने के लिए सॉफ्टवेयर बनाता है। उबंटू पर इसे स्थापित करने के लिए यह बहुत सरल है, बस इन चरणों का पालन करें:
- sudo apt-get update
- sudo apt-get install इसी तरह खुला
- sudo domainjoin-cli जुड़ते हैं
enter the FQDN of your domain here
enter your admin account here
, आप प्रारूप का उपयोग कर सकते हैं user@domain.com
। आपको GUI संस्करण का उपयोग करने में भी सक्षम होना चाहिएSystem → Administration → Likewise.
- sudo update-rc.d इसी तरह खुली चूक
- sudo /etc/init.d/likewise-open प्रारंभ
यदि आप उबंटू नहीं चल रहे हैं, तो आप यहां से सॉफ्टवेयर डाउनलोड कर सकते हैं http://www.likewisesoftware.com/products/likewise_open । अब आप अपने डोमेन खाते का उपयोग करके लॉग आउट कर सकते हैं। मेरा मानना है कि या तो user@domain.com
डोमेन और उपयोगकर्ता का प्रारूप दोनों काम करते हैं। इसका परीक्षण मैं बाद में करूंगा।
लिनक्स मशीन पर स्थित तीन फाइलें हैं जिन्हें इस प्रमाणीकरण के लिए सही तरीके से कॉन्फ़िगर किया जाना चाहिए। ये तीन फाइलें हैं:
- /etc/wpa_supplicant.conf
- / Etc / नेटवर्क / इंटरफेस
- /etc/openssl/openssl.cnf
पहले हम सॉफ़्टवेयर को कॉन्फ़िगर करेंगे ताकि हमारे लिनक्स मशीन को 802.1x सक्षम नेटवर्क को प्रमाणित करने के लिए क्लाइंट प्रमाणपत्र का उपयोग किया जा सके; wpa_supplicant
इसके लिए उपयोग किया जाएगा।
अपनी wpa_supplicant.conf फ़ाइल को कॉन्फ़िगर करने के लिए इन चरणों का पालन करें:
- सूदो गेदित /etc/wpa_supplicant.conf
फ़ाइल में निम्न पेस्ट करें और इसे सहेजें:
# Where is the control interface located? This is the default path:
ctrl_interface=/var/run/wpa_supplicant
# Who can use the WPA frontend? Replace "0" with a group name if you
# want other users besides root to control it.
# There should be no need to chance this value for a basic configuration:
ctrl_interface_group=0
# IEEE 802.1X works with EAPOL version 2, but the version is defaults
# to 1 because of compatibility problems with a number of wireless
# access points. So we explicitly set it to version 2:
eapol_version=1
# When configuring WPA-Supplicant for use on a wired network, we don't need to
# scan for wireless access points. See the wpa-supplicant documentation if you
# are authenticating through 802.1x on a wireless network:
ap_scan=0
network={
ssid="<enter any name here, it doesn't matter>"
key_mgmt=IEEE8021X
eap=TLS
identity="<FQDN>/computers/<Linux computer name>"
client_cert="/etc/ssl/certs/<your authentication certificate name>.pem"
private_key="/etc/ssl/private/<your private key name>.pem"
}
अब हमें आपकी इंटरफेस फाइल को एडिट करना होगा। अपनी इंटरफेस फ़ाइल को कॉन्फ़िगर करने के लिए इन चरणों का पालन करें:
- sudo gedit / etc / नेटवर्क / इंटरफेस
eth0
इंटरफ़ेस के नीचे फ़ाइल में पेस्ट करें और इसे सहेजें:
# Configure the system to authenticate with WPA-Supplicant on interface eth0
wpa-iface eth0
# In this case we have a wired network:
wpa-driver wired
# Tell the system we want to use WPA-Supplicant with our configuration file:
wpa-conf /etc/wpa_supplicant.conf
अगला चरण आपके प्रमाणपत्रों को जनरेट और इंस्टॉल करना है। हमें एक स्व-हस्ताक्षरित प्रमाण पत्र उत्पन्न करना होगा, फिर हमारे द्वारा बनाए गए स्व-हस्ताक्षरित प्रमाण पत्र के आधार पर एक प्रमाणपत्र अनुरोध उत्पन्न करें, फिर प्रमाण पत्र स्थापित करें।
नोट: अपने प्रमाण पत्र बनाते समय, जब भी वह आपका नाम पूछता है, तो आपको उस कंप्यूटर का नाम प्रदान करना होगा जो प्रमाणिक होगा। सुरक्षित होने के लिए, मैं यह सलाह देता हूं कि केस मैच संवेदनशील होने के साथ-साथ यह नाम कंप्यूटर से नियत होने के तरीके से मेल खाता है। यदि आप अनिश्चित हैं कि यह आपके कंप्यूटर को कैसे सौंपा गया है, तो एक टर्मिनल खोलें और होस्टनाम टाइप करें।
इन कदमों का अनुसरण करें:
sudo openssl अनुरोध -x509 -nodes -days enter in days how long you want the cert valid for
-newkey आरएसए: 1024 -keyout enter a name for your private key/certificate here
.pem आउट enter a name for your private key/certificate here
.pem
उदाहरण: sudo opensl req -x509 -nodes -days 365 -newkey rsa: 1024 -keyout privcert.pem -out privcert.pem
openssl अनुरोध -नया -newkey आरएसए: 1024 -nodes -keyout enter a name for your private key here
.pem - बाहर enter a name for your certificate request here
.pem
उदाहरण: सुडो खुलता है req -new -newkey rsa: 1024 -nodes -keyout privkey.pem -out certreq.pem
आपके द्वारा बनाए गए सभी प्रमाणपत्र आपके घर निर्देशिका ( /home/<username>
) में रखे गए हैं । अगला भाग पिछले चरण में बनाए गए प्रमाणपत्र अनुरोध का उपयोग करके अपने सीए से प्रमाण पत्र का अनुरोध करना है। यह एक विंडोज़ मशीन पर करने की आवश्यकता होगी, क्योंकि किसी कारण से लिनक्स और विंडोज को प्रमाण पत्र का अनुरोध करने और डाउनलोड करने के दौरान बहुत अच्छी तरह से नहीं मिलता है; मुझे बस प्रमाणपत्र अनुरोध को ईमेल करना और विंडोज मशीन पर प्रदर्शन करना आसान लगा।
प्रमाणपत्र अनुरोध को पूरा करने के लिए इन चरणों का पालन करें:
- लिनक्स मशीन पर अपनी होम निर्देशिका पर जाएं और अपनी प्रमाणपत्र अनुरोध फ़ाइल ढूंढें
- या तो फ़ाइल को स्वयं ईमेल करें या फ़ाइल को एक टेक्स्ट एडिटर (जैसे gedit) के साथ खोलें और अनुरोध को ईमेल में कॉपी और पेस्ट करें और स्वयं को भेजें।
- Windows क्लाइंट पर, IE का उपयोग करके अपने CA की वेबसाइट (जैसे
http://caname/certsrv
) के लिए एक वेबपेज खोलें ।
- एक प्रमाणपत्र का अनुरोध करें का चयन करें
- उन्नत प्रमाणपत्र अनुरोध
- अब अपना ईमेल खोलें और प्रमाणपत्र अनुरोध प्राप्त करें जिसे आपने खुद ईमेल किया था।
- यदि आपने अपने आप को फ़ाइल ईमेल की है, तो इसे नोटपैड के साथ खोलें और सामग्री को बेस -64 एन्कोडेड प्रमाणपत्र अनुरोध बॉक्स में कॉपी और पेस्ट करें। यदि आपने खुद को फ़ाइल के बजाय प्रमाणपत्र अनुरोध फ़ाइल की सामग्री ईमेल की है, तो बस आधार -64 एन्कोडेड प्रमाणपत्र अनुरोध बॉक्स में अनुरोध को कॉपी और पेस्ट करें।
- सबमिट करें पर क्लिक करें और प्रमाण पत्र को बेस -64 फॉर्म में डाउनलोड करें, डीईआर नहीं।
- प्रमाणपत्र को अपने डेस्कटॉप पर सहेजें और इसे
your Linux machine name
.pem नाम दें । सिस्टम स्वचालित रूप .cer
से इसे समाप्त करने के लिए आगे बढ़ेगा , इसलिए बस इसे हटा दें। प्रमाणपत्र एक्सटेंशन के लिए लिनक्स .pem का उपयोग करता है।
- इस फ़ाइल को ले जाएं और इसे अपने आप को ईमेल करें।
- अब, अपने लिनक्स मशीन पर, अपना प्रमाण पत्र प्राप्त करें और इसे कहीं बचा लें (अधिमानतः अपने घर के फ़ोल्डर को व्यवस्थित और एक साथ रखने के लिए)।
- अब, हमें आपके प्रमाणपत्र की प्रतिलिपि बनाने की आवश्यकता है जो आपको अभी आपके
/etc/ssl/certs
फ़ोल्डर में मिला है , और हमें आपके /etc/ssl/private
फ़ोल्डर में पहले से निर्मित आपकी निजी कुंजी / प्रमाणपत्र और निजी कुंजी की प्रतिलिपि बनाने की आवश्यकता है । अब, केवल रूट को ऐसा करने की अनुमति है, इसलिए आप या तो कमांड लाइन द्वारा टाइप करके sudo cp /home/<username>/<certificate>.pem /etc/ssl/private
या ऐसा कर सकते हैं /etc/ssl/certs
। यह GUI से कमांड gksudo का उपयोग करके कॉपी और पेस्ट करके और नॉटिलस में टाइप करके भी किया जा सकता है। नॉटिलस जीयूआई फ़ाइल ब्राउज़र है जिसे उबंटू उपयोग करता है और यह इसे रूट के रूप में चलाएगा जिससे आप उन निर्देशिकाओं को कॉपी और पेस्ट कर सकते हैं जिनकी केवल रूट तक पहुंच है।
अब जब हमारे प्रमाण पत्र जगह में हैं, तो हमें ओपनसेल को यह बताने की आवश्यकता है कि हम प्रमाणपत्रों का उपयोग कैसे करना चाहते हैं। ऐसा करने के लिए, हमें Opensl.cnf फ़ाइल को संपादित करना चाहिए और इसे एक उपयोगकर्ता के बजाय क्लाइंट के रूप में हमारे लिनक्स मशीन को प्रमाणित करने के लिए कहना चाहिए।
यह करने के लिए, इन उपायों का पालन करें:
- sudo gedit /etc/ssl/openssl.cnf
- लगभग आधे रास्ते तक स्क्रॉल करें और आपको एक सेक्शन देखना चाहिए
[usr_cert]
। इस खंड में हमें उस स्थान की आवश्यकता है जहां "सामान्य ग्राहक उपयोग के लिए यह विशिष्ट है" केnsCertType
रूप में परिभाषित किया गया है , और यह होना चाहिए और यह टिप्पणी की जाएगी। इस लाइन को रद्द करें और ईमेल को हटा दें ताकि यह दिखाई दे । अब फाइल को सेव करें।nsCertType = client, email
nsCertType = client
अब आपके पास एक सब कुछ होना चाहिए जो आपके पास ठीक से कॉन्फ़िगर होना चाहिए एक लिनक्स मशीन विंडोज डोमेन वातावरण में चल रही है और 802.1x का उपयोग करके प्रमाणित है।
अब जो कुछ बचा है वह आपकी नेटवर्किंग सेवा को पुनरारंभ करने के लिए है ताकि लिनक्स उस wpa_supplicant.conf
फ़ाइल का उपयोग करेगा जो अब आपके eth0
इंटरफ़ेस से बंधा हुआ है और प्रमाणित है। तो बस दौड़ो sudo service networking restart
। यदि आपका इंटरफ़ेस वापस आने के बाद आपको IP पता नहीं मिलता है, तो आप टाइप करके अपने DHCP सर्वर से मैन्युअल रूप से IP अनुरोध कर सकते हैं sudo dhclient
।