ओपनवीपीएन का नामकरण आंतरिक सर्वर में एसएसएच प्रवेश की अनुमति दें


10

मैं एक गुमनाम वीपीएन का उपयोग कर रहा हूं, लेकिन एसएसएच को आंतरिक कंप्यूटर तक पहुंच चाहता हूं।

मैं SSH के माध्यम से अपने आंतरिक कंप्यूटर का उपयोग कैसे करूं? जब मैं 98.123.45.6 ssh करता हूं , तो कनेक्शन टाइम आउट हो जाता है।

  • केबल प्रदाता से आईपी पता: 98.123.45.6
  • वीपीएन के माध्यम से बेनामी आईपी: 50.1.2.3
  • आंतरिक कंप्यूटर: 192.168.1.123

आसपास खोज करते समय, मुझे iptables नियम, रूटिंग नियम या या तोSAdress को sshd_config में जोड़ने के लिए अनुशंसाएँ मिलीं। मेरे मामले में इनमें से कौन लागू होता है?

यहाँ मेरा मार्ग है :

कर्नेल आईपी रूटिंग टेबल
डेस्टिनेशन गेटवे जेनमस्क फ्लैग्स मेट्रिक रेफरी इफ़ेक्ट
10.115.81.1 10.115.81.9 255.255.255.255 UGH 0 0 0 tun0
10.115.81.9 * 255.255.255.255 यूएच 0 0 0 ट्यून
50.1.2.3-sta ddwrt 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 202 0 0 eth0
169.254.0.0 * 255.255.0.0 U 204 0 0 vboxnet0
लूपबैक * 255.0.0.0 U 0 0 0 लो
डिफ़ॉल्ट 10.115.81.9 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 10.115.81.9 128.0.0.0 UG 0 0 0 tun0
डिफ़ॉल्ट ddwrt 0.0.0.0 UG 202 0 0 eth0

जवाबों:


15

इस समस्या को हल करने के लिए आपको iptables और रूटिंग दोनों नियम सेट करने होंगे । आपके द्वारा सामना की जा रही विशिष्ट समस्या यह है कि आउटगोइंग एसएसएच पैकेट आपके ईथरनेट इंटरफेस के बजाय आपके अनाम वीपीएन टनल इंटरफेस के माध्यम से रूट किए जा रहे हैं। ऐसा इसलिए हो रहा है क्योंकि आपके वीपीएन सॉफ़्टवेयर ने सुरंग इंटरफ़ेस के माध्यम से किसी भी और सभी अखंडित ट्रैफ़िक भेजने के लिए एक रूटिंग नियम स्थापित किया है। अपने नेटवर्क ट्रैफ़िक को अज्ञात करने के लिए अच्छा है; आपके कंप्यूटर पर SSH कनेक्शन स्थापित करने के लिए बुरा है।

इस समस्या को ठीक करने के कुछ तरीके हैं, लेकिन मैं आपके साथ एक समान स्थिति में काम करने वाले को साझा करूंगा। यहाँ हमें क्या करना है:

  1. गैर-वीपीएन ट्रैफ़िक को संभालने के लिए एक नया आईपी नियम तालिका बनाएं
  2. एक विशिष्ट नेटफिल्टर मास्क के साथ चिह्नित किसी भी पैकेट के लिए हमारी नो-वीपीएन तालिका देखने के लिए एक आईपी नियम जोड़ें
  3. एक आईपी मार्ग जोड़ें जो सुरंग के बजाय आपके ईथरनेट इंटरफेस का उपयोग करने के लिए हमारे नो-वीपीएन तालिका में सभी ट्रैफ़िक को निर्देशित करता है
  4. एक iptables हमारे नामित नेटफिल्टर मुखौटा के साथ सब SSH यातायात चिह्नित करने के लिए शासन जोड़े

नोट: मैं निम्नलिखित करते हुए रास्पियन के साथ काम कर रहा था, इसलिए आपको अपने डिस्ट्रो को फिट करने के लिए कमांड को थोड़ा समायोजित करने की आवश्यकता हो सकती है।

एक नया आईपी नियम तालिका बनाना

Iproute2 की तालिका परिभाषा फ़ाइल का निरीक्षण करके शुरू करें। हम यह सुनिश्चित करना चाहते हैं कि हम किसी भी मौजूदा नियम तालिकाओं के नाम या संख्या का उपयोग न करें।

cat /etc/iproute2/rt_tables

आप इन पंक्तियों के साथ कुछ देखेंगे:

