লিনাক্স নেটওয়ার্ক ট্রাবলশুটিং এবং ডিবাগিং


80

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

এই প্রশ্নটি জিজ্ঞাসা করে, আমার উদ্দেশ্যটি একটি সম্প্রদায় উইকি পৃষ্ঠা শুরু করা যা আমাদের নেটওয়ার্ক সমস্যা সমাধান এবং ডিবাগিংয়ের অভিজ্ঞতাকে সাধারণীকরণের অনুমতি দেয়। আমি আশা করি লিনাক্স এবং ইউনিক্স ব্যবহারকারীরা সহজেই এই পৃষ্ঠাটি ব্যবহার করে তাদের নেটওয়ার্ক সমস্যাগুলি ("বিভাজন এবং বিজয়") সনাক্ত করতে এবং সমাধান করতে পারে।

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

আমি মনে করি, যদি আপনি:

  1. কংক্রিট ব্যবহারের উদাহরণ এবং নেটওয়ার্ক বাগগুলির উদাহরণ সহ তারা দুর্দান্ত নেটওয়ার্ক ডায়াগনস্টিক সরঞ্জাম ব্যবহার সম্পর্কে তথ্য ভাগ করুন, যা তারা ধরতে সহায়তা করে।
  2. এই বিষয়ের সাথে সংযুক্ত দুর্দান্ত নেটওয়ার্ক টিউটোরিয়ালের লিঙ্কটি ভাগ করুন
  3. কোনও সাধারণ পদ্ধতি বা রেসিপি সম্পর্কে বলুন যা নেটওয়ার্কের কিছু শ্রেণির সমস্যা মোকাবেলায় সহায়তা করে
  4. নেটওয়ার্ক ডিবাগিং এবং সমস্যা সমাধানের জন্য আপনার সরঞ্জাম-সেট সম্পর্কে তথ্য ভাগ করুন

এটি এই বিষয়ের জন্য পুরোপুরি ফিট করে।


আমি লিংকটি পরিবর্তনগুলি ডায়াগোনস্টিক সরঞ্জামগুলিতে এবং 12 বছরের পুরানো সহজ টিউটোরিয়ালটিতে ভাগ করে নেওয়া শুরু করব । এছাড়াও আর্চলিনাক্স টিউটোরিয়ালে আমাদের বিষয় সম্পর্কে প্রকৃত তথ্য আছে বলে মনে হয়। এবং লিনাক্স নেটওয়ার্কিংয়ে ডুব দেওয়ার জন্য আমাদের অবশ্যই লিনাক্স নেটওয়ার্কিং- হাটো যেতে হবে ।


এই প্রশ্নোত্তরটির আরও একটি বিষয় বিবেচনা করতে হবে, একই আইপি ঠিকানার সাথে নেটওয়ার্কে 2 টি মেশিন কনফিগার করা হয়েছে: unix.stackexchange.com/questions/85887/…
slm

আরেকটি দরকারী নেটওয়ার্ক ট্রাবলশুটিং গাইড: cisco.com/en/US/docs/internetworking/troubleshooting/guide/…
রাইনে এভারেট

উত্তর:


118

আমি মনে করি, নেটওয়ার্ক ট্রাবলশুটিংয়ের সাধারণ নীতিগুলি হ'ল:

  1. টিসিপি / আইপি স্ট্যাকের (বা অন্য কোনও স্ট্যাক) কোন স্তরে সমস্যা দেখা দেয় তা সন্ধান করুন।
  2. সিস্টেমের সঠিক আচরণ কী এবং সাধারণ সিস্টেমের অবস্থা থেকে বিচ্যুতি কী তা বুঝুন
  3. সমস্যাটি এক বাক্যে বা কয়েকটি কথায় প্রকাশ করার চেষ্টা করুন
  4. বগি সিস্টেম থেকে প্রাপ্ত তথ্য ব্যবহার করে আপনার নিজের অভিজ্ঞতা এবং অন্যান্য লোকের অভিজ্ঞতা (গুগল, বিভিন্ন ফোরাম ইত্যাদি) সাফল্য (বা ব্যর্থতা) পর্যন্ত সমস্যার সমাধানের চেষ্টা করুন
  5. যদি আপনি ব্যর্থ হন, অন্য ব্যক্তিকে সহায়তা বা কিছু পরামর্শ সম্পর্কে জিজ্ঞাসা করুন

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

