নিম্নলিখিত সমস্যাটি হ'ল বড় সমস্যাটির এক টুকরো যা আমার সমস্যা আছে। অন্য সমস্ত উপাদান এখনও অবধি কাজ করছে বলে মনে হচ্ছে, তাই আমি খুব ছোট টুকরোটি বর্ণনা করার চেষ্টা করব যা আমার সমস্যা আছে।
আমি লিনাক্স মেশিন পেয়েছেন, সঙ্গে tun0 (টানেলিং ইন্টারফেস) এবং eth0 এর (জাদুকরী ইন্টারনেটের সাথে আমার ডিফল্ট গেটওয়ে যায়)।
লক্ষ্য: আমার লক্ষ্য টিউন0 থেকে আগত প্যাকেটগুলি গ্রহণ করা এবং সেগুলি ডিফল্ট গেটওয়েতে ফরোয়ার্ড করা। সুতরাং আসলে বেশ সহজ NAT কেস, যেখানে আমি টুন0 এর সাথে ইন্টারনেট "ভাগ" করতে চাই যা শারীরিক ইন্টারফেসকে নকল করে।
টুন ব্যবহার করে তৈরি করা হয়েছে
sudo openvpn --mktun --dev tun0 --user USER
sudo ip addr add 10.2.0.1/24 dev tun0
sudo ip link set tun0 up
সুতরাং আমি এটি চালিয়ে যাচ্ছি এবং আমি এটি পিং করতে পারি ইত্যাদি etc. এছাড়াও, আমার কাছে সি ++ অ্যাপ্লিকেশন রয়েছে যা এই টিউএন ডিভাইসটির সাথে সংযুক্ত থাকে, সেখান থেকে পড়তে এবং লিখতে পারে। (এফটিআই: এই যে টিউটোরিয়ালটি আমি অনুসরণ করেছি: http://backreferences.org/2010/03/26/tuntap-interface-tutorial/ )
আমি সি ++ এর বাইট অ্যারেতে 8.8.8.8 তে করা কিছু সঠিক আইসিএমপি (পিং) অনুরোধটি ফেলেছি। এখন, আমার প্রোগ্রামটি ব্যবহার করে আমি এটি টিউন ডিভাইসে লিখছি। আইসিএমপি অনুরোধ আছে
- উত্স (10.2.0.10) - সুতরাং কার্নেল পিছনের রুটটি জানতে পারে (একই সাবনেট)
- গন্তব্য (8.8.8.8) - গুগলের ডিএনএস
- সঠিক চেকসাম ইত্যাদি (ওয়্যারশার্ক / টিশার্কে এটি টিউন 0 এ সঠিকভাবে প্রদর্শিত হবে)
তারপরে, আমার নিম্নলিখিত রুট রয়েছে:
iptables -F # flush
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface tun0 -j ACCEPT
এবং এখানে আমি আটকে আছি :( প্যাকেটটি ডিফল্ট জিডব্লিউতে ফরোয়ার্ড হয় না (টিশার্ক এটি কেবল টিউনটিতে দেখেছিল যা আমি অনুমান করি যে এটি সঠিক)
কি অনুপস্থিত? হতে পারে কিছু বিকল্প পদ্ধতির (তবে এটি টিউন ডিভাইস ব্যবহার করে করতে হবে, এবং আমি এটিতে r / w করতে সক্ষম হতে হবে)। অতিরিক্ত তথ্য:
- ফরওয়ার্ডিং সক্ষম করা হয়েছে (/ proc / sys / নেট / ipv4 / ip_forward)
- 8.8.8.8 এথ0 এর মাধ্যমে পৌঁছনীয় (স্থানীয় থেকে)
- ডিফল্ট গেটওয়েটি সঠিক (ইথপথের মাধ্যমে আইএসপি থেকে)
- আমি rp_tables (ইকো 0> / proc / sys / নেট / ipv4 / কনফিট / এথ 5 / আরপি_ফিল্টার) বন্ধ করার চেষ্টা করেছি
- এবং আরও অনেক কিছু...
কোন ইঙ্গিত জন্য অগ্রিম ধন্যবাদ!