NAT রাউটারের পিছনে ওয়েবসার অ্যাক্সেসযোগ্য নয়


0

আমার একটি রহস্যজনক সমস্যাটি একটি ছোট সার্ভারের সাথে যা আমি বাড়িতে চালাচ্ছি, একটি ন্যাটি রাউটারের পিছনে। আমি সেখানে বেশ কয়েকটি ওয়েব এবং অন্যান্য পরিষেবা চালাচ্ছি, যা আমি আমার ল্যানের বাইরেও পোর্ট ফরওয়ার্ডিংয়ের মাধ্যমে অ্যাক্সেস করতে পারি। কয়েক দিন থেকে, আমি আর ওয়েব সার্ভার অ্যাক্সেস করতে পারি না (পোর্ট 80 বা 443 প্রতি নয়)। তবে কেবল ল্যানের বাইরে থেকে ! এর মধ্যে থেকে আমি এখনও ঝামেলা ছাড়াই অ্যাক্সেস করতে পারি। এসএসএইচ এখনও বাইরে থেকে কাজ করে, যদিও এটি একটি মানহীন বন্দরে।

সুতরাং আমি একটি ওয়্যারশার্ক ট্রেস করেছি যেখানে ল্যানের বাইরে একটি ব্রাউজার সার্ভার অ্যাক্সেস করার চেষ্টা করে। পঠনযোগ্যতা এবং নাম প্রকাশের জন্য আমি সার্ভারের আইপি ঠিকানাটি এসএসএসে এবং ব্রাউজারের আইপি ঠিকানাটি বিবিবিবিতে পরিবর্তন করেছি

No.  Time      Source    Destination  Protocol Length Info
1    0.000000  b.b.b.b   s.s.s.s      TCP      66     59468 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
2    0.022883  s.s.s.s   b.b.b.b      TCP      66     80 → 59468 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1380 SACK_PERM=1 WS=128
3    0.022949  b.b.b.b   s.s.s.s      TCP      54     59468 → 80 [ACK] Seq=1 Ack=1 Win=66048 Len=0
4    0.025405  b.b.b.b   s.s.s.s      HTTP     294    GET / HTTP/1.0 
5    0.026677  s.s.s.s   b.b.b.b      HTTP     666    HTTP/1.1 403 Forbidden  (text/html)
6    0.026678  s.s.s.s   b.b.b.b      TCP      54     80 → 59468 [FIN, ACK] Seq=613 Ack=241 Win=0 Len=0
7    0.026678  s.s.s.s   b.b.b.b      TCP      54     80 → 59468 [RST, ACK] Seq=614 Ack=241 Win=0 Len=0

টিসিপি সংযোগটি সঠিকভাবে সেট আপ করা হয়েছে। তারপরে ব্রাউজারটি HTTP GET অনুরোধ প্রেরণ করে এবং একটি "403 নিষিদ্ধ" প্রতিক্রিয়া গ্রহণ করে। এছাড়াও, প্রায় একই সাথে এইচটিটিপি প্রতিক্রিয়া বার্তাটি এটি একটি এফআইএন এবং একটি আরএসটি বার্তা পায়!

সার্ভারের দিকে আমি একই যোগাযোগের একটি টিসিপিডাম্প করেছি:

$ sudo tcpdump -n port 80 or port 443
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:53:26.625013 IP b.b.b.b.59468 > s.s.s.s.80: Flags [S], seq 2382139585, win 8192, options [mss 1380,nop,wscale 8,nop,nop,sackOK], length 0
16:53:26.625131 IP s.s.s.s.80 > b.b.b.b.59468: Flags [S.], seq 1966829679, ack 2382139586, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
16:53:26.647631 IP b.b.b.b.59468 > s.s.s.s.80: Flags [.], ack 1, win 258, length 0
16:53:26.650205 IP b.b.b.b.59468 > s.s.s.s.80: Flags [R.], seq 1, ack 1, win 258, length 0

এখানে, টিসিপি সংযোগ সেটআপ (প্রথম তিনটি প্যাকেট) এখনও ঠিক আছে। কিন্তু হেকটি এইচটিটিপি বার্তা কোথায়? কোন অনুরোধ বা প্রতিক্রিয়া নেই ?! কি হচ্ছে? এবং কেন সার্ভার তাত্ক্ষণিকভাবে আরএসটি প্যাকেটের সাথে সংযোগ বন্ধ করছে?

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

----------------------------------------
Exception happened during processing of request from ('b.b.b.b', 59468)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 655, in __init__
    self.handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 310, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/lib/python2.7/socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
error: [Errno 104] Connection reset by peer
----------------------------------------

কিন্তু এটি আসলে আমাকে আর এনে দেয়নি। এসব কিছুর কারণ কী হতে পারে সে সম্পর্কে কারও কি ধারণা আছে?


ওয়েব সার্ভারের কি কোনও স্ট্যাটিক আইপি রয়েছে, ডিএইচসিপি-র মধ্যে সংরক্ষিত আছে বা স্বয়ংক্রিয়ভাবে কনফিগার করা আছে (এর ঠিকানাটি পরিবর্তন হতে পারে)?
কিন্নেকটাস

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