# reserved values
255      local 
254      main
253      default   
0        unspec
#
# local
#
#1      inr.ruhep

अपनी नई नियम तालिका के लिए एक मनमाना संख्या और नाम चुनें - ऊपर उपयोग की गई कोई भी चीज़। मैं novpnइस उत्तर के शेष के लिए संख्या 201 और नाम का उपयोग करूंगा ।

एक परिभाषा को सीधे परिभाषा फ़ाइल में जोड़ें या अपनी पसंद के पाठ संपादक में संपादित करें:

echo "201 novpn" >> /etc/iproute2/rt_tables

एक नया आईपी नियम नहीं वीपीएन तालिका देखने के लिए जोड़े

किसी भी मौजूदा आईपी नियम की जाँच करें जो नेटफिल्टर मास्क से निपटते हैं:

ip rule show | grep fwmark

अगर grep कुछ भी नहीं बदलता है, तो आप स्पष्ट हैं। यदि यह कुछ पंक्तियों को प्रिंट करता है, तो fwmarkप्रत्येक पंक्ति में शब्द के दाईं ओर हेक्साडेसिमल संख्या पर ध्यान दें । आपको एक संख्या चुनने की आवश्यकता होगी जो वर्तमान में उपयोग में नहीं है। चूंकि मेरे पास कोई मौजूदा नियम नहीं थे, इसलिए मैंने 65 नंबर चुना।

ip rule add fwmark 65 table novpn

यह क्या करता है नेटफिल्टर मास्क 65 के साथ किसी भी पैकेट के कारण पैकेट के novpnरूट के निर्देशों के लिए हमारी नई तालिका देखने के लिए।

ईथरनेट इंटरफ़ेस का उपयोग करने के लिए हमारी नई तालिका में सभी ट्रैफ़िक को निर्देशित करें

ip route add default via YOUR.GATEWAY.IP.HERE dev eth0 table novpn

यहां ध्यान देने योग्य बात है dev eth0। यह सभी ट्रैफ़िक को मजबूर करता है जो novpnटेबल के माध्यम से केवल हार्डवेयर ईथरनेट इंटरफ़ेस का उपयोग करता है, इसके बजाय वर्चुअल वीपीएन इंटरफ़ेस जो आपके वीपीएन बनाता है।

अब अपने आईपीआर कैश को फ्लश करने का एक अच्छा समय होगा, यह सुनिश्चित करने के लिए कि आपके नए नियम और मार्ग तत्काल प्रभाव लेते हैं:

ip route flush cache

निर्दिष्ट नेटफिल्टर मास्क के साथ सभी एसएसएच ट्रैफिक को चिह्नित करने के लिए फ़ायरवॉल नियम को निर्देश दें

iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark 65

किसी भी महान गहराई में समझाने के लिए मेरे लिए यहां बहुत सारे विकल्प हैं। मैं आपको दृढ़ता से प्रोत्साहित करता हूं कि iptables के लिए मैनुअल पेज को पढ़ने के लिए यहां क्या हो रहा है, इसकी भावना प्राप्त करें:

man iptables

संक्षेप में: हम फ़ायरवॉल के मेंटल टेबल (विशेष पैकेट हैंडलिंग के लिए) के लिए एक आउटपुट नियम जोड़ रहे हैं, जो हमारे निर्दिष्ट नेटफिल्टर मास्क 65 के साथ स्रोत पोर्ट 22 से उत्पन्न किसी भी टीसीपी पैकेट को चिह्नित करने का निर्देश देता है।

आगे क्या?

इस बिंदु पर, आपको एसएसएच का परीक्षण करने के लिए तैयार होना चाहिए। यदि सब ठीक हो जाता है, तो आपको "प्रांप्ट" के रूप में खुश "लॉगिन" के साथ मिलना चाहिए।

सुरक्षा के लिए, मेरा सुझाव है कि आप अपने फ़ायरवॉल को सुरंग इंटरफ़ेस से आने वाले किसी भी SSH अनुरोध को छोड़ने का निर्देश दें:

iptables -A INPUT -i tun0 -p tcp -m tcp --dport 22 -j DROP

ध्यान दें कि ऊपर दिए गए सभी निर्देश क्षणिक हैं (नियम तालिका आईडी के निर्माण को छोड़कर) - वे अगली बार जब आप अपने कंप्यूटर को पुनः आरंभ करेंगे, तो वे साफ़ हो जाएंगे। उन्हें स्थायी बनाना एक व्यायाम है जिसे मैं आपके पास छोड़ता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.