ওপেনভিএনপি টানেলের মাধ্যমে পাবলিক আইপভি 6 ট্র্যাফিকের রাউটিং


13

আমি যা করার চেষ্টা করছি তা হল ভিপিএন টানেলের মাধ্যমে আইপিভি 6 ট্র্যাফিকের রুট route এইভাবে, আমার আইপিভি 6 এমন কোনও নেটওয়ার্কে ব্যবহার করতে সক্ষম হওয়া উচিত যা আইপিভি 6 সমর্থন করে না।

আমার একটি ভিপিএস রয়েছে যা একটি আইপিভি 6 ব্লক বরাদ্দ করেছে। এই ব্লকের একটি অংশ আমি ওপেনভিপিএন ক্লায়েন্টদের জন্য ব্যবহার করতে চাই। আমার মনে থাকা পরিসীমাটি ছিল 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)।

যদিও ক্লায়েন্টের কাছ থেকে গুগল ডটকমকে পিং করার চেষ্টা করার সময়, আমি কোনও প্রতিক্রিয়া পাই না (পিং টাইমআউট)। এই সমস্যাটি ডিবাগ করার জন্য, আমি সার্ভারে ট্র্যাফিক ক্যাপচার করতে tcpdump ব্যবহার করেছি এবং আমি পিং প্যাকেটগুলি বের হয়ে যেতে দেখতে পাচ্ছি, তবে কোনও উত্তর ফিরে আসবে না। আইপ t টেবিলগুলিতে লগ বিধি যুক্ত করা একই, প্যাকেটগুলি বের হচ্ছে, তবে কিছুই আসছে না।

আমি একটি অনলাইন ট্রেস্রোয়েট সরঞ্জাম ব্যবহার করেছি যা আমার সার্ভার থেকে একটি সময়সীমা পায়। আমি আইফিকে সরাসরি ইন্টারফেসে সেট করার চেষ্টাও করেছি, যার ফলে আইপি ( 2001:db8::111:800:1001) পৌঁছনীয় হতে পারে, তাই আমি মনে করি এটি একটি রাউটিং সমস্যা।

আমি আইপিভি 6 এর মাধ্যমে ফরওয়ার্ডিং সক্ষম করেছি /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

সম্ভাব্য আপনি যা খুঁজছেন POSTROUTING ... MASQUERADEমধ্যে natটেবিল। তবে আমি নিশ্চিত যে আমি পুরোপুরি বুঝতে পেরেছি না। আপনি কি আইপিভি 6 ট্র্যাফিকটি সুড়ঙ্গ করার চেষ্টা করছেন? যদি তা হয় তবে আপনার কি সংশ্লিষ্ট সুবিধা রয়েছে? হয় -p ipv6IPv4- র (!) বিধি অনুমোদিত প্যাকেট?
0xC0000022L

আপনার কি রাউটারের আইপি কনফিগারেশন আছে (এথ0 তে)? আপনি কি রাউটারটি নিয়ন্ত্রণ করেন? (আপনি কি রাস্তাগুলি যুক্ত করতে পারেন?)
ysdx

Iptables কাঁচা টেবিল TRACEলক্ষ্য ব্যবহার করার চেষ্টা করুন (সম্ভবত এখানে এত কিছু না) ip neighbour, এবং ip route get। এছাড়াও, দয়া করে নির্দিষ্ট করুন যে কে পিং করছে google.ca
পিলোনা

Google.com বা goole.com পিং করছে P
টোট্টি

@ টট্টি গুগল.কম, একটি টাইপো ছিল
ইক্কে

উত্তর:


12

এই ভিপিএন সাবনেটের জন্য আপনার সার্ভারটি ব্যবহার করতে আপনাকে আপনার রাউটারকে বলতে হবে: আপনার সমস্যার সঠিক সমাধানটি ওপেনভিপিএন সাবনেটের জন্য রাউটারে একটি রুট যুক্ত করা।

যদি আপনি এটি করতে না পারেন কারণ আপনি রাউটারটি স্পর্শ করতে পারবেন না, অন্য একটি সমাধান হ'ল eth0লিঙ্কে থাকা ক্লায়েন্টদের জন্য একটি এনডিপি প্রক্সি সেটআপ করা ।

আপনি যখন ভিপিএস ব্যবহার করছেন আপনি সম্ভবত রাউটারে রুটগুলি যুক্ত করতে পারবেন না: আপনাকে সম্ভবত দ্বিতীয় সমাধানটি ব্যবহার করতে হবে।

সাবনেটের জন্য একটি রুট যুক্ত করুন

