ওয়্যারগার্ড ভিপিএন – সমস্যা সমাধান
এরপরে, আমরা “init” (মূল) নেমস্পেসে একটি ওয়্যারগার্ড ইন্টারফেস তৈরি করি:
টরগার্ডস আইপি চেকার
সমস্ত লিনাক্স নেটওয়ার্ক ইন্টারফেসের মতো, ওয়্যারগার্ড নেটওয়ার্ক নেমস্পেস অবকাঠামোতে সংহত করে. এর অর্থ কোনও প্রশাসকের বেশ কয়েকটি সম্পূর্ণ আলাদা নেটওয়ার্কিং সাবসিস্টেম থাকতে পারে এবং প্রতিটি মধ্যে কোন ইন্টারফেস থাকে তা চয়ন করতে পারে.
ওয়্যারগার্ড বেশ আকর্ষণীয় কিছু করে. যখন একটি ওয়্যারগার্ড ইন্টারফেস তৈরি করা হয় (আইপি লিঙ্কের সাথে ডাব্লুজি 0 টাইপ ওয়্যারগার্ড যুক্ত করুন), এটি এটি তৈরি করা হয়েছিল এমন নেমস্পেসের কথা মনে পড়ে. “আমি নেমস্পেস এ তৈরি করা হয়েছিল.”পরে, ওয়্যারগার্ডকে নতুন নেমস্পেসে স্থানান্তরিত করা যেতে পারে (” আমি নেমস্পেস বিতে চলেছি.”), তবে এটি এখনও মনে রাখবেন যে এটি নেমস্পেস এ -তে উদ্ভূত হয়েছিল.
ওয়্যারগার্ড এনক্রিপ্ট করা প্যাকেটগুলি প্রেরণ এবং গ্রহণের জন্য একটি ইউডিপি সকেট ব্যবহার করে. এই সকেট সর্বদা নেমস্পেসে বাস – আসল জন্মস্থান নেমস্পেস. এটি কিছু খুব শীতল সম্পত্তি জন্য অনুমতি দেয়. যথা, আপনি একটি নেমস্পেসে (ক) ওয়্যারগার্ড ইন্টারফেস তৈরি করতে পারেন, এটি অন্য (খ) এ স্থানান্তর করতে পারেন, এবং নামস্পেস বি থেকে প্রেরিত ক্লিয়ারটেক্সট প্যাকেটগুলি নামস্পেস এ -তে একটি ইউডিপি সকেটের মাধ্যমে এনক্রিপ্ট করা প্রেরণ করতে পারেন.
(দ্রষ্টব্য যে এই একই কৌশলটি ব্যবহারকারীস্পেস টিউন-ভিত্তিক ইন্টারফেসগুলির জন্য উপলব্ধ, একটি নেমস্পেসে একটি সকেট ফাইল-ডেসক্রিপ্টর তৈরি করে, অন্য একটি নেমস্পেসে পরিবর্তন করার আগে এবং পূর্ববর্তী নামস্পেস থেকে ফাইল-ডেসক্রিপ্টরটি খোলা রাখার আগে.)
এটি কিছু খুব সুন্দর সম্ভাবনা খোলে.
সাধারণ ধারক
এর সর্বাধিক সুস্পষ্ট ব্যবহার হ’ল পাত্রে দেওয়া (যেমন ডকারের পাত্রে, উদাহরণস্বরূপ) একটি ওয়্যারগার্ড ইন্টারফেসটি এর একমাত্র ইন্টারফেস হিসাবে.
ধারক # আইপি অ্যাডার 1: এলও: এমটিইউ 65536 কিউডিস্ক নোক্যু স্টেট অজানা গ্রুপ ডিফল্ট ডিফল্ট Qlen 1 লিঙ্ক/লুপব্যাক 00: 00: 00: 00: 00 বিআরডি 00: 00: 00: 00: 00 ইনেট 127.0.0.1/8 স্কোপ হোস্ট লো বৈধ_লফট চিরকাল পছন্দ.168.4.33/32 স্কোপ গ্লোবাল ডাব্লুজি 0 বৈধ_লফ্ট চিরকালের জন্য পছন্দসই_লফ্ট চিরকাল
এখানে, সম্ভাব্য নেটওয়ার্ক অ্যাক্সেস করার একমাত্র উপায় হ’ল ডাব্লুজি 0, ওয়্যারগার্ড ইন্টারফেসের মাধ্যমে.
এর মতো একটি সেটআপ সম্পাদনের উপায় নিম্নরূপ:
প্রথমে আমরা “ধারক” নামে পরিচিত নেটওয়ার্ক নেমস্পেস তৈরি করি:
# আইপি নেটগুলি ধারক যুক্ত করে
এরপরে, আমরা “init” (মূল) নেমস্পেসে একটি ওয়্যারগার্ড ইন্টারফেস তৈরি করি:
# আইপি লিঙ্কটি ডাব্লুজি 0 টাইপ ওয়্যারগার্ড যুক্ত করুন
শেষ অবধি, আমরা সেই ইন্টারফেসটিকে নতুন নেমস্পেসে স্থানান্তরিত করি:
# আইপি লিঙ্ক সেট ডাব্লুজি 0 নেটন কনটেইনার
এখন আমরা ডাব্লুজি 0 কে যথারীতি কনফিগার করতে পারি, যদি না আমরা এর নতুন নেমস্পেসটি এটি করার ক্ষেত্রে নির্দিষ্ট করি:
# আইপি -এন কনটেইনার অ্যাডার যুক্ত করুন 192.168.4.33/32 দেব ডাব্লুজি 0 # আইপি নেটএনএস এক্সিকিউট কনটেইনার ডাব্লুজি সেটকনফ ডাব্লুজি 0/ইত্যাদি/ওয়্যারগার্ড/ডাব্লুজি 0.কনফার
এবং ভয়েলা, এখন “ধারক” এর জন্য কোনও নেটওয়ার্ক সংস্থান অ্যাক্সেস করার একমাত্র উপায় ওয়্যারগার্ড ইন্টারফেসের মাধ্যমে হবে.
নোট করুন যে ডকার ব্যবহারকারীরা নেটওয়ার্ক নেমস্পেসের নামের পরিবর্তে ডকার প্রক্রিয়াটির পিআইডি নির্দিষ্ট করতে পারেন, ডকার ইতিমধ্যে তার ধারকটির জন্য তৈরি করা নেটওয়ার্ক নেমস্পেসটি ব্যবহার করতে:
# আইপি লিঙ্ক সেট ডাব্লুজি 0 নেটনস 879
আপনার সমস্ত ট্র্যাফিক রাউটিং
একটি কম সুস্পষ্ট ব্যবহার, তবে তবুও অত্যন্ত শক্তিশালী, ওয়্যারগার্ডের এই বৈশিষ্ট্যটি ওয়্যারগার্ডের উপরে আপনার সমস্ত সাধারণ ইন্টারনেট ট্র্যাফিক পুনর্নির্দেশের জন্য ব্যবহার করা. তবে প্রথমে আসুন এটি করার জন্য পুরানো সাধারণ সমাধানগুলি পর্যালোচনা করুন:
ক্লাসিক সমাধান
ক্লাসিক সমাধানগুলি বিভিন্ন ধরণের রাউটিং টেবিল কনফিগারেশনের উপর নির্ভর করে. এই সমস্তগুলির জন্য, আমাদের প্রকৃত ওয়্যারগার্ড এন্ডপয়েন্টের জন্য কিছু সুস্পষ্ট রুট সেট করতে হবে. এই উদাহরণগুলির জন্য, আসুন ধরে নেওয়া যাক ওয়্যারগার্ড এন্ডপয়েন্টটি ডেমো.ওয়্যারগার্ড.কম, যা লেখার মতো, 163 এ সমাধান করে.172.161.0 . আরও, আসুন ধরে নেওয়া যাক আমরা সাধারণত ETH0 এবং 192 এর ক্লাসিক গেটওয়ে ব্যবহার করে ইন্টারনেটে সংযোগ করি.168.1.1 .
ডিফল্ট রুট প্রতিস্থাপন
সর্বাধিক সোজা কৌশলটি হ’ল কেবল ডিফল্ট রুটটি প্রতিস্থাপন করা, তবে ওয়্যারগার্ডের শেষ পয়েন্টের জন্য একটি সুস্পষ্ট নিয়ম যুক্ত করুন:
# আইপি রুট ডেল ডিফল্ট # আইপি রুটটি ডিফল্ট ডাব্লুজি 0 # আইপি রুট যুক্ত করুন 163 যুক্ত করুন.172.161.0/32 192 এর মাধ্যমে.168.1.1 দেব এথ 0
এটি কাজ করে এবং তুলনামূলকভাবে সোজা, তবে ডিএইচসিপি ডেমনস এবং যেমন আমরা যা করেছি তা পূর্বাবস্থায় ফিরিয়ে আনতে পছন্দ করে, দুর্ভাগ্যক্রমে.
ডিফল্ট রুট ওভাররাইডিং
সুতরাং, ডিফল্ট রুটটি প্রতিস্থাপনের পরিবর্তে, আমরা কেবল এটি আরও দুটি নির্দিষ্ট নিয়ম দিয়ে ওভাররাইড করতে পারি যা ডিফল্টটিতে যোগ করে যুক্ত করে, তবে ডিফল্টর আগে মেলে:
# আইপি রুট 0 যুক্ত করুন.0.0.0/1 দেব ডাব্লুজি 0 # আইপি রুট 128 যুক্ত করুন.0.0.0/1 দেব ডাব্লুজি 0 # আইপি রুট 163 যুক্ত করুন.172.161.0/32 192 এর মাধ্যমে.168.1.1 দেব এথ 0
এইভাবে, আমরা ডিফল্ট রুটটি ক্লোবার করি না. এটিও বেশ ভাল কাজ করে, যদিও দুর্ভাগ্যক্রমে যখন এথ 0 উপরে এবং নীচে যায়, ডেমোর জন্য সুস্পষ্ট রুট.ওয়্যারগার্ড.কম ভুলে যাবে, যা বিরক্তিকর.
নিয়ম-ভিত্তিক রাউটিং
কিছু লোক নিয়ম-ভিত্তিক রাউটিং এবং একাধিক রাউটিং টেবিল ব্যবহার করতে পছন্দ করে. এটি যেভাবে কাজ করে তা হ’ল আমরা ওয়্যারগার্ড রুটের জন্য একটি রাউটিং টেবিল এবং প্লেইনটেক্সট ইন্টারনেট রুটের জন্য একটি রাউটিং টেবিল তৈরি করি এবং তারপরে প্রতিটি জন্য কোন রাউটিং টেবিলটি ব্যবহার করবেন তা নির্ধারণ করতে নিয়ম যুক্ত করুন:
# আইপি বিধি 163 এ যুক্ত করুন.172.161.0 লুকআপ মেইন প্রিফ 30 # আইপি বিধি সমস্ত লুকআপে যুক্ত করুন 80 প্রিফ 40 # আইপি রুট ডিফল্ট ডাব্লুজি 0 টেবিল 80 যুক্ত করুন
এখন, আমরা রাউটিং টেবিলগুলি আলাদা রাখতে সক্ষম. দুর্ভাগ্যক্রমে নেতিবাচক দিকটি হ’ল সুস্পষ্ট এন্ডপয়েন্টের নিয়মগুলি এখনও যুক্ত করা দরকার, এবং ইন্টারফেসটি সরানোর সময় কোনও ক্লিনআপ নেই এবং আরও জটিল রাউটিং বিধিগুলি এখন নকল করা দরকার.
উন্নত নিয়ম-ভিত্তিক রাউটিং
পূর্ববর্তী সমাধানটি আমাদের উপর নির্ভর করে সুস্পষ্ট এন্ডপয়েন্ট আইপি যা টানেল থেকে অব্যাহতি দেওয়া উচিত, তবে ওয়্যারগার্ডের শেষ পয়েন্টগুলি ঘোরাঘুরি করতে পারে, যার অর্থ এই নিয়মটি বাসি যেতে পারে. ভাগ্যক্রমে, আমরা ওয়্যারগার্ডের ইউডিপি সকেট থেকে বেরিয়ে আসা সমস্ত প্যাকেটগুলিতে একটি fwmark সেট করতে সক্ষম হয়েছি, যা পরে টানেল থেকে অব্যাহতিপ্রাপ্ত হবে:
# ডাব্লুজি সেট ডাব্লুজি 0 এফডব্লিউমার্ক 1234 # আইপি রুটটি ডিফল্ট ডেভ ডাব্লুজি 0 টেবিল 2468 # আইপি বিধি যুক্ত করুন এফডব্লার্ক 1234 টেবিল 2468 # আইপি বিধি যুক্ত করুন টেবিলটি প্রধান দমন_প্রিফিক্সলেন্থ 0 0 যুক্ত করুন
আমরা প্রথমে ইন্টারফেসে fwmark সেট করে একটি বিকল্প রাউটিং টেবিলে একটি ডিফল্ট রুট সেট করি. তারপরে আমরা নির্দেশ করি যে এফডব্লার্ক নেই এমন প্যাকেটগুলি এই বিকল্প রাউটিং টেবিলে যেতে হবে. এবং অবশেষে আমরা স্থানীয় নেটওয়ার্ক অ্যাক্সেস করার জন্য একটি সুবিধার্থে বৈশিষ্ট্য যুক্ত করি, যার মাধ্যমে আমরা এফডব্লিউমার্ক ছাড়াই প্যাকেটগুলিকে মূল রাউটিং টেবিলটি ব্যবহার করার অনুমতি দেয়, ওয়্যারগার্ড ইন্টারফেসের রাউটিং টেবিলটি নয়, যদি এটি শূন্যের চেয়ে বেশি উপসর্গ দৈর্ঘ্যের সাথে এর কোনও রুটের সাথে মেলে, যেমন অ-ডিফল্ট স্থানীয় রুটগুলি. এটি ডাব্লুজি-কুইক (8) সরঞ্জাম দ্বারা ব্যবহৃত কৌশল.
ক্লাসিক সমাধানগুলি উন্নত করা
ওয়্যারগার্ড লেখকরা সুড়ঙ্গ ব্যবহারের কেসগুলি কভার করতে কার্নেলটিতে “নোটোইফ” নামক একটি বৈশিষ্ট্য যুক্ত করতে আগ্রহী. এটি ইন্টারফেসগুলি বলার অনুমতি দেবে “রাউটিং লুপটি এড়াতে” নিজেকে ইন্টারফেস হিসাবে ব্যবহার করে এই প্যাকেটটি রুট করবেন না “. ওয়্যারগার্ডের মতো একটি লাইন যুক্ত করতে সক্ষম হবে .ফ্লোআই 4_নোট_ওআইএফ = ডাব্লুজি 0_আইডিএক্স, এবং ইউজারস্পেস টিউন -ভিত্তিক ইন্টারফেসগুলি সেটসকোপ্ট (এফডি, এসও_নোটোইফ, টিউন 0_আইডিএক্স) এর মতো তাদের বহির্গামী সকেটে একটি বিকল্প সেট করতে সক্ষম হবে; . দুর্ভাগ্যক্রমে এটি এখনও একীভূত করা হয়নি, তবে আপনি এখানে এলকেএমএল থ্রেডটি পড়তে পারেন.
নতুন নেমস্পেস সলিউশন
দেখা যাচ্ছে যে আমরা ক্লাসিক রাউটিং টেবিল হ্যাকগুলির পরিবর্তে নেটওয়ার্ক নেমস্পেসগুলি ব্যবহার করে ওয়্যারগার্ডের মাধ্যমে সমস্ত ইন্টারনেট ট্র্যাফিক রুট করতে পারি. এইভাবে কাজ করার উপায়টি হ’ল আমরা ইন্টারফেসগুলি সরান যা ইন্টারনেটের সাথে সংযুক্ত, যেমন ETH0 বা WLAN0 এর মতো একটি নেমস্পেসে (যাকে আমরা “শারীরিক” বলি) এবং তারপরে একটি ওয়্যারগার্ড ইন্টারফেসটি “ইনিশ” নেমস্পেসে একমাত্র ইন্টারফেস হতে পারে.
প্রথমে আমরা “শারীরিক” নেটওয়ার্ক নেমস্পেস তৈরি করি:
# আইপি নেটগুলি শারীরিক যোগ করুন
এখন আমরা ETH0 এবং WLAN0 “শারীরিক” নেমস্পেসে স্থানান্তরিত করি:
# আইপি লিং
(নোট করুন যে ওয়্যারলেস ডিভাইসগুলি অবশ্যই আইডাব্লু ব্যবহার করে এবং শারীরিক ডিভাইস PHY0 নির্দিষ্ট করে সরানো উচিত .)
“ইনিশ” নেমস্পেসে কোনও ইন্টারফেস না থাকাকালীন আমাদের এখন “শারীরিক” নেমস্পেসে এই ইন্টারফেসগুলি রয়েছে:
# আইপি -এন শারীরিক লিঙ্ক 1: এলও: এমটিইউ 65536 কিউডিস্ক নুপ স্টেট ডাউন মোড ডিফল্ট গ্রুপ ডিফল্ট গ্রুপ ডিফল্ট ডিফল্ট ডিফল্ট QLEN 1 লিঙ্ক/লুপব্যাক 00: 00: 00: 00: 00 বিআরডি 00: 00: 00: 00: 00 2: 00 2: এথ 0: এমটিইউ 1500 কিউডিস্ক পিএফআইএফও_ফাস্ট স্টেট ডাউন মোড ডিফল্ট গ্রুপ ডিফল্ট গ্রুপ ডিফল্ট ডিফল্ট ডিফল্ট কিউএলএন 1000 লিঙ্ক/ইথার এবি: সিডি: ইএফ: জি 1: 23: 45 বিআরডি এফএফ: এফএফ: এফএফ: এফএফ: এফএফ: ডাব্লুএলএএন 0: এমটিইউ 1500 কিউডিস্ক এমকিউ স্টেট আপ আপ মোড সুপ্ত গোষ্ঠী ডিফল্ট QLEN 1000 লিঙ্ক/ইথার 01: 23: 45: 67: 89: এবি বিআরডি এফএফ: এফএফ: এফএফ: এফএফ: এফএফ: এফএফ # আইপি লিঙ্ক 1: এলও: এমটিইউ 65536 কিউকুই স্টেট অজানা মোড ডিফল্ট গ্রুপ ডিফল্ট গ্রুপ ডিফল্ট ক্য্লেন 1 লিঙ্ক/লুপব্যাক 00: 00: 00: 00: 00: 00 বিআরডি 00: 00: 00: 00: 00: 00
এখন আমরা সরাসরি “শারীরিক” নেমস্পেসে একটি ওয়্যারগার্ড ইন্টারফেস যুক্ত করি:
# আইপি -এন শারীরিক লিঙ্ক wg0 টাইপ ওয়্যারগার্ড যুক্ত করুন
ডাব্লুজি 0 এর জন্মস্থান নেমস্পেসটি এখন “শারীরিক” নেমস্পেস, যার অর্থ সিফারটেক্সট ইউডিপি সকেটগুলি ETH0 এবং WLAN0 এর মতো ডিভাইসে বরাদ্দ করা হবে . আমরা এখন ডাব্লুজি 0 কে “init” নেমস্পেসে স্থানান্তর করতে পারি; এটি এখনও সকেটের জন্য এর জন্মস্থানটি মনে রাখবে.
# আইপি -এন শারীরিক লিঙ্ক সেট ডাব্লুজি 0 নেটস 1
আমরা “1” কে “init” নেমস্পেস হিসাবে নির্দিষ্ট করি, কারণ এটি সিস্টেমে প্রথম প্রক্রিয়াটির পিড. এখন “init” নেমস্পেসে ডাব্লুজি 0 ডিভাইস রয়েছে:
# আইপি লিঙ্ক 1: এলও: এমটিইউ 65536 কিউডিস্ক নোক্যু স্টেট অজানা মোড ডিফল্ট গ্রুপ ডিফল্ট গ্রুপ ডিফল্ট QLEN 1 লিঙ্ক/লুপব্যাক 00: 00: 00: 00: 00: 00: 00: 00: 00: 00: 00: MTU 1423 কিউডিস্ক নোক্যু স্টেট অজানা মোড ডিফল্ট গ্রুপ ডিফল্ট QLEN 1 লিঙ্ক/কিছুই নয়
আমরা এখন সাধারণ সরঞ্জামগুলি ব্যবহার করে শারীরিক ডিভাইসগুলি কনফিগার করতে পারি, তবে আমরা সেগুলি “শারীরিক” নেটওয়ার্ক নেমস্পেসের মধ্যে চালু করি:
# আইপি নেটসগুলি শারীরিক ডিএইচসিপিসিডি ডাব্লুএলএএন 0 # আইপি নেটএনস ফিজিক্যাল ডাব্লুপিএ_সুপ্লিক্যান্ট -আইওলান 0 -সি/ইত্যাদি.কনফ # আইপি -এন শারীরিক অ্যাডার 192 যোগ করুন.168.12.52/24 দেব এথ 0
এবং তাই সামনে. অবশেষে, আমরা ডাব্লুজি 0 ইন্টারফেসটি স্বাভাবিকের মতো কনফিগার করতে পারি এবং এটিকে ডিফল্ট রুট হিসাবে সেট করতে পারি:
# ডাব্লুজি সেটকনফ ডাব্লুজি 0/ইত্যাদি/ওয়্যারগার্ড/ডাব্লুজি 0.কনফারেন্স # আইপি অ্যাডার 10 যোগ করুন.2.4.5/32 দেব ডাব্লুজি 0 # আইপি লিঙ্ক সেট ডাব্লুজি 0 আপ # আইপি রুট ডিফল্ট ডিইভি ডাব্লুজি 0 যুক্ত করুন
সমাপ্ত! এই মুহুর্তে, সিস্টেমের সমস্ত সাধারণ প্রক্রিয়াগুলি তাদের প্যাকেটগুলি “init” নেমস্পেসের মাধ্যমে রুট করবে, যার মধ্যে কেবল ডাব্লুজি 0 ইন্টারফেস এবং ডাব্লুজি 0 রুট রয়েছে. তবে, ডাব্লুজি 0 এর ইউডিপি সকেট রয়েছে “শারীরিক” নেমস্পেসে, যার অর্থ এটি এথ 0 বা ডাব্লুএলএএন 0 এর বাইরে ট্র্যাফিক প্রেরণ করবে . সাধারণ প্রক্রিয়াগুলি এমনকি ডিএইচসিপিসিডি এবং ডাব্লুপিএ_সুপ্লিক্যান্ট ব্যতীত ETH0 বা WLAN0 সম্পর্কে সচেতন হবে না, যা “শারীরিক” নেমস্পেসের অভ্যন্তরে তৈরি হয়েছিল.
কখনও কখনও, তবে আপনি কোনও ওয়েবপৃষ্ঠা খুলতে বা “শারীরিক” নেমস্পেস ব্যবহার করে দ্রুত কিছু করতে চাইতে পারেন. উদাহরণস্বরূপ, সম্ভবত আপনি আপনার সমস্ত ট্র্যাফিককে স্বাভাবিকের মতো ওয়্যারগার্ডের মাধ্যমে রুট করার পরিকল্পনা করছেন, তবে আপনি যে কফি শপটিতে বসে আছেন তার জন্য আপনাকে একটি ওয়েবসাইট ব্যবহার করে প্রমাণীকরণ করতে হবে এটি আপনাকে একটি সত্যিকারের ইন্টারনেট লিঙ্ক দেওয়ার আগে আপনাকে প্রমাণীকরণ করতে হবে. সুতরাং, আপনি “শারীরিক” ইন্টারফেস ব্যবহার করে নির্বাচিত প্রক্রিয়াগুলি (আপনার স্থানীয় ব্যবহারকারী হিসাবে) সম্পাদন করতে পারেন:
$ sudo -e আইপি নেটগুলি শারীরিক সুডো -ই -ইউ \#$ (আইডি -ইউ) -জি \#$ (আইডি -জি) ক্রোমিয়াম এক্সিকিউটিভ
এটি অবশ্যই একটি দুর্দান্ত ফাংশনে তৈরি করা যেতে পারে .বাশআরসি:
ফাইসেক্সেক ()
এবং এখন আপনি “শারীরিক” নেমস্পেসে ক্রোমিয়াম খোলার জন্য নিম্নলিখিতগুলি লিখতে পারেন.
$ ফাইসেক্সেক ক্রোমিয়াম
আপনি যখন কফি শপ নেটওয়ার্কে সাইন ইন করেছেন, তখন যথারীতি একটি ব্রাউজার তৈরি করুন এবং আপনার সমস্ত ট্র্যাফিক ওয়্যারগার্ড দ্বারা সুরক্ষিত শান্তভাবে জেনে সার্ফ করুন:
$ ক্রোমিয়াম
নমুনা স্ক্রিপ্ট
নিম্নলিখিত উদাহরণ স্ক্রিপ্টটি/ইউএসআর/স্থানীয়/বিন/ডাব্লুজিএফওয়াইএস হিসাবে সংরক্ষণ করা যেতে পারে এবং ডাব্লুজিএফওয়াইএস ইউপি, ডাব্লুজিএফআইএস ডাউন, এবং ডাব্লুজিএফওয়াইএস এক্সিকিউট এর মতো কমান্ডের জন্য ব্যবহৃত হয়:
#!/বিন/বাশ সেট -এক্স [[$ ইউআইডি != 0]] && exec সুডো -e "$ (রিডলিংক -এফ "$ 0")" "$@" আপ () < killall wpa_supplicant dhcpcd || true ip netns add physical ip -n physical link add wgvpn0 type wireguard ip -n physical link set wgvpn0 netns 1 wg setconf wgvpn0 /etc/wireguard/wgvpn0.conf ip addr add 192.168.4.33/32 dev wgvpn0 ip link set eth0 down ip link set wlan0 down ip link set eth0 netns physical iw phy phy0 set netns name physical ip netns exec physical dhcpcd -b eth0 ip netns exec physical dhcpcd -b wlan0 ip netns exec physical wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant-wlan0.conf -iwlan0 ip link set wgvpn0 up ip route add default dev wgvpn0 >ডাউন () < killall wpa_supplicant dhcpcd || true ip -n physical link set eth0 down ip -n physical link set wlan0 down ip -n physical link set eth0 netns 1 ip netns exec physical iw phy phy0 set netns 1 ip link del wgvpn0 ip netns del physical dhcpcd -b eth0 dhcpcd -b wlan0 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant-wlan0.conf -iwlan0 >এক্সিকিউ () < exec ip netns exec physical sudo -E -u \#$ Sudo_uid:-$ (আইডি -ইউ)> -ছ \#$ Sudo_gid:-$ (আইডি -জি)> -- "$@" > কমান্ড ="$ 1" শিফট কেস "$ কমান্ড" ভিতরে আপ "$@" ;;; নিচে নিচে "$@" ;;; এক্সিকিউটি) এক্সিকিউটি "$@" ;;; *) প্রতিধ্বনি "ব্যবহার: $ 0 আপ | ডাউন | এক্সিকিউট " > & 2; প্রস্থান 1 ;; ESAC
উপরের একটি ছোট ডেমো:
© কপিরাইট 2015-2022 জেসন এ. ডোনেনফেল্ড. সমস্ত অধিকার সংরক্ষিত. “ওয়্যারগার্ড” এবং “ওয়্যারগার্ড” লোগোটি জেসন এ এর নিবন্ধিত ট্রেডমার্ক. ডোনেনফেল্ড.
এই প্রকল্পটি জেডএক্স 2 সি 4 এবং এজ সিকিউরিটি থেকে, তথ্য সুরক্ষা গবেষণা দক্ষতার প্রতি নিবেদিত একটি ফার্ম.
ওয়্যারগার্ড ভিপিএন – সমস্যা সমাধান
এটি ওয়াচ ডাব্লুজি কমান্ডের সাথে একটি টার্মিনাল খোলা রেখে সহায়ক হতে পারে. এখানে দুটি সহকর্মী কনফিগার করা একটি সিস্টেম দেখানো একটি নমুনা আউটপুট এখানে রয়েছে, যেখানে কেবলমাত্র একটি এখনও ভিপিএন প্রতিষ্ঠা করেছে:
প্রতি 2.0 এস: ডাব্লুজি জে-ডব্লিউজি: শুক্র আগস্ট 26 17:44:37 2022 ইন্টারফেস: ডাব্লুজি 0 পাবলিক কী: +টি 3 টিএইচটিএমইআরডিভিআইএম 8 এফবিএক্সবিজবিজেড + 10.172.196.106: 51000 অনুমোদিত আইপিএস: 10.10.11.2/32 সর্বশেষ হ্যান্ডশেক: 3 ঘন্টা, 27 মিনিট, 35 সেকেন্ড আগে স্থানান্তর: 3.06 কেআইবি প্রাপ্ত, 2.80 কিব পাঠানো পিয়ার: zliz1hlarzqvfxpmyme2ectxdk611nb7uzlad4mcpgi = অনুমোদিত আইপিএস: 10.10.11.3/32
কার্নেল ডিবাগ বার্তা
লগিংয়ের ক্ষেত্রে ওয়্যারগার্ডও নীরব. মূলত কার্নেল মডিউল হওয়ায় আমাদের স্পষ্টভাবে এর মডিউলটির ভার্বোজ লগিং সক্ষম করতে হবে. এটি নিম্নলিখিত কমান্ড দিয়ে সম্পন্ন হয়েছে:
$ প্রতিধ্বনি "মডিউল ওয়্যারগার্ড +পি" | সুডো টি/সিস/কার্নেল/ডিবাগ/ডায়নামিক_ডিবাগ/নিয়ন্ত্রণ
এটি কার্নেল লগে ওয়্যারগার্ড লগিং বার্তা লিখবে, যা এর সাথে সরাসরি দেখা যায়:
$ sudo dmesg -wt
লগিং অক্ষম করতে, এটি চালান:
$ প্রতিধ্বনি "মডিউল ওয়্যারগার্ড -পি" | সুডো টি/সিস/কার্নেল/ডিবাগ/ডায়নামিক_ডিবাগ/নিয়ন্ত্রণ
গন্তব্য ঠিকানা প্রয়োজন
আপনি যদি কোনও আইপি পিং করেন এবং এর মতো একটি ত্রুটি ফিরে পান:
$ পিং 10.10.11.2 পিং 10.10.11.2 (10.10.11.2) 56 (84) ডেটা বাইট. 10 থেকে.10.11.1 আইসিএমপি_সেক = 1 গন্তব্য হোস্ট অ্যাক্সেসযোগ্য পিং: সেন্ডএমএসজি: গন্তব্য ঠিকানা প্রয়োজন
এটি ঘটছে কারণ এই গন্তব্যের জন্য নির্বাচিত ওয়্যারগার্ড ইন্টারফেসটি এর শেষ পয়েন্টটি জানে না. অন্য কথায়, এনক্রিপ্ট করা ট্র্যাফিক কোথায় পাঠাতে হবে তা জানে না.
এর জন্য একটি সাধারণ দৃশ্য এমন এক পিয়ারে রয়েছে যেখানে কোনও শেষ পয়েন্ট কনফিগারেশন নেই, যা পুরোপুরি বৈধ, এবং হোস্ট সেই পিয়ারে ট্র্যাফিক প্রেরণের চেষ্টা করছে. আসুন আমরা কফি শপের দৃশ্যটি গ্রহণ করি যা আমরা আগে বর্ণনা করেছি একটি উদাহরণ হিসাবে.
ল্যাপটপটি ভিপিএন এর সাথে সংযুক্ত এবং যথারীতি ট্র্যাফিক বিনিময়. তারপরে এটি কিছুটা থামে (ব্যক্তি আরও একটি কাপ পেতে গিয়েছিল). ট্র্যাফিক বন্ধ হয়ে যায় (ওয়্যারগার্ড নীরব, মনে রাখবেন). যদি হোম রাউটারের ওয়্যারগার্ডটি এখন পুনরায় চালু করা হয়, যখন এটি ফিরে আসে তবে এটি কীভাবে ল্যাপটপে পৌঁছতে হবে তা জানতে পারে না, কারণ এটির আগে কখনও এটির সাথে যোগাযোগ করা হয়নি. এর অর্থ হ’ল এই মুহুর্তে, যদি হোম রাউটারটি কফি শপের ল্যাপটপে ট্র্যাফিক প্রেরণের চেষ্টা করে তবে এটি উপরের ত্রুটিটি পাবে.
এখন ল্যাপটপ ব্যবহারকারী ফিরে আসে এবং হোম নেটওয়ার্কে কিছু ট্র্যাফিক উত্পন্ন করে (মনে রাখবেন: ল্যাপটপটিতে হোম নেটওয়ার্কের শেষ পয়েন্ট মান রয়েছে). ভিপিএন “জেগে উঠেছে”, ডেটা বিনিময় করা হয়, হ্যান্ডশেকগুলি সম্পন্ন হয় এবং এখন হোম রাউটারটি ল্যাপটপের সাথে সম্পর্কিত শেষ পয়েন্টটি জানে এবং আবার ইস্যু ছাড়াই এটিতে নতুন ট্র্যাফিক শুরু করতে পারে.
আরেকটি সম্ভাবনা হ’ল একজন সহকর্মীদের মধ্যে একজন নাটকে পিছনে ফেলেছে এবং রাষ্ট্রীয় ফায়ারওয়ালের পক্ষে “সংযোগ” জীবিত বিবেচনা করার জন্য পর্যাপ্ত ট্র্যাফিক ছিল না এবং এটি নাট ম্যাপিংটি ফেলে দিয়েছে. এই ক্ষেত্রে, পিয়ারটি পার্সেন্টালকিপালাইভ কনফিগারেশন থেকে উপকৃত হতে পারে, যা ওয়্যারগার্ডকে একটি প্রেরণ করে জিবন্ত রাখ প্রতি অনেক সেকেন্ডে অনুসন্ধান করুন.
প্রয়োজনীয় কী উপলব্ধ নেই
$ পিং 10.10.11.1 পিং 10.10.11.1 (10.10.11.1) 56 (84) ডেটা বাইট. 10 থেকে.10.11.2 আইসিএমপি_সেক = 1 গন্তব্য হোস্ট অ্যাক্সেসযোগ্য পিং: সেন্ডমসজি: প্রয়োজনীয় কী উপলভ্য নয়
আপনার যখন ওয়্যারগার্ড ইন্টারফেসে ট্র্যাফিককে নির্দেশ দেওয়ার রুট থাকে তখন ঘটতে পারে তবে সেই ইন্টারফেসের কাছে এর অনুমোদিত অনুমোদিত কনফিগারেশনে লক্ষ্য ঠিকানা তালিকাভুক্ত নেই.
আপনি যদি ওয়্যারগার্ডের জন্য কার্নেল ডিবাগিং সক্ষম করে থাকেন তবে আপনি ডিএমইএসজি আউটপুটে এর মতো একটি বার্তাও দেখতে পাবেন:
ওয়্যারগার্ড: হোম 0: কোনও পিয়ার আইপিএসের সাথে 10 ম্যাচের অনুমতি দেয়নি.10.11.1