কীভাবে আমি একটি ওপেনভিপিএন নেটওয়ার্কের মাধ্যমে টিসিপি সংযোগ হিমায়িত প্রতিরোধ করব?


19

এই প্রশ্নের শেষে নতুন বিবরণ যুক্ত করা হয়েছে; এটা সম্ভব যে আমি কারণটি শূন্য করছি।

আমার কাছে একটি ইউডিপি ওপেনভিপিএন-ভিত্তিক ভিপিএন tapমোডে সেট আপ হয়েছে ( tapমাল্টিকাস্ট প্যাকেটগুলি পাস করার জন্য আমার ভিপিএন দরকার বলে আমার দরকার, যা tunনেটওয়ার্কগুলির মাধ্যমে সম্ভব বলে মনে হয় না ) ইন্টারনেট জুড়ে মুষ্টিমেয় ক্লায়েন্টের সাথে। আমি ঘন ঘন টিসিপি সংযোগটি ভিপিএন এর উপর দিয়ে স্থির হয়ে যাওয়ার অভিজ্ঞতা পেয়েছি। এটি হ'ল, আমি একটি টিসিপি সংযোগ স্থাপন করব (যেমন একটি এসএসএইচ সংযোগ, তবে অন্যান্য প্রোটোকলগুলির মধ্যে একই সমস্যা রয়েছে), এবং সেশনের সময় মনে হয় যে এই টিসিপি অধিবেশনটি দিয়ে ট্র্যাফিক ট্রান্সমিশন বন্ধ হয়ে যাবে।

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

fragment 1400
mssfix

এটি ভিপিএন-তে ব্যবহৃত এমটিইউকে 1400 বাইটের মধ্যে সীমাবদ্ধ করা উচিত এবং এর চেয়ে বড় কোনও প্যাকেটের জেনারেশন রোধ করতে টিসিপি সর্বাধিক সেগমেন্টের আকার ঠিক করতে হবে। এতে সমস্যাটি কিছুটা প্রশমিত হবে বলে মনে হয় তবে আমি এখনও প্রায়শই হিমশীতল দেখতে পাই। আমি fragmentদিকনির্দেশের পক্ষে আর্গুমেন্ট হিসাবে অনেকগুলি আকার চেষ্টা করেছি : 1200, 1000, 576, সমস্ত অনুরূপ ফলাফল সহ। আমি দুটি প্রান্তের মধ্যে এমন কোনও অদ্ভুত নেটওয়ার্ক টপোলজির কথা ভাবতে পারি না যা এই জাতীয় সমস্যাটিকে ট্রিগার করতে পারে: ভিপিএন সার্ভারটি ইন্টারনেটের সাথে সরাসরি সংযুক্ত একটি পিএফএসেন্স মেশিনে চলছে এবং আমার ক্লায়েন্টটি অন্য কোনও স্থানে সরাসরি ইন্টারনেটের সাথে সংযুক্ত রয়েছে।

ধাঁধাটির আর একটি অদ্ভুত অংশ: আমি যদি tracepathইউটিলিটিটি চালাই তবে তা সমস্যাটিকে ব্যান্ড-এইড বলে মনে হচ্ছে। একটি নমুনা রান দেখতে দেখতে:

[~]$ tracepath -n 192.168.100.91
 1:  192.168.100.90                                        0.039ms pmtu 1500
 1:  192.168.100.91                                       40.823ms reached
 1:  192.168.100.91                                       19.846ms reached
     Resume: pmtu 1500 hops 1 back 64 

উপরের রানটি ভিপিএন-তে দুটি ক্লায়েন্টের মধ্যে রয়েছে: আমি 192.168.100.90এর গন্তব্য পর্যন্ত ট্রেসটি শুরু করেছিলাম 192.168.100.91fragment 1200; mssfix;লিঙ্কে ব্যবহৃত এমটিইউ সীমাবদ্ধ করার প্রয়াসে উভয় ক্লায়েন্টই কনফিগার করা হয়েছিল। উপরের ফলাফলগুলি মনে হয় যে tracepathদুটি ক্লায়েন্টের মধ্যে 1500 বাইটের একটি পাথ এমটিইউ সনাক্ত করতে সক্ষম হয়েছিল। আমি ধরে নেব যে ওপেনভিপিএন কনফিগারেশনে উল্লিখিত খণ্ডিত সেটিংসের কারণে এটি কিছুটা ছোট হবে। আমি ফলাফল কিছুটা অদ্ভুত।

এমনকি অপরিচিত, তবে: যদি স্থবির অবস্থায় আমার কাছে একটি টিসিপি সংযোগ থাকে (যেমন মাঝখানে জমা হওয়া ডিরেক্টরি সহ একটি এসএসএইচ সেশন), তবে উপরে প্রদর্শিত কমান্ডটি কার্যকর করার tracepathফলে সংযোগটি আবার শুরু হওয়ার কারণ হয়ে যায় ! কেন এটি হবে সে সম্পর্কে আমি কোনও যুক্তিসঙ্গত ব্যাখ্যা বের করতে পারছি না, তবে আমি মনে করি এটি শেষ পর্যন্ত সমস্যাটি নির্মূল করার কোনও সমাধানের দিকে ইঙ্গিত করছে ting