আপনি কি সার্ভার এবং ক্লায়েন্টে একটি নতুন ক্যাপচার চালাতে পারেন এবং আমাকে প্যাকাপ ফাইল ইমেল করতে পারেন? odin (ডট) সিস্টেমজেনেটেড (at) gmail.com
মার্ক রিডেল

ওয়েব সার্ভারের একটি স্থির আইপি রয়েছে, যদিও সেই ল্যানের সমস্ত অন্যান্য ঠিকানা গতিশীল।
জর্জি পি

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

উত্তর:


1

ক্যাপচার ফাইলগুলি পাঠানোর জন্য ধন্যবাদ।

আপনার ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি ফায়ারওয়াল বা মিডিলবক্স (সম্ভবত সিসকো এএসএ) রয়েছে যা আপনার ওয়েব ট্র্যাফিককে বাধা দিচ্ছে এবং 403 বার্তা এবং আরএসটি প্যাকেট তৈরি করছে। কারণটা এখানে:

  1. টিসিপি থ্রি ওয়ে হ্যান্ডশেক ক্লায়েন্ট এবং সার্ভারের মধ্যে সাফল্যের সাথে সম্পূর্ণ করে tes রাউন্ড ট্রিপ সময় প্রায় 30 মিমি । এখন পর্যন্ত সব ভাল।
  2. ক্লায়েন্ট সার্ভারে একটি HTTP জিইটি অনুরোধ প্রেরণ করে।
  3. একটি 403 নিষিদ্ধ বার্তা ক্লায়েন্ট ফেরত পাঠানো হয় 2ms পর অনুরোধ পাঠানো হয় যা এ পর্যন্ত খুব দ্রুত প্রকৃত সার্ভার থেকে হয়েছে। সার্ভার থেকে ট্র্যাফিক ক্যাপচার HTTP অনুরোধের কোনও চিহ্নও দেখায় না। দুটি ডিভাইসের মধ্যে কিছু ডিভাইস এই 403 উত্পন্ন করেছে

    403 এর ক্রিয়াটি নোট করুন:

    আপনি একটি নিষিদ্ধ সাইটে অ্যাক্সেস করার চেষ্টা করছেন।

    বিশদ জানতে আপনার সিস্টেম প্রশাসকের সাথে পরামর্শ করুন

    এটি কোনও স্ট্যান্ডার্ড অ্যাপাচি 403 নয় এবং দ্রুত গুগল থেকে, আমি সিসকো এএসএ আলোচনার থ্রেডে অনুরূপ বার্তার রেফারেন্স দেখতে পাচ্ছি । আমি আরও দেখতে পাচ্ছি যে আপনার ক্যাপচারের 403 এর উত্স MAC প্রকৃতপক্ষে একটি সিসকো ডিভাইস।

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

কোথা থেকে আপনি আপনার বাহ্যিক পরীক্ষা নিখরচায় করছেন? এটি সম্ভবত কোনও কর্পোরেট নেটওয়ার্ক থেকে এসেছে?


বাহ, সত্যিই দুর্দান্ত বিশ্লেষণ, আমি আপনাকে যথেষ্ট ধন্যবাদ দিতে পারি না। হ্যাঁ প্রকৃতপক্ষে আমি কোনও কর্পোরেট নেটওয়ার্কে আছি - হাসপাতালে অনৈতিক সময় কাটাচ্ছি :-( মনে হচ্ছে, এখানে নেটওয়ার্কটিতে আমার DynDNS সরবরাহকারীকে কালো তালিকাভুক্ত করা হয়েছে, যা কেবলমাত্র আইপি ঠিকানা ব্যবহার করে কেন সংযোগ করতে পারলাম তাও ব্যাখ্যা করে What আমার কাছে খুব তা হ'ল এটি মোবাইল ফোনে আমার ফোন থেকেও কাজ করে নি - তবে এটি (আমি এখন বেশ নিশ্চিত) আমার অ্যাপাচি কনফিগারেশনের সাথে একটি সম্পর্কযুক্ত সমস্যা ছিল Again আবার, আপনার সময় এবং প্রচেষ্টার জন্য আপনাকে অনেক ধন্যবাদ।
জর্জি পি

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

0

আপনি আপনার প্রশ্নে বলেছেন যে অ্যাপাচি চালানোর সময় আপনি একটি "403 নিষিদ্ধ" বার্তা পান।

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

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


1
আমি নিশ্চিত নই যে আপাচি সত্যিই 403 বার্তা উত্পন্ন করেছে, কারণ আমি কেবল এটি টিসিপি ডাম্পটিতে দেখতে পাচ্ছি না। আমার অ্যাপাচি কনফিগটি বরং জটিল, কারণ আমি এতে অনেকগুলি বিভিন্ন পরিষেবা চালিয়ে যাচ্ছি (পরের ক্লাউড, মুনিন, ডুকুউইকি, এসভিএন ...)। তবে যেমনটি বলা হয়েছে, আমি অ্যাপাচি বন্ধ করে দিয়েছি SimpleHTTPServerএবং SocketServerমডিউলগুলি ব্যবহার করে খুব সাধারণ (সত্যিকারের মাত্র 3 লাইন) পাইথন স্ক্রিপ্ট দিয়ে চেষ্টা করেছি ।
জর্জি পি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.