আমি যদি রাউটারের পিছনে থাকি তবে আমি কীভাবে কমান্ড লাইন থেকে আমার পাবলিক আইপি ঠিকানা পেতে পারি?


37

কমান্ড লাইনে আমার সার্বজনীন (ডাব্লুএল) আইপি ঠিকানা পাওয়ার কোনও উপায় আছে? আমি একটি রাউটারের পিছনে (ল্যান নেটওয়ার্ক), আমার আইএসপি দ্বারা নির্ধারিত একটি গতিশীল আইপি ঠিকানা।

আমি বহিরাগত ওয়েবসার্ভিস (যেমন ifconfig.me) ব্যবহার করে সমাধানগুলি দেখেছি , তবে আমি জানতে চাই যে আমি বাহ্যিক পরিষেবা ব্যতীত এটি করতে পারি কিনা।


আপনি দয়া করে আপনার নেটওয়ার্ক সেটআপ হিসাবে আরও বিশদ যুক্ত করতে পারেন? আপনি যদি একটি রাউটার / সুইচ যা পিছনে শুরু করে ইন্টারনেট অ্যাক্সেস করতে পারে এবং তুমি নিস্তেজ IP ঠিকানা যে রাউটার / সুইচ আপনার ISP থেকে হচ্ছে নিরূপণ করার চেষ্টা করছেন?
slm

@ এসএমএল আমি রাউটার এবং পিপীলিকার পিছনে আছি আইএসপি দ্বারা রাউটারকে দেওয়া আইপি খুঁজে বের করতে
ইউজার 61954

আমি মাত্র আমার উত্তরে যুক্ত করা 3 য় উপায় দেখুন। আপনার রাউটার থেকে আপনার WAN আইপি পাওয়ার কোনও উপায় আছে কিনা তা আপনি দেখতে চাইছেন। রাউটারটি কোন মেক / মডেল?
slm

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

উত্তর:


27

আপনার সিস্টেমে ধরে নেওয়া যাক 2 ইথারনেট ডিভাইসের আছে, eth0এবং eth1এবং eth0আপনার LAN এর সাথে সংযুক্ত করা হয়, বলতে আইপিগুলি 192.168.1.X এবং আপনার eth1ডিভাইস আপনার ISP (অস্পষ্ট) আপনি নিম্নলিখিত ব্যবহার করতে চান করতে যাচ্ছেন সাথে সংযুক্ত করা হয় ifconfigকমান্ডের জন্য আপনার আইপি পেতে WAN পাশ।

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

1 ম উপায়

                          +------------------------+
  +--------+    WAN IP    |   Computer that wants  |  LAN IP
  |Internet|--------------|     to know WAN IP     |------------
  +--------+  54.234.1.33 | +------+      +------+ | 192.168.1.1
                          +-| eth1 |------| eth0 |-+
                            +------+      +------+

% ifconfig eth1 | awk '/inet / { print $2 }' | sed -e s/addr://
54.234.1.33

আপনি ipকমান্ডটিও ব্যবহার করতে পারেন ।

% ip addr show eth1 | awk '/inet/ {print $2}' | sed 's#/.*##'
54.234.1.33

২ য় উপায়

আপনার যদি এটি কেবল ল্যানে বসে থাকে এমন কোনও সিস্টেম থেকে খুঁজে বের করার প্রয়োজন হয় তবে আপনি একটি পাসফ্রেজ-কম এসএস কী সেটআপ করতে পারেন এবং এটি আপনার ল্যান মেশিনে একটি অ্যাকাউন্টে যুক্ত করতে পারেন যাতে এটি যেমন WAN অ্যাক্সেসের সাথে সিস্টেমে দূরবর্তীভাবে অ্যাক্সেস করতে পারে।

                                                            +----------------+
  +--------+    WAN IP      +-------------+      LAN IP     | Computer that  |
  |Internet|----------------|remote-server|-----------------| wants to know  |
  +--------+  54.234.1.33  +----+-----+----+  192.168.1.x  +----+ WAN IP     |
                           |eth1|     |eth0|               |eth0|------------+
                           +----+     +----+               +----+