আপনার সমস্যার সঠিক সমাধানটি রাউটারকে জানাতে হবে যে ভিপিএন সাবনেটটি অবশ্যই ওপেনভিপিএন সার্ভারের মাধ্যমে রুট করা উচিত (এটি লিনাক্সের জন্য):

ip route add 001:db8::111:800::/112 via 2001:db8::111:100:100

আপনাকে সার্ভারে IPv6 ফরোয়ার্ডিং সক্ষম করতে হবে:

sysctl sys.net.ipv6.conf.all.forwarding=1

এনডিপি প্রক্সি

দেখে মনে হচ্ছে যে রাউটারটি eth0লিঙ্কটিতে আপনার পুরো আইপিভি 6 রেঞ্জটি প্রেরণ করার জন্য কনফিগার করা হয়েছে : আপনি এনডিপি প্রক্সি সেটআপ করতে পারেন।

eth0ক্লায়েন্টের কাছ থেকে বাকি ইন্টারনেট অ্যাক্সেস করার চেষ্টা করার সময় আপনার ওপেনভিপিএন সাবনেটের সার্ভারের ইন্টারফেসে এনডিপি অনুরোধগুলি দেখতে হবে ।

আপনাকে সার্ভারে এবং এনডিপি প্রক্সিতে আইপিভি 6 ফরোয়ার্ডিং সক্ষম করতে হবে:

sysctl -w নেট.ipv6.conf.all.proxy_ndp = 1

সাবনেট এনডিপি প্রক্সি

লিনাক্স কার্নেল একটি সাবনেটের জন্য একটি এনডিপি প্রক্সি যুক্ত করার অনুমতি দেয় না কেবলমাত্র পৃথক আইপিগুলির জন্য। আপনি একটি ডিমন ব্যবহার করতে পারেন (যেমন একটি সম্পূর্ণ সাবনেটের জন্য এনডিপি প্রক্সি সেটআপ করার জন্য এনডিপিপিডি (এটি কখনও ব্যবহৃত হয়নি)।

প্রতি আইপি এনডিপি প্রক্সি

আরেকটি সমাধান হ'ল ভিপিএন সাবনেটের প্রতিটি আইপিভি 6 এর জন্য একটি এনডিপি প্রক্সি যুক্ত করা যায়:

for i in $(seq 0 65535) ; do
  ip neigh add proxy 2001:db8::111:800:$(printf %x $i) dev tun0
done

ওপেনভিপিএন সাবনেটে আপনার তুলনামূলকভাবে কম সংখ্যক আইপি থাকায় এটি কাজ করা উচিত।

ওপেনভিপিএন হুক সহ গতিশীল এনডিপি প্রক্সি

এনডিপি প্রক্সি ডায়নামিকলি যুক্ত করতে আপনার ওপেনভিপিএন হুক ব্যবহার করতে সক্ষম হওয়া উচিত।

ওপেনভিপিএন সার্ভারের কনফটিতে হুক যুক্ত করুন:

learn-address /etc/openvpn/learn-address

নিম্নলিখিত learn-addressস্ক্রিপ্ট সহ:

#!/bin/sh

action="$1"
addr="$2"

case "$action" in
    add | update)
        ip neigh replace proxy "$addr" dev tun0
        ;;
    delete)
        ip neigh del proxy "$addr" dev tun0
        ;;
esac

এই থ্রেড দেখুন ।

সংক্ষিপ্ত উত্তর

for i in $(seq 0 65535) ; do
  ip neigh add proxy 2001:db8::111:800:$(printf %x $i) dev tun0
done

1
ধন্যবাদ, আমি এটি খতিয়ে দেখব। আমি এখন বুঝতে সমস্যা। ipsidixit.net/2010/03/24/239 এ সম্পর্কে আরও বিশদ রয়েছে।
ইক্কে

প্রতিবেশী প্রক্সি হিসাবে আমার কাছে ক্লায়েন্টের আইপি রয়েছে। আমি sys.net.ipv6.conf.all.proxy_ndp সক্ষম করেছি, তবে আমি এখনও google.com পিং করতে পারি না। আমি যখন সার্ভারটি যাচাই করি, আমি দেখতে পাই যে এনডিপি সলিউশন প্যাকেটগুলি ইথ0 এ চলেছে তবে কোনও বিজ্ঞাপন বের হচ্ছে না।
ইক্কে

1
এনপিডি 6 ইনস্টল এবং সেট আপ করার পরে এটি হঠাৎ কাজ করে!
ইক্কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.