একজন ক্লায়েন্ট জানায় যে টানেল সংযুক্ত হয়, পিং উত্তর দেয়, লগইন পাতা লোড হয়, আর তারপর প্রতিটি চেষ্টায় একই স্থানে স্থানান্তরটি জমে যায়। এই ধরনটি আগেই অনেক কথা বলে: পৌঁছানো কাজ করে, টেকসই থ্রুপুট করে না। ফায়ারওয়াল খোলার আগে খুঁজে দেখুন VPN আদৌ এই ব্যর্থতায় অংশ নিচ্ছে কি না। একই গেটওয়ে দিয়ে পথে কোনো টানেল ছাড়াই বড় TCP পাঠান; যদি সেটিও জমে যায়, তবে OpenVPN কখনোই জড়িত ছিল না।

virtio নেটওয়ার্ক কার্ড ব্যবহার করা একটি pfSense গেস্টের ঠিক এই আকারেই ব্যর্থ হওয়ার খুব ভালো কারণ আছে।

ছোট প্যাকেট পার হয়, ভারী TCP আটকে যায়

হ্যান্ডশেক, DNS উত্তর ও ICMP প্রতিধ্বনি ছোট এবং সাধারণত পার হয়। টেকসই স্থানান্তর গেস্টকে খণ্ডিত করতে বাধ্য করে, আর খণ্ডনের জায়গাতেই ক্ষতিগ্রস্ত অফলোড পথ প্রকাশ পায়। ত্রুটিকে প্রতিসম হতে হবে না: বহির্গামী পরিচ্ছন্ন থাকতে পারে অথচ অন্তর্গামী পড়ে যায়, বা উল্টোটা, তাই একজন ব্যবহারকারী লগইন করে তারপর প্রথম বড় প্রতিক্রিয়ায় আটকে যেতে পারেন। যেহেতু একই ক্লায়েন্ট অন্য গেটওয়ে দিয়ে কাজ করে, দোষটি নতুনতম উপাদানের উপর পড়ে।

তাই টানেল ছাড়াই গেটওয়েটি পরীক্ষা করুন। কয়েক সেকেন্ড চলার মতো যথেষ্ট বড় একটি LAN-থেকে-WAN ডাউনলোডই যথেষ্ট, এবং এটি যেকোনো সেটিংস পরিবর্তনের আগে করতে হবে যাতে পরের তুলনাটি অর্থবহ হয়।

অফলোড আসলে কী প্রতিশ্রুতি দেয়

virtio প্যারাভার্চুয়াল: হোস্ট ও গেস্ট কাজ ভাগ করে, হোস্ট চেকসাম ও খণ্ডন ক্ষমতা ঘোষণা করে এবং গেস্ট তার শুরু করা কাজ শেষ করবে বলে আশা করে। গেস্টের স্ট্যাক যদি তা না করে, ফ্রেমগুলো অসম্পূর্ণ চেকসাম নিয়ে বের হয় বা হোস্ট কর্তৃক বাতিল হয়। এমুলেটেড E1000 আরও সরল ও ধীর মডেল দেয়, যেখানে pfSense-এ একটিও পরিবর্তন ছাড়াই সমস্যাটি বিলীন হয়ে যায়। ক্ষমতা আলোচনা প্রতিটি ডিভাইসে আলাদাভাবে হয়, যার ব্যাখ্যা হলো কেন একটি গেস্ট মাসের পর মাস চলে আর তার পুনর্নির্মিত যমজ প্রথম দিনেই ব্যর্থ হয়।

আলোচিত সেটটি হাইপারভাইজার সংস্করণ ও নির্বাচিত NIC মডেলের উপর নির্ভর করে, শুধু আপনার আমদানি করা কনফিগারেশনের উপর নয়।

একটি চেকবক্স virtio ধরে রাখে

pfSense ইন্টারফেসে সিস্টেম তারপর উন্নত তারপর নেটওয়ার্কিং-এ হার্ডওয়্যার চেকসাম অফলোড নিষ্ক্রিয় করুন নামের একটি চেকবক্স আছে। এটি চিহ্নিত করলে গেস্ট সফটওয়্যারে চেকসাম গণনা করে, যা pfSense-এর পেছনের FreeBSD স্ট্যাক প্যারাভার্চুয়াল ডিভাইস থেকে যা আশা করে তার সঙ্গে মেলে। একই পাতার দুটি সম্পর্কিত অপশন হার্ডওয়্যার TCP খণ্ডন অফলোড ও হার্ডওয়্যার বড় গ্রহণ অফলোড কভার করে। হ্যান্ডশেক সফল হয় কিন্তু ভারী স্থানান্তর হয় না—এমন ক্ষেত্রে এগুলোর দিকে যান।

পরিবর্তনটি করার সময় NIC-কে virtio হিসেবেই রাখুন। E1000-এ যাওয়া VM-এর পুরো জীবদ্দশায় প্রতিটি প্যাকেটে CPU পোড়ায় এবং হোস্ট উত্তরাধিকারসূত্রে পাওয়া যে কেউ থেকে কনফিগারেশন সমস্যাটি লুকায়, আর এটি সামান্য ধীর কিন্তু অনুমানযোগ্য ডেটাপথের চেয়ে খারাপ বিনিময়।

এইমাত্র যে খরচ স্বীকার করলেন তা মাপুন

সফটওয়্যার চেকসামিং কাজটি গেস্টের ভেতরে সরিয়ে দেয়, তাই কিছুই খরচ হয় না ধরে নেওয়ার বদলে পরে থ্রুপুট মাপুন। ছোট VM-এ শাস্তিটি সত্যিই আছে, তবু এটি দৃশ্যমান ও স্থির, নীরব পতনের বিপরীতে। আগে ও পরে ইন্টারফেস ত্রুটি কাউন্টার এবং গেস্টের কার্নেল লগ তুলনা করুন। ব্রিজ ফিল্টার করা হাইপারভাইজার ভিন্ন প্রমাণসহ আলাদা ত্রুটি, আর কোনো অফলোড পতাকা তা সারাবে না।

প্রতি পরীক্ষায় একটি জিনিস বদলান এবং মেনু পথ, যে বাক্সে টিক দিলেন এবং যে সংখ্যা মাপলেন তা লিখে রাখুন। পরবর্তী পুনর্নির্মিত গেস্টের মুখোমুখি যে-ই হোক, তিনটিই চাইবে।

BSD-ভিত্তিক অন্য ফায়ারওয়ালগুলো নিজেদের ইন্টারফেস সেটিংসে সমতুল্য নিয়ন্ত্রণ দেয়, তাই মেনু পথ না মিললেও যুক্তিটি প্রযোজ্য।

সম্পর্কিত নিবন্ধ