% ssh ruser1@remote-server "ifconfig eth1 | awk '/inet / { print \$2 }' | sed -e s/addr://"
54.234.1.33

3 য় উপায়

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

                                                               192.168.1.2
                                                            +----------------+
  +--------+    WAN IP      +-------------+      LAN IP     | Computer that  |
  |Internet|----------------|router/switch|-----------------| wants to know  |
  +--------+  54.234.1.33   +-------------+   192.168.1.x  +----+ WAN IP     |
                              192.168.1.1                  |eth0|------------+
                                                           +----+

# something like this....

% wget -q -O - http://<username>:<password>@192.168.1.1/Status_Router.asp | grep "ipaddress" | cut -d" " -f2

দ্রষ্টব্য: এই পদ্ধতির আপনার উপর নির্ভর করে কোন রাউটার / স্যুইচ, এটি লিংকসিস, নেটগার ইত্যাদি ব্র্যান্ডের উপর নির্ভর করে। প্রত্যেকটির নিজস্ব WAN আইপি সহ নিজস্ব অনন্য পৃষ্ঠা থাকবে।

চতুর্থ উপায়

বাহ্যিক ইন্টারনেট সাইটের বিরুদ্ধে কোয়েরি প্রেরণ যা আপনার WAN আইপি ঠিকানাটি পুনরায় রিপোর্ট করবে।

দ্রষ্টব্য: আমি সচেতন যে মূল প্রশ্নটি উল্লেখ করেছে যে তারা এই পদ্ধতির বিকল্প খুঁজছিল তবে আমি এটিকে এখানে রাখছি যাতে এই উত্তরটি সমস্ত ঘাঁটিগুলিকে coversেকে দেয়।

                                                        +---------------+
  +-------------+   +--------+   +------+     LAN IP    | Computer that |
  |whatsmyip.com|---|Internet|---|router|---------------| wants to know |
  +-------------+   +--------+   +------+  192.168.1.x +----+ WAN IP    |
you're 54.234.1.33                                     |eth0|-----------+
                                                       +----+

# 1st server
% wget -qO - ipv4bot.whatismyipaddress.com
54.234.1.33

# 2nd server
% curl 'https://api.ipify.org?format=json'

{"ip":"54.234.1.33"}
% curl 'https://api.ipify.org?format=txt'
54.234.1.33

# 3rd server
% curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)</b.*#\1#'
54.234.1.33

অতিরিক্ত তথ্য এখানে উপলব্ধ: HOWTO: কমান্ড লাইন থেকে আপনাকে বাহ্যিক আইপি ঠিকানা চেক করুন


আমার সিস্টেমটি রাউটারের সাথে সংযুক্ত হওয়ার মতো কিছু রয়েছে এবং এটি ইন্ট্রনেটের সাথে সংযুক্ত রয়েছে
user61954

5
যেহেতু তিনি বলেছিলেন যে তিনি সরাসরি সংযুক্ত নেই, তাই কোনও eth*ডিভাইসে WAN আইপি থাকবে না। যদি না তার রাউটার ssh সমর্থন করে, তার অ্যাক্সেস আছে এবং ifconfig, এটি কাজ করে না। ডাউনভোটিং নয়, তবে কেবল যে কেউ এটি করার চেষ্টা করছেন সচেতন।
অ্যারোনএলএস

তাঁর প্রশ্নটি পুনরায় পড়ুন। তিনি বলেছেন যে তাঁর ল্যান অ্যাক্সেস রয়েছে, কেবল ইন্টারনেট অ্যাক্সেস নয়, আইটেম # 1। আইটেম # 2 বলছে যে সে তার আইএসপি থেকে একটি ডায়নামিক আইপি পাচ্ছে, আমি ধরে নিচ্ছি যে সে খালি তার ল্যানের কেবল সংযোগ এবং ইন্টারনেটের সাথে অন্য একটি সিস্টেম পেয়েছে বা সে একটি হোম রাউটার / স্যুইচ বি / ডব্লিউ ও তার সাথে ইন্টারনেট পেয়েছে।
slm