অন্যান্য জিনিস চেষ্টা করার জন্য কারও কি কোনও সুপারিশ রয়েছে?

সম্পাদনা করুন: আমি ফিরে এসে এটিকে আরও খানিকটা দেখেছি এবং কেবল আরও বিভ্রান্তিকর তথ্য পেয়েছি:

  • ওপেনভিপিএন সংযোগটি উপরে দেখানো হিসাবে 1400 বাইটে টুকরো টুকরোতে সেট করেছি। তারপরে, আমি ইন্টারনেট জুড়ে ভিপিএন এর সাথে সংযুক্ত হয়েছি এবং স্টলটি সংঘটিত হওয়ার সময় ভিপিএন সার্ভারে প্রেরিত ইউডিপি প্যাকেটগুলি দেখার জন্য ওয়্যারশার্ক ব্যবহার করেছি। কোনও নির্দিষ্ট 1400 বাইট গণনার চেয়ে বড় নয়, সুতরাং খণ্ডটি সঠিকভাবে কাজ করছে বলে মনে হচ্ছে।

  • এমনকি একটি 1400 বাইট এমটিইউ যথেষ্ট হবে তা যাচাই করতে, আমি নিম্নলিখিত (লিনাক্স) কমান্ডটি ব্যবহার করে ভিপিএন সার্ভারটি পিন করেছি:

    ping <host> -s 1450 -M do
    

    এটি (আমি বিশ্বাস করি) ফ্র্যাগমেন্টেশন অক্ষমযুক্ত একটি 1450-বাইট প্যাকেট প্রেরণ করে (আমি কমপক্ষে যাচাই করেছি যে আমি এটি 1600 বাইটের মতো স্পষ্টত-অত্যধিক মান হিসাবে সেট করলে এটি কাজ করে না)। এগুলি ঠিক কাজ করে বলে মনে হচ্ছে; হোস্টের কাছ থেকে কোনও ইস্যু ছাড়াই জবাব পেয়েছি।

সুতরাং, সম্ভবত এটি মোটেও কোনও এমটিইউ সমস্যা নয়। আমি আর কি হতে পারে বিভ্রান্ত!

সম্পাদনা 2: খরগোশের গর্তটি আরও গভীর হতে চলেছে: আমি এখন সমস্যাটিকে আরও কিছুটা আলাদা করেছি। এটি ভিপিএন ক্লায়েন্ট যে সঠিক ওএস ব্যবহার করে তার সাথে সম্পর্কিত বলে মনে হচ্ছে। আমি কমপক্ষে তিনটি উবুন্টু মেশিনে সমস্যাটি সফলভাবে নকল করেছি (সংস্করণ 12.04 থেকে 13.04 এর মধ্যে)। আমি catএকটি বড় লগ ফাইল সন্ধান করে এক মিনিট বা তার মধ্যে এসএসএইচ সংযোগ স্থির করে বিশ্বস্ততার সাথে নকল করতে পারি ।

তবে , আমি যদি ক্লায়েন্ট হিসাবে সেন্টোস 6 মেশিন ব্যবহার করে একই পরীক্ষা করি, তবে আমি সমস্যাটি দেখছি না! আমি উবুন্টু মেশিনে যেমন ব্যবহার করছিলাম ঠিক তেমন একই ওপেনভিপিএন ক্লায়েন্ট সংস্করণটি ব্যবহার করে পরীক্ষা করেছি। আমি catসংযোগ হিমশীতল না দেখে কয়েক ঘন্টা ফাইলগুলি লগ করতে পারি । এটি চূড়ান্ত কারণ হিসাবে কিছু অন্তর্দৃষ্টি প্রদান করে বলে মনে হচ্ছে তবে আমি অন্তর্দৃষ্টি কী তা নিশ্চিত sure

