web-dev-qa-db-ja.com

Debianでcliを使用して自己の動的パブリックIPアドレスを見つける方法はありますか?

ウェブを理解する最も簡単な/最も簡単なのは

a。 ISPに接続すると、ISPはその接続の間だけ動的アドレス(一時的な電話番号など)を提供します。次に接続すると、別の動的IPアドレスが使用されます。

b。ブラウザを使用して、静的IPアドレス(永続的な番号や施設の永続的なアドレスなど)を持つさまざまなサイトにアクセスします。

Whatismyipaddress.comのようなWebサービスに行く代わりに、自分のIPアドレスを取得する方法があります。

接続は次のとおりです。

ISP-モデム/ルーター-システム

編集-モデム/ルーターはD-Link DSL-2750U ADSLルーター/モデムです。 http://www.dlink.co.in/products/?pid=452

私は見ました ログファイルでパブリックIPアドレスを追跡する方法は? しかし、それは外部Webサービスも使用しているので、外部のURL/IPに行かなくてもできるとよいでしょう同じのアドレス。

5
shirish

Tonyの回答に加えて、OpenDNSにクエリを実行します。これは、サーバーにログオンするときにスクリプトで使用して、ローカルマシンとリモートパブリックIPアドレスの両方を表示します。

echo `hostname` `hostname -i` `Dig +short +time=1 myip.opendns.com @resolver1.opendns.com`

Googleも同様のサービスを提供しています。

Dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

プライベートIPアドレスを持っている場合、自宅や企業のルーター/インフラストラクチャの背後にある場合、または自分のルーターである場合でも、インターネットのこれらのサービスは、それらに到達するために使用しているパブリックIPアドレスを明らかにします。リクエストを行っている彼らに到着します。

上記の方法は、問題のLinuxマシンがインターネットに直接アクセスできる場合にのみ機能することに注意してください。

Linuxサーバーがルーターである場合は、現在のインターフェイスを確認できるだけでなく、次のことも行うことができます。

hostname -i

通常どおり、パブリックIPアドレスがメイン/最初のインターフェイスであることがよくあります。最初のインターフェースでない場合は、次のようにすることもできます。

$hostname -I
95.xx.xx.xxx 192.168.202.1 192.168.201.1 

これにより、マシンインターフェイスのすべてのIPアドレスが表示されます。

また読んでください:

LinuxのコマンドラインからパブリックIPアドレスを見つける方法

繰り返しになりますが、Linuxサーバーがルーターである場合、この質問で説明したように、スクリプトを/etc/dhcp/dhclient-exit-hooks.dに配置して、IPの変更を追跡して処理することは興味深いかもしれません。

ISPからのIPアドレス変更に対処するためのより良い方法?

8
Rui F Ribeiro

モデムまたはルーターがその情報を照会する方法を提供している場合にのみ、これを行うことができます。 IPアドレスはルーターまたはモデムのWAN /インターネットに面したインターフェースに割り当てられているため、それを照会するか、インターネットサービスに接続してそれが何であったかを通知する必要があります。 。

これを使用して、DNSを使用して応答を取得できます。

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

しかし、それはそれを達成するために外部サービスに行きます。

したがって、ルーターにクエリを実行するか(使用できるインターフェイスがある場合)、外部サービスを使用します。

もちろん、Linuxマシンがルーターの場合、ipまたはipconfigを使用してWANインターフェースを照会します。

5
EightBitTony

1)Dig(ドメイン情報groper)コマンドを使用できます。

Dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

または:Dig TXT +short o-o.myaddr.l.google.com @ns1.google.com

2)Hostコマンドを試すことができます:

Host myip.opendns.com resolver1.opendns.com

3)コマンドcurlまたはwgetを使用してサードパーティのWebサイトを使用する:

curl ipecho.net/plain ; echo

または

wget -qO- http://ipecho.net/plain ; echo

または

curl ipv4.icanhazip.com

4)telnetによる:

telnet myip.gelma.net
3
GAD3R

あなたのシステムはそのIPを知らないので、あなたはシステムの外部に何かを尋ねるでしょう。あなたのルーターが知っているように、それはそのようなサービスを提供する可能性があります、私はそれを提供するルーターを知りません(しかし私は調査したことがありません)が、その機能を備えたルーターが存在する場合、おそらくあなたのルーターのモデルを知る必要がありますあなたはどのように。

パブリックIPが存在し、すべてがWebベースであるとは限らないことを通知するさまざまなサービスがあります。当然、ルーターはこのWebベースと非Webベースを実装できます。