ডাউনভোটার্স, একটি মন্তব্য দেওয়ার চেষ্টা করুন, এই উত্তরটি এখন পর্যন্ত সবচেয়ে সম্পূর্ণ এবং তবুও লোকেরা ভোটগ্রহণ বন্ধ করছে। @ ব্যবহারকারী 61954 এমনকি তার মন্তব্যে বলেছিলেন যে তিনি রাউটারের পিছনে রয়েছেন সুতরাং আমি যে পদ্ধতিতে বর্ণনা করেছি তার একটি কার্যকর হবে of
slm

আমি upvated। তবে প্রথম এবং দ্বিতীয় উপায়টি কাজ করে না, এটি কেবল লোকিপ ঠিকানাটি দেয়। ধন্যবাদ!
জ্যারেড বুরোজ 21

12

আপনার সিস্টেমে কার্ল ইনস্টল করা থাকলে (বেশিরভাগ করুন), আপনি ব্যবহার করতে পারেন

curl ifconfig.me

আরে, ধন্যবাদ, আমাকে এই সাহায্য করুন, কেবল একটি প্রশ্ন, "ifconfig.me" কী তা আমি ifconfig ফাংশনটি জানি, তবে আমি সাধারণত এটির সাথে নেই। দয়া করে আপনি এটি সম্পর্কে পড়তে বা ব্যাখ্যা করার জন্য আমাকে একটি লিঙ্ক দিতে পারেন। - আপডেট - প্রশ্নটি পড়েনি। আপস
অ্যাবি ডব্লিউ

ifconfig.me এমন একটি ওয়েবসাইট যা আপনাকে আপনার আইপি দেয়।
ররি

ifconfig.me https সমর্থন করে না, তাই এটি স্পোফ করা যেতে পারে। আপনার ভিপিএন চালু আছে কিনা তা পরীক্ষা করে এটি ব্যবহার করা ভাল ধারণা নয়।
ড্যান ড্যাসক্লেস্কু

9

আপনি যখন UPNP এর সাথে একটি NAT রাউটারের পিছনে থাকেন, আপনি Wan আইপি ঠিকানা সনাক্ত করতে miniupnpc ব্যবহার করতে পারেন:

# debian/ubuntu setup: 
# sudo apt-get install miniupnpc

# get WAN IP address from UPNP router:
upnpc -s | grep ^ExternalIPAddress | cut -c21-

আপনি এটি কোনও স্ক্রিপ্টে ব্যবহার করতে পারেন যেমন ক্রোন যেমন:

#!/bin/bash
#
# In this example, lynx is used as http client. you could also use something else
# like wget etc.
# debian/ubuntu lynx setup: 
#
# apt-get install lynx
#

EXTIP=`upnpc -s | grep ^ExternalIPAddress | cut -c21-`
DDNSURL="http://your-ddns-service.com/update/my/ip/to/$EXTIP"
TFILE=/tmp/.WAN_IP
if [ -f $TFILE ]; then
        OXTIP=`head -1 $TFILE`
else
        touch $TFILE
        OXTIP="NULL"
fi
if [ "$EXTIP" != "$OXTIP" ]; then
        mv $TFILE "$TFILE~"
        echo "$EXTIP" > $TFILE
        lynx -source $DDNSURL > /dev/null
        echo "================================"
        date
        echo "WAN_IP = $EXTIP"
fi

5

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

উদাহরণস্বরূপ, ব্যবহার digসঙ্গে OpenDNS সমাধানকারী হিসাবে:

dig +short myip.opendns.com @resolver1.opendns.com

+1 টি, কিন্তু শেষ পর্যন্ত fthe দিন ণ ব্যবহার তার একই সময়ে curl ident.meআমরা কোনো নির্দিষ্ট পরিষেবা OS নির্ভর নেই ( myip.opendns,comবিশেষ-cased theat DNS সার্ভার দ্বারা হয়)
nhed

4

Ssh বা কার্লের মাধ্যমে আপনার রাউটার থেকে তথ্য আনুন।

