私のラップトップのIPとWANのCIDR、つまりインターネットが私を見る方法を使っていくつかのリモートシステムを更新するスクリプトがあります。
bashからWANのIPを取得するには、次のコマンドを使用します。
dig +short myip.opendns.com @resolver1.opendns.com
BashでWANのIP CIDRを取得するには?
答え1
一般的に言えば、短い答えは実際には可能ではないということです。
ファイアウォールにアクセスでき、ファイアウォールの外部インターフェイスにパブリックIPアドレスがある非常に特別な場合は、ファイアウォールの「shall」プロンプトにアクセスできます。次のことができます。
ssh [email protected] 'eval $(ipcalc -np `ifconfig eth1 | sed -n "s/inet addr:\([^ ]*\).*Mask:\([^ ]*\).*/\1 \2/p"`) ; echo $NETWORK/$PREFIX'
このコマンドは Redhat6 にのみ適用されます。
ネットワーク管理者は外部インターフェイスを設定するためにISPから提供された情報を入力するので、この情報はファイアウォールで利用できることに注意してください。したがって、この情報を取得するための信頼できる唯一の方法は、ISPに連絡することです。 DNSおよびwhoisレコードからISPのCIDRを推論できますが、ISPが内部的にIPを使用可能なセグメントに分割する方法は推論できません。これは管理機能なので、管理手段で解決する必要があります。