এবং সাধারণভাবে, আমি জানি না আমি কীভাবে নেটওয়ার্কের সমস্যার সমাধান করি। দেখে মনে হচ্ছে আমার মস্তিস্কে এমন কিছু যাদু ফাংশন রয়েছে SolveNetworkProblem(information_about_system_state, my_experience, people_experience)যা কখনও কখনও সঠিক উত্তরটি ফিরে আসতে পারে এবং কখনও কখনও ব্যর্থও হতে পারে (যেমন টিসিপি লিনাক্স ল্যাপটপে মারা যায় )।

নেটওয়ার্ক ডিবাগিংয়ের জন্য আমি সাধারণত এই সেট থেকে ইউটিস ব্যবহার করি:

  • ifconfig(বা ip link, ip addr) - নেটওয়ার্ক ইন্টারফেস সম্পর্কে তথ্য প্রাপ্তির জন্য
  • ping- বৈধতা যাচাইয়ের জন্য, যদি টার্গেট হোস্টটি আমার মেশিন থেকে অ্যাক্সেসযোগ্য। pingবেসিক ডিএনএস ডায়াগোনস্টিক্সের জন্যও ব্যবহার করা যেতে পারে - আমরা আইপি-ঠিকানা বা তার হোস্টনাম দ্বারা হোস্টকে পিং করতে পারি এবং তারপরে সিদ্ধান্ত নিতে পারি যে ডিএনএস আদৌ কাজ করে কিনা। এবং তারপর tracerouteবা tracepathবা mtrকি আছে পথে ঘটছে দেখুন।
  • dig - সমস্ত ডিএনএস নির্ণয় করুন
  • dmesg | lessবা dmesg | tailবা dmesg | grep -i error- বুঝতে কি লিনাক্স কার্নেল কিছু কষ্ট নিয়ে চিন্তা করে না।
  • netstat -antp+ | grep smth- আমার নেটস্ট্যাট কমান্ডের সর্বাধিক জনপ্রিয় ব্যবহার, যা টিসিপি সংযোগগুলি সম্পর্কে তথ্য প্রদর্শন করে। প্রায়শই আমি গ্রেপ ব্যবহার করে কিছু ফিল্টারিং করি। নতুন ssকমান্ডটি ( লিনাক্স নেটওয়ার্কিং সরঞ্জামগুলির iproute2নতুন মান স্যুট থেকে) এবং lsofহিসাবেও দেখুন lsof -ai tcp -c some-cmd
  • telnet <host> <port> - বিভিন্ন টিসিপি-পরিষেবাগুলির সাথে যোগাযোগের জন্য খুব দরকারী (যেমন এসএমটিপি, এইচটিটিপি প্রোটোকলগুলিতে), আমরা কয়েকটি টিসিপি পোর্টের সাথে সংযোগ স্থাপনের সাধারণ সুযোগটিও পরীক্ষা করতে পারি।
  • iptables-save(লিনাক্সে) - সম্পূর্ণ iptables টেবিলগুলি ডাম্প করতে
  • ethtool - সমস্ত নেটওয়ার্ক ইন্টারফেস কার্ড পরামিতি (লিঙ্কের স্থিতি, গতি, অফলোড পরামিতি ...) পান
  • socat- সমস্ত নেটওয়ার্ক প্রোটোকল (ইউডিপি, মাল্টিকাস্ট, এসসিটিপি ...) পরীক্ষা করার জন্য সুইস আর্মি সরঞ্জাম। কয়েকটি -dবিকল্পের সাথে বিশেষত কার্যকর (টেলনেটের চেয়ে বেশি)
  • iperf - ব্যান্ডউইথ প্রাপ্যতা পরীক্ষা করতে
  • openssl( s_client, ocsp, x509...) সব SSL / TLS / pki সমস্যা ডিবাগ করতে।
  • wireshark - নেটওয়ার্ক ট্র্যাফিক ক্যাপচার এবং বিশ্লেষণের জন্য শক্তিশালী সরঞ্জাম, যা আপনাকে অনেকগুলি নেটওয়ার্ক বাগগুলি বিশ্লেষণ করতে ও ধরতে দেয়।
  • iftop - নেটওয়ার্ক / রাউটারে বড় ব্যবহারকারীদের দেখান।
  • iptstate (লিনাক্সে) - ফায়ারওয়ালের সংযোগ ট্র্যাকিংয়ের বর্তমান দৃশ্য।
  • arp(বা নতুন (লিনাক্স) ip neigh) - এআরপি-সারণীর স্থিতি প্রদর্শন করুন।
  • routeবা আরও নতুন (লিনাক্সে) ip route- রাউটিং সারণীর স্থিতি প্রদর্শন করুন।
  • strace(বা truss, dtraceবা tuscসিস্টেমের উপর নির্ভর করে) - দরকারী সরঞ্জাম যা সিস্টেম কলগুলি সমস্যা প্রক্রিয়াটি করে তা দেখায়, এটি যখন সিস্টেম কল ব্যর্থ হয় তখন এটি ত্রুটি কোডগুলি (ত্রুটি )ও দেখায়। সিস্টেমের আচরণ বোঝার এবং সমস্যা সমাধানের জন্য এই তথ্য প্রায়শই যথেষ্ট বলে। বিকল্পভাবে, কিছু নেটওয়ার্কিং ফাংশনগুলিতে ব্রেকপয়েন্টগুলি ব্যবহার করে gdbআপনাকে কখন তা তৈরি করা হয় এবং কোন যুক্তি দিয়ে তা খুঁজে পেতে পারে।
  • লিনাক্সে ফায়ারওয়াল সংক্রান্ত সমস্যাগুলি অনুসন্ধান করতে: iptables -nvLদেখায় যে প্রতিটি নিয়মের সাথে কয়টি প্যাকেট মিলছে ( iptables -Zকাউন্টারগুলিকে শূন্য করতে)। LOGলক্ষ্য ফায়ারওয়াল শৃঙ্খলে সন্নিবেশিত যা প্যাকেট তাদের পৌঁছানোর এবং কিভাবে তারা ইতিমধ্যে রুপান্তরিত করা হয়েছে যখন তারা সেখানে পেতে দেখতে দরকারী। আরও পেতে NFLOG(যুক্ত ulogd) পুরো প্যাকেটে লগ ইন করবে।

