मैं सोच रहा हूं कि ssh / ipv4 सुरंग (ptp कनेक्शन) पर tcp / ipv6 ट्रैफिक कैसे टनल करें। क्या यह संभव है? मैं उसे कैसे प्राप्त कर सकता हूं?
मैं सोच रहा हूं कि ssh / ipv4 सुरंग (ptp कनेक्शन) पर tcp / ipv6 ट्रैफिक कैसे टनल करें। क्या यह संभव है? मैं उसे कैसे प्राप्त कर सकता हूं?
जवाबों:
हां, यह संभव है और बहुत मुश्किल भी नहीं है, लेकिन समाधान बहुत ही अधिक है, क्योंकि एसएसएच टीसीपी पर चलता है और एक समझदार उपरि है।
सर्वर को इसकी कॉन्फ़िगरेशन फ़ाइल में होना चाहिए sshd_config
:
PermitTunnel point-to-point
फिर, आपको दोनों मशीनों पर रूट करने की आवश्यकता है । आप सर्वर का उपयोग कर कनेक्ट करते हैं:
ssh -w any root@server
कनेक्शन के बाद, ip link
दोनों प्रणालियों में कमांड का उपयोग यह जानने के लिए करें कि प्रत्येक में कौन सा ट्यून डिवाइस बनाया गया था, और इसे निम्न कमांड में उपयोग करें। ध्यान दें कि मैं उदाहरण साइट-स्थानीय पते का उपयोग कर रहा हूं, जो अप्रचलित हैं, लेकिन इस परिचय के लिए ठीक है।
सर्वर पर:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
ग्राहक पर:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
यह पर्याप्त है ताकि आप सुरंग के माध्यम से दूसरी तरफ पिंग कर सकें, अगर कोई फ़ायरवॉल नियम अवरुद्ध नहीं है। अगला कदम सुरंग के ऊपर मार्गों को सेट करना है (net.ipv6.conf.default.forwarding = 1 को मत भूलना), और फिर इष्टतम प्रदर्शन प्राप्त करने के लिए लिंक MTU को समायोजित करें।
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
यह आपके क्लाइंट को अन्य नेटवर्क को पिंग करने की अनुमति देगा, जिसे सर्वर तक पहुंच है, यह देखते हुए कि लक्ष्यों में आपके दूरस्थ क्लाइंट के लिए मार्ग हैं।
आपको लिंक MTU को भी ठीक करना होगा ताकि क्लाइंट पैकेट न भेजे जिससे सर्वर आगे संचारित नहीं हो पाएगा। यह सर्वर के IPv6 लिंक के MTU पर निर्भर करता है। पथ MTU खोज पर भरोसा न करें क्योंकि यह SSH सुरंग पर सही ढंग से काम नहीं करेगा। यदि संदेह है, तो कम MTU मूल्य के साथ शुरू करें, जैसे 1280 (IPv6 के लिए न्यूनतम MTU की अनुमति)।
ip
कमांड नहीं है , इसलिए आईपी एड्रेस को sudo ifconfig tun0 inet6 fec0:1::2/112 up
निर्धारित करें और sudo route add -inet6 -mtu 1280 default fec0:1::1