मैं जो करने की कोशिश कर रहा हूं वह एक vpn सुरंग के माध्यम से IPv6 ट्रैफ़िक को रूट करने के लिए है। इस तरह, मुझे IPv6 को IPv6 का समर्थन नहीं करने वाले नेटवर्क में उपयोग करने में सक्षम होना चाहिए।
मेरे पास एक VPS है जिसे IPv6 ब्लॉक सौंपा गया है। इस ब्लॉक का एक हिस्सा मैं ओपेनवोन ग्राहकों के लिए उपयोग करना चाहता हूं। मेरे मन में जो सीमा थी वह थी 2001:db8::111:800:0/112
(उपसर्ग अज्ञात है), क्योंकि ओपनवीएनएन केवल सबनेट के रूप में / 64 और / 112 का समर्थन करता है।
सुरंग के माध्यम से आईपीवी 6 पहले से ही काम कर रहा है, क्लाइंट से, मैं सर्वर ( 2001:db8::111:800:1
) को पिंग कर सकता हूं , और सर्वर ( 2001:db8::111:100:100
और 2001:db8:216:3dfa:f1d4:81c0
) पर इंटरफेस भी कर सकता हूं ।
हालांकि, जब क्लाइंट से google.com को पिंग करने की कोशिश की जाती है, तो मुझे कोई प्रतिक्रिया नहीं मिलती है (पिंग टाइमआउट)। इस समस्या को डीबग करने के लिए, मैंने सर्वर पर ट्रैफ़िक कैप्चर करने के लिए tcpdump का उपयोग किया है, और मैं पिंग पैकेट को बाहर जाते हुए देख सकता हूं, लेकिन कोई जवाब वापस नहीं आ रहा है। Ip6tables में लॉग नियम जोड़ना समान दिखाता है, पैकेट बाहर जा रहा है, लेकिन अंदर कुछ भी नहीं आ रहा है।
मैंने एक ऑनलाइन ट्रेसरआउट टूल का उपयोग किया, जिसे मेरे सर्वर से टाइमआउट मिलता है। मैंने इंटरफ़ेस पर सीधे आईपी को सेट करने का भी प्रयास किया, जिसके परिणामस्वरूप आईपी ( 2001:db8::111:800:1001
) पहुंच योग्य हो सकता है, इसलिए मुझे लगता है कि यह एक रूटिंग समस्या है।
मैं के माध्यम से ipv6 के लिए अग्रेषण सक्षम किया है /proc/sys/net/ipv6/conf/all/forwarding
। ip6tables में सभी श्रृंखलाओं के लिए नीति अनुमति है।
मेरा प्रश्न यह है कि लिनक्स के लिए उस पैकेट को स्वीकार करने के लिए वास्तव में क्या आवश्यक है जो कि एक इंटरफेस के लिए असाइन नहीं किया गया है और इसे आगे रूट किया जाए? बस एक मार्ग जो मौजूद है वह पर्याप्त नहीं लगता है।
यहाँ मेरे क्लाइंट और सर्वर के लिए सेटअप है। अधिक जानकारी चाहिए तो कृपया इसे बताएं।
ग्राहक
# ip -6 addresses
10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qlen 100
inet6 2001:db8::111:800:1001/112 scope global
valid_lft forever preferred_lft forever
# ip -6 routes
2001:db8::111:800:0/112 dev tun0 proto kernel metric 256
2000::/3 dev tun0 metric 1024
सर्वर
# ip -6 address
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:db8:216:3dfa:f1d4:81c0/64 scope global dynamic
valid_lft 86254sec preferred_lft 14254sec
inet6 2001:db8::111:100:100/128 scope global
valid_lft forever preferred_lft forever
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qlen 100
inet6 2001:db8::111:800:1/112 scope global
valid_lft forever preferred_lft forever
# ip -6 route
2001:db8::111:100:100 dev eth0 proto kernel metric 256
2001:db8::111:800:0/112 dev tun0 proto kernel metric 256
2001:db8::/64 dev eth0 proto kernel metric 256 expires 86194sec
default via fe80::230:48ff:fe94:d6c5 dev eth0 proto ra metric 1024 expires 1594sec
TRACE
टारगेट का उपयोग करने का प्रयास करें (शायद यहाँ इतना नहीं) ip neighbour
, और ip route get
। इसके अलावा, कृपया निर्दिष्ट करें कि कौन पिंग कर रहा है google.ca
।
POSTROUTING ... MASQUERADE
में देख रहे हैंnat
। लेकिन मुझे यकीन नहीं है कि मैं पूरी तरह से समझता हूं। क्या आप IPv6 ट्रैफिक को टनल बनाने की कोशिश कर रहे हैं? यदि हां, तो क्या आपके पास संबंधित सुविधाएं हैं? क्या-p ipv6
IPv4 (!) नियमों में पैकेट की अनुमति है?