আমি ভিপিএনএন দিয়ে ওয়্যারশার্ক ব্যবহার করে ট্র্যাফিক পরীক্ষা করেছি। আমি কোনও টিসিপি বিশেষজ্ঞ নই, তাই গোরীর বিবরণগুলি কীভাবে তৈরি করা যায় তা সম্পর্কে আমি নিশ্চিত নই, তবে মূল বক্তব্যটি হ'ল কোনও সময়, ইউডিপি প্যাকেটটি ইন্টারনেট লিঙ্কের সীমিত ব্যান্ডউইথের কারণে ফেলে দেওয়া হয়, যার ফলে টিসিপি অভ্যন্তরে পুনঃস্থাপনের কারণ হয়ে থাকে ভিপিএন টানেল CentOS ক্লায়েন্টে, এই পুনঃপ্রেরণগুলি সঠিকভাবে ঘটে এবং জিনিসগুলি আনন্দের সাথে চলে। উবুন্টু ক্লায়েন্টদের সাথে এক পর্যায়ে, যদিও, দূরবর্তী প্রান্তটি একই টিসিপি বিভাগকে বারবার পুনঃপ্রেরণ শুরু করে (প্রতিটি প্রতিস্থাপনের মধ্যে সংক্রমণে বিলম্ব বাড়ায়)। ক্লায়েন্টটি প্রতিটি প্রতিস্থাপনে বৈধ টিসিপি এসি-র মতো দেখতে প্রেরণ করে, তবে রিমোট প্রান্তটি এখনও পর্যায়ক্রমে একই টিসিপি বিভাগকে প্রেরণ করে চলেছে। এটি বিজ্ঞাপন ইনফিনিটাম এবং সংযোগের স্টলগুলিকে প্রসারিত করে। আমার প্রশ্নটি এখানে হবে:

  • কীভাবে সমস্যা সমাধান এবং / বা টিসিপি ইস্যুটির মূল কারণ নির্ধারণ করার জন্য কোনও সুপারিশ আছে? দেখে মনে হচ্ছে দূরবর্তী প্রান্তটি ভিপিএন ক্লায়েন্টের দ্বারা প্রেরিত এসকে বার্তাগুলি গ্রহণ করছে না।

সেন্টোস নোড এবং বিভিন্ন উবুন্টু রিলিজের মধ্যে একটি সাধারণ পার্থক্য হ'ল উবুন্টুর আরও সাম্প্রতিক লিনাক্স কার্নেল সংস্করণ রয়েছে (উবুন্টুতে ৩.২ থেকে ১৩.০৪-তে ৩.৮ পর্যন্ত)। কিছু নতুন কার্নেল বাগের পয়েন্টার হতে পারে? আমি ধরে নিচ্ছি যে যদি তা হয় তবে আমি কেবল সমস্যাটিই অনুভব করতাম না; এটি বিশেষত বিদেশী সেটআপের মতো বলে মনে হয় না।


মাল্টিকাস্ট প্যাকেটগুলি কোনও tunনেটওয়ার্কের উপর দিয়ে রাউটিং করা মাল্টিকাস্ট রাউটিং ডেমনগুলি চালানো (যেমন পিমড ) এর মাধ্যমে এবং ওপেনভিপিএন সার্ভারকে --topology"সাবনেট"-এ সেট বিকল্পগুলি ব্যবহার করে ম্যানুয়ালটি দেখুন
কোস্টিক্স

ভিপিএন ক্লায়েন্ট বা সার্ভার এই সমস্যাগুলির সময় লগগুলিতে কিছু ইঙ্গিত করে?
মিগ্রোর্ভেন

@ এমগোর্ভেন: অবশ্যই ক্লায়েন্টের উপরে নেই। সার্ভার লগগুলি পেতে আমাকে কিছু কাজ করতে হবে।
জেসন আর

@ এমগ্রোভেন: অবশেষে আমার এইটিতে ফিরে আসার সুযোগ হয়েছিল। ক্লায়েন্ট বা সার্ভারে কিছুই হয় না যখন লগ হয়। এটা সত্যিই হতবাক।
জেসন আর

1
এমন কি কোনও সম্ভাবনা আছে যে ক্লায়েন্টদের জমা করা আছে তাদের ফায়ারওয়াল রয়েছে যা আইসিএমপি-ফ্রেগমেন্টেশন-প্রয়োজনীয় প্যাকেটগুলি ফেলেছে, যেখানে সেগুলি নেই, না, এবং তাই সঠিকভাবে খণ্ড খণ্ডিত হচ্ছে?
ম্যাডহ্যাটার মনিকে

উত্তর:


10

এই আদেশটি আমার জন্য এটি সমাধান করে:

$ sudo ip link set dev tun0 mtu 1350 && echo ":)"

আপনি এর সাথে টিউন সেটিংস যাচাই করতে পারেন

$ ip a s

চিয়ার্স!


ক্লায়েন্ট বা সার্ভার-সাইডে ??
ম্যাট

অনেক ধন্যবাদ! @ ম্যাট, সমস্যাটি কোথায় রয়েছে তা নির্ভর করে। আমাদের জন্য এটি সার্ভারে ছিল, তবে এটি ক্লায়েন্টের পক্ষে থাকতে পারে। এছাড়াও মানটি পৃথক হতে পারে, আপনি ping <host> -s 1350 -M doসঠিক মানটি পরীক্ষা করতে পারেন
Eino Gurdin

2

টিসিপিতে উইন্ডো স্কেলিং অক্ষম করুন:

sysctl -w net.ipv4.tcp_window_scaling=0

এটি করার পরে, এসপিএইচ থেকে ডেবিয়ান / উবুন্টু সিস্টেম ওভার ভিপিএন আমার পক্ষে ভাল কাজ করছে।


0

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


-1

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

আপডেট 1 এখানে দেখুন: কীভাবে এসএসএইচ একটি ক্লায়েন্ট সংযোগে একটি ওপেনভিএনএন ক্লায়েন্টের উপরে জমাট বাঁধবে

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