কীভাবে সমস্ত ডিফল্ট গেটওয়ে সরিয়ে ফেলা যায়


13

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

এটি করার জন্য আমি আমার সমস্ত কমান্ড এক লাইনে চালাচ্ছি:

/sbin/route add default gw 10.10.10.10;my command;/sbin/route del default gw 10.10.10.10;

সমস্যাটি হ'ল কোনও কারণে আমি একবার একই মেশিনে 2 টি ডিফল্ট গেটওয়ে পেয়েছি যার ফলে আমার সমস্ত কমান্ড ব্যর্থ হয়েছিল কারণ আমি যদি আমার পরীক্ষা চালানোর আগে আমার ডিফল্ট গেটওয়ে সেট করে ফেলেছিলাম তবে এটি এখনও বিশৃঙ্খলাবদ্ধ এবং আমার পরীক্ষা চালাতে পারে না।

তাহলে কি কোনও কমান্ডে সমস্ত ডিফল্ট গেটওয়ে সরিয়ে দেওয়ার কোনও উপায় আছে ? আমার কাছে প্রচুর পরিমাণে মেশিন রয়েছে যা বৃদ্ধি পাচ্ছে এবং প্রতিটি মেশিনে স্ক্রিপ্ট লাগানো ব্যবহারিক হবে না। আমার নীচের মত সহজ কমান্ড দরকার :

/sbin/route del all default;set my default gw;mycommand;/sbin/route del all default;

সকল আমি এতদূর পাওয়া যায় সরানোর জন্য একটি কমান্ড একটি ডিফল্ট গেটওয়ে কিন্তু তাদের সব না /sbin/route del defaultযা আমার জন্য কাজ করবে না।

/sbin/route সাহায্য নিম্নলিখিত প্রদর্শন করে

/sbin/route --help

Usage: route [{add|del|delete}]

Edit the kernel's routing tables

Options:
        -n      Don't resolve names
        -e      Display other/more information
        -A inet Select address family

উত্তর:


17

আপনি যদি এর ipপরিবর্তে ব্যবহার করেন তবে আপনি routeকেবল চালাতে পারেন:

ip route del 0/0

আমি বিশ্বাস করি যে সমস্ত ডিফল্ট রুট ধরা পড়ে।


আপনাকে ধন্যবাদ তবে এটি এখনও কেবল একটিই ডিফল্ট গেটওয়ে সরিয়ে দেয়।
মুহাম্মদ জেলবানা

4
তারপরে সম্ভবত আপনার সমস্ত ডিফল্ট রুটগুলির মধ্যে পুনরাবৃত্তি হওয়া উচিত এবং আপনার প্রথম মুছে ফেলা সমস্তগুলি মুছে ফেলেছে তা অনুমান করার পরিবর্তে সেগুলি সরিয়ে ফেলা উচিত। দেখে মনে হচ্ছে আপনার কোডটি কোনওভাবে ভেঙে একাধিক ডিফল্ট রুট যুক্ত করছে। এটি কোনও সাধারণ পরিস্থিতি নয়।
jsbillings

আমি সম্মত হই যে আমার কোডটি এক পর্যায়ে বিরতি পেয়েছে তবে হতে পারে আমি খুব বেশি সময় নষ্ট না করে GW জিনিস ঠিক করে দ্রুত সমাধান করতে পারি। আপনার সাহায্যের জন্য অসংখ্য ধন্যবাদ.
মুহাম্মদ জেলবানা

এটি কেবল আধুনিক লিনাক্স।
jordanm


3

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

ip route add default via my-gateway ip route del default


2

যদি আপনার কোডটি একাধিক ডিফল্ট গেটওয়ে দিয়ে ভেঙে যায় তবে আপনার সম্ভবত প্রতি ডিভাইসে একাধিক আইপি ঠিকানা সন্ধান করা উচিত।

যেমন আপনি ইতিমধ্যে একটি উত্তর পেয়েছেন তা এখানে অন্য পদ্ধতির মতো আপনার সিস্টেমে কনফিগারেশনটি কখনও পরিবর্তন করা উচিত নয় কারণ আপনি কোনও স্ক্রিপ্ট চালাতে / পরীক্ষা করতে চান। পরিবর্তে নেটওয়ার্ক নেমস্পেসগুলি কীভাবে ব্যবহার করবেন। আপনার ns (নামস্থান) ভার্চুয়াল ডিভাইস যোগ করার জন্য কিভাবে একটি সংক্ষিপ্ত পরিচয়ের জন্য কটাক্ষপাত আছে http://code.google.com/p/coreemu/wiki/Namespaces

একটি নেমস্পেস নামের একটি পরীক্ষা তৈরি করতে এবং এই নেমস্পেসের অধীনে একটি কমান্ড চালাতে কেবল রান করুন

ip netns add test
ip netns exec test COMMAND

যেখানে COMMAND উদাহরণস্বরূপ আপনার শেল বা কেবল সার্ভার স্ক্রিপ্ট হতে পারে।

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