ব্যক্তিগত রুট ধরে রাখুন এবং রিডাইরেক্ট বাদ দিন: OpenVPN-এর বিভাজিত টানেল
শুধু ব্যক্তিগত নেটওয়ার্কের টানেলে দুটি নিয়ম লাগে: ব্যক্তিগত প্রিফিক্সগুলি এর মধ্য দিয়ে যায়, সাধারণ ব্রাউজিং তার স্থানীয় পথ ধরে রাখে। ডিফল্ট রুট মুছে ফেলা কোনো নীতি নয়।
টানেল উঠে আসে, অ্যাপ্লিকেশন লোড হয়, আর তারপর ল্যাপটপের বাকি সব কিছু অদ্ভুত আচরণ করতে শুরু করে। একটি লাইন মুছে ফেলে বাস্তবায়িত শুধু-ব্যক্তিগত নীতির এটি স্বাভাবিক চেহারা। পুশ করা ডিফল্ট রুট সরানো সত্যিই বদলায় ট্রাফিক কোথায় যায়, কিন্তু এটি বলে না ট্রাফিকের বদলে কোথায় যাওয়া উচিত, এবং নাম রিজলিউশনে একেবারেই হাত দেয় না। পরীক্ষা করার আগে একটি নীতির দুটি ইতিবাচক অর্ধেক দরকার।
রিডাইরেক্ট মুছে ফেলা পরিবর্তনের কেবল অর্ধেক
সম্পূর্ণ-টানেল রিডাইরেক্ট আর শুধু-ব্যক্তিগত নীতি পৃথিবী সম্পর্কে যা দাবি করে তাতে আলাদা। রিডাইরেক্ট প্রতিটি গন্তব্যের দাবি করে, আর ব্যক্তিগত নীতি একটি তালিকার দাবি করে এবং বাকিটা নিজের মতো থাকতে দেয়। তালিকা না লিখে দাবিটি মুছে ফেললে এমন ক্লায়েন্ট তৈরি হয় যা স্থানীয় নেটওয়ার্কের বাইরে কিছুই পৌঁছায় না, যা নীতির ফাঁক নয় বরং রাউটিং ব্যর্থতার মতো দেখায়। দাবি সরানোর আগে তালিকাটি লিখুন, তাহলে ওই দুটি ধাপের ক্রম আর গুরুত্বপূর্ণ থাকে না।
দুটি অর্ধেকই ডিফল্ট নয়, প্রয়োজন। ব্যক্তিগত প্রিফিক্সগুলিকে টানেলে ঢুকতে হবে, আর সাধারণ গন্তব্যগুলিকে সংযোগের আগে যে পথ ছিল তা ধরে রাখতে হবে।
সংস্থা যদি সম্পূর্ণ টানেল বাধ্যতামূলক করে, তবে এর কিছুই প্রযোজ্য নয়। শুধু-ব্যক্তিগত নকশাটি সেই সব স্থাপনার জন্য যেখানে বিভাজিত রাউটিং অনুমোদিত।
pull-filter একটি মিল, সুইচ নয়
pull-filter নির্দেশটি এমন পুশ করা অপশন সরায় যাদের নাম একটি প্রিফিক্সের সঙ্গে মেলে, আর এটুকুই করে। রিডাইরেক্ট উপেক্ষা করলে বাকি প্রতিটি পুশ করা অপশন জায়গায় থাকে, যা সাধারণত আপনিই চান: রুট, DNS সেটিংস আর রুট-গেটওয়ে মান সবই আসে। এটি স্থানীয় প্রোফাইলে লেখা নির্দেশও সরাতে পারে না, কারণ ফিল্টারিং সার্ভার যা পুশ করে তার ওপর প্রযোজ্য।
route দিয়ে শুরু হওয়া প্রতিটি অপশন উপেক্ষা করার প্রলোভন প্রতিরোধ করুন। ওই ধাঁচটি সংযোগের প্রয়োজনীয় ব্যক্তিগত রুটগুলিও বাদ দেয়, এবং টানেল যে গেটওয়ে তথ্যের ওপর নির্ভর করে তা হারাতে পারে।
route-nopull দেখতে যতটা, তার চেয়ে বড় সিদ্ধান্ত। এটি ক্লায়েন্টকে পুশ করা রুট আর DHCP-ধাঁচের অপশন একসঙ্গে গ্রহণ করা থেকে থামায়, যা একটি অপশন ফিল্টার করার চেয়ে ভিন্ন নীতি।
অ্যাপ্লিকেশন থেকে বাইরের দিকে রুট তালিকা লিখুন
ব্যবহারকারী আসলে যা খোলেন তা দিয়ে শুরু করুন, তারপর সহায়ক অংশগুলি যোগ করুন। 10.60.20.15-এ থাকা একটি অ্যাপ্লিকেশন তার সাবনেট 10.60.0.0/16 বোঝায়, আর একটি ব্যক্তিগত নাম সেটির উত্তরদাতা রিজলভারকে বোঝায়। তাই যে ব্যবহারকারী একটি অ্যাপ্লিকেশন চেয়েছেন তার দুটি গন্তব্য আর একটি DNS সিদ্ধান্ত দরকার। ওই তালিকার বাইরের সব কিছু গঠনগতভাবেই পরিধির বাইরে, আর এটাই নীতিটিকে পর্যালোচনাযোগ্য রাখে।
সহযোগী সার্ভারে সেগুলি দুটি পুশ করা রুট হয়ে যায়, আর তাদের একটিও রিডাইরেক্ট নয়। বিদ্যমান পরিষেবা যে টানেল টপোলজি আর রুট-গেটওয়ে মান দেয় তা ধরে রাখুন।
কেবল কিছু ব্যবহারকারীর এই নীতি দরকার হলে এটি প্রতি ক্লায়েন্ট বা প্রতি গ্রুপে প্রয়োগ করুন। একটি দলের প্রয়োজন মেটাতে সবার রাউটিং বদলানোই বিভাজিত টানেলকে বিভ্রাটে পরিণত করার উপায়।
| Destination | Intended path |
|---|---|
10.60.0.0/16 | Tunnel, for the approved application services |
10.61.0.53/32 | Tunnel, to reach the internal resolver |
corp.example queries | Internal resolver, selected per namespace |
| Everything else | Local path and local resolver |
DNS-কে একই পথ নিতে দিন
রিজলভারের দিকে রুট কোনো রিজলভার নীতি নয়। systemd-resolved ক্লায়েন্টে শব্দার্থিক ফল হল ব্যক্তিগত নামস্থানের জন্য একটি রাউটিং ডোমেইন যা অভ্যন্তরীণ রিজলভারের দিকে নির্দেশ করে, আর এটাই কেবল ওই নামগুলিকে এটি ব্যবহার করায়। উইন্ডোজ ক্লায়েন্টের বরং নিজস্ব নামস্থান নীতি কৌশল দরকার। প্রোফাইলে একটি DNS সার্ভার লাইন নিজে থেকে এর কোনোটিই ইনস্টল করে না।
প্রোফাইল যা চেয়েছে তা নয়, অপারেটিং সিস্টেম কী বেছে নিয়েছে তা দেখুন। লিনাক্সে resolvectl status প্রতি-লিঙ্ক ডোমেইন আর সার্ভার দেখায়; উইন্ডোজে নামস্থান নীতি সারণিই সমতুল্য প্রমাণ।
রিজলভারকে টানেলের মধ্য দিয়ে পৌঁছানোযোগ্য রাখুন, নইলে নীতি এমন ঠিকানার দিকে যায় যা জিজ্ঞাসা করা যায় না। টানেল যে রিজলভার ঠিকানায় পৌঁছাতে পারে না, তা কাজ করা নীতিকে সময়-সীমায় পরিণত করে।
পুনঃসংযোগে দুটি অর্ধেকই যাচাই করুন
পরিবর্তনের পরে ক্লায়েন্ট আবার সংযোগ করুন এবং ব্যক্তিগত ঠিকানা ও সার্বজনীন ঠিকানার কার্যকর রুট দেখুন। তারপর একটি ব্যক্তিগত নাম আর একটি সার্বজনীন নাম রিজলভ করুন এবং প্রত্যেকে অভীষ্ট রিজলভার ব্যবহার করেছে তা নিশ্চিত করুন। একটি সার্বজনীন ওয়েবসাইট লোড হওয়া কেবল দ্বিতীয় অর্ধেকটি প্রমাণ করে, আর সাধারণত ওই অর্ধেকটাই দৈবক্রমে কাজ করে।
সমাপ্ত নীতিটি এক বাক্যে লিখে রাখুন: এই প্রিফিক্স আর নামগুলি এই সংযোগ ব্যবহার করে, বাকি সব স্থানীয় পথ অনুসরণ করে। তারপর প্রতিটি লগইনের পরে অ্যাডাপ্টার সেটিংস সারানোর বদলে এটি প্রোফাইলে রাখুন।