আমি আমার সার্বজনীন আইপি জন্য dyndns জিজ্ঞাসা করতে কার্ল ব্যবহার করি কিন্তু এই জাতীয় আদেশটি আপনার জন্য প্রযোজ্য বলে মনে হচ্ছে না?

curl http://checkip.dyndns.org 2> /dev/null| perl -pe 's,.*Address: (\d+\.\d+\.\d+\.\d+).*,$1,'


2

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

তবে যতক্ষণ না বাহ্যিক পরিষেবাদি সম্পর্কিত, আমি আপনাকে দ্রুত এবং সহজ একটি লিখিত পরামর্শ দিতে হবে, আমি। এর সহজতম ফর্মটির জন্য আপনি ব্যবহার করতে পারেন curl ident.meএবং সম্পূর্ণ এপিআইটি http://api.ident.me/ এ নথিভুক্ত করা হয়েছে


1

যদি আপনার রাউটার NAT পিএমপি (পোর্ট ম্যাপিং প্রোটোকল) সমর্থন করে , আপনি নাটপম্প ব্যবহার করে আপনার সার্বজনীন আইপি পুনরুদ্ধার করতে সক্ষম হতে পারেন।

লিনাক্স নাটপম্পের লাইব্রেরিতে একটি কমান্ড লাইন ইন্টারফেস রয়েছে যাকে বলা হয় নাটপম্পিসি। উবুন্টুতে, এটি ন্যাটপম্প-ইউটিস প্যাকেজে রয়েছে। আমার রাউটারটি ন্যাটপ্যাম্প সমর্থন করে না, তাই আমি নিশ্চিত না যে ন্যাটপম্পসি ইউটিলিটি আপনার সার্বজনীন আইপি ফিরিয়ে দেবে।


0

আপনি যে লিনাক্স আদেশটি অনুসন্ধান করছেন তা ধরে ifconfigনিচ্ছে যে আপনি সরাসরি ইন্টারনেটের সাথে সংযুক্ত আছেন।

যদি না হয় এবং প্রক্সি বা বিশেষ রাউটিংয়ের মাধ্যমে অ্যাক্সেস করা হয় তবে সবচেয়ে সহজ উপায় হ'ল অন্য হোস্টটিতে লগইন / অ্যাক্সেস করা এবং সেখান থেকে এটি পরীক্ষা করা।

এছাড়াও, আপনি এই প্রশ্নটি আপনার বন্ধুত্বপূর্ণ প্রতিবেশী সিস্টেম প্রশাসকের সাথে আলোচনা করতে পছন্দ করতে পারেন।


ifconfigঅবচয় করা হয়।
BatchyX

"ট্রেস্রুট কমান্ড, তবে এটি লানের স্থানীয় আইপি দেয়, 192.168.1.1"। সুতরাং আমি অনুমান করি সেখানে একটি ল্যান রয়েছে। অতএব কোথাও কোথাও কোনও না কোনও রাউটার / গেটওয়ে / নাট থাকতে হবে। তারপরে আইফোনফিগ পাবলিক আইপ অ্যাড্রেস দেবে না কেননা অপের কম্পিউটার সরাসরি ইন্টারনেটের সাথে সংযুক্ত নয়।

@BatchyX। আপনি কোন ওএস চালাচ্ছেন? আমি যে প্রতিটি সিস্টেমে চলছে সেগুলির আইফোনফিগ রয়েছে। ফেডোরা, সেন্টোস, উবুন্টু, ইত্যাদি
স্ল্যাম

2
@ ব্যাচেক্স: এবং আপনি কোথায় এই তথ্য পাবেন? আমি আপনার সাথে একমত নই।
mdpc

1
@ সিম: যেহেতু একটি কমান্ড উপস্থিত রয়েছে তার অর্থ এই নয় যে তা হ্রাস করা হয়নি। শুধু তাকান ifconfigসর্বশেষ রিলিজ তারিখ। এখন ìproute2সর্বশেষ প্রকাশ দেখুন। উত্স হিসাবে, দেখুন lartc.org/howto/lartc.iproute2.html#LARTC.IPROUTE2.WHY
BatchyX

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