গীজ, পুরো সম্পর্কে কথা বলুন!
এমভিসিএইচআর

7
আমি যোগ চাই nmap। কোনও মেশিনে উন্মুক্ত পোর্টগুলির প্রোফাইল আপনাকে উদাহরণস্বরূপ কোনও লিনাক্স বা উইন্ডোজ সার্ভারের দিকে তাকিয়ে আছে কিনা তাড়াতাড়ি আপনাকে ইঙ্গিত দিতে পারে।
অ্যাডাম মনসেন

7
আমি যোগ চাই tcpdump। এটি টিসিপির জন্য মানক প্যাকেট বিশ্লেষক হিসাবে।
jhvaras

14

এক আশ্চর্যজনক "নেটওয়ার্ক সমস্যা" এক ধরণের বা অন্যরকমের ডিএনএস সমস্যায় ফোটে। ping -n w.x.y.zকোনও হোস্টনামের ডিএনএস রেজোলিউশন ছাড়ার জন্য প্রাথমিক সমস্যা সমাধানের ব্যবহার করা উচিত এবং কেবল আইপি সংযোগটি পরীক্ষা করতে হবে। এর পরে, route -nডিএনএস রেজোলিউশন ছাড়াই ডিফল্ট আইপি রুটটি পরীক্ষা করতে ব্যবহার করুন ।

আইপি সংযোগ, রাউটিং যাচাই করার পর, nslookup, hostএবং digতথ্য উত্পাদ করতে পারেন। মনে রাখবেন যে "লকিং আপ" ইঙ্গিত দিতে পারে যে ডিএনএসের সময়সীমাটি ঘটছে।

অস্তিত্ব এবং বিষয়বস্তু পরীক্ষা করতে ভুলবেন না /etc/resolv.conf। ডিএইচসিপি ক্লায়েন্টরা প্রতিটি ইজারা দিয়ে ফাইলটি পরিবর্তন করে এবং কখনও কখনও তারা এটি ভুল হয়ে যায়, বা ডিস্কের স্থানটি শক্ত থাকলে, কোনও আপডেট নাও হতে পারে।


8

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

দূরবর্তীভাবে, আপনার উপর ethtoolএবং নির্ভর করতে হবে mii-tool

[root@flask ~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 24
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x00000001 (1)
                               drv
        Link detected: yes

"লিঙ্কটি সনাক্ত হয়েছে: হ্যাঁ" ভাল, তবে 10 এমবি / এস এবং হাফ ডুপ্লেক্স ভাল নয়, কারণ সেই কম্পিউটারে এনআইসি আরও ভাল করতে পারে। এনআইসির বোকা বানানো আছে বা তারটি আছে কিনা তা আমার খুঁজে বের করতে হবে। একই রাউটারে প্লাগ করা অন্য একটি কম্পিউটার 100Mb / s, ফুল ডুপ্লেক্স বলে।

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