आपके सिस्टम मान लिया जाये कि 2 ईथरनेट उपकरणों है, eth0
और eth1
और eth0
अपने लैन से जुड़ा है, कहते हैं कि आईपी 192.168.1.x और अपने eth1
डिवाइस अपने आईएसपी (वैन) आप निम्नलिखित का उपयोग करना चाहते करने जा रहे हैं से जुड़ा है ifconfig
आदेश के लिए आपके आईपी प्राप्त करने के लिए वान पक्ष।
नोट: 1 2 तरीके मान लेते हैं कि आप उन्हें कंप्यूटर के खिलाफ चला रहे हैं जिसमें 2 ईथरनेट डिवाइस हैं और उनमें से एक आपके ISP (केबल मॉडेम और / या DSL मॉडेम) से जुड़ा है। इस परिदृश्य में ईथरनेट डिवाइस (eth1) को आपके IP पते के साथ इंटरनेट (WAN IP) पर कॉन्फ़िगर किया जाएगा।
पहला तरीका
+------------------------+
+--------+ 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
दूसरा तरीका
यदि आपको इसे किसी ऐसे सिस्टम से ढूंढना है जो केवल LAN पर बैठता है तो आप पासफ़्रेज़-लेस ssh कुंजी सेट कर सकते हैं और इसे अपने LAN मशीन पर एक खाते में जोड़ सकते हैं ताकि यह सिस्टम को 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
तीसरा तरीका
यदि आप उस बॉक्स में ssh करने में असमर्थ हैं जिसमें WAN पहुंच है और आप एक होम राउटर / स्विच का उपयोग कर रहे हैं जैसे कि Linksys या Netgear बॉक्स। आप HTTP स्थिति पृष्ठ के माध्यम से उस डिवाइस से आईपी प्राप्त करने में सक्षम हो सकते हैं। मैंने अतीत में भी ऐसा किया है, इस whatismyip.com फोरम पोस्ट में वर्णित कुछ समान है ।
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
नोट: यह दृष्टिकोण अत्यधिक निर्भर करता है कि आपके पास कौन सा राउटर / स्विच है, चाहे वह एक Linksys, Netgear, आदि ब्रांड हो। प्रत्येक का अपना विशिष्ट पेज होगा, जिस पर WAN IP होगा।
चौथा रास्ता
एक बाहरी इंटरनेट साइट के खिलाफ एक क्वेरी भेजना जो आपके WAN IP पते को वापस रिपोर्ट करेगी।
नोट: मुझे पता है कि मूल प्रश्न का उल्लेख है कि वे इस दृष्टिकोण के विकल्प की तलाश कर रहे थे, लेकिन मैं इसे यहां डाल रहा हूं ताकि यह उत्तर सभी आधारों को कवर करे।
+---------------+
+-------------+ +--------+ +------+ 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: आप कमांड लाइन से बाहरी आईपी पते की जांच करें