回答:
使用中の内部アドレスがある場合、チェック
curl http://myip.dnsomatic.com
UNIXシェルでは良いアイデアかもしれません。
または、そのURLをブラウザに突っ込むだけです。
あなたは「とは異なる答えを得る場合はifconfig -a
、」結果を、外部からだろうおそらくない仕事-あなたの内部アドレスを与えました。ifconfig
すべてが正常に見える場合でも、着信ssh接続を許可しないファイアウォールを設定できます。
その時点で、マシンのブラウザから目的のポートを試す必要があります。
http://www.canyouseeme.org/
これにより、接続が確認されます。
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses
ます。ホストのすべてのネットワークアドレスを表示します。このオプションは、すべてのネットワークインターフェイスで設定されたすべてのアドレスを列挙します。ループバックインターフェイスとIPv6リンクローカルアドレスは省略されています。オプション-iとは異なり、このオプションは名前解決に依存しません。出力の順序について何も仮定しないでください。
/bin/hostname -I
/bin/hostname -i
ただ与えるだけで127.0.1.1
、それは役に立たない。
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
内部アドレスが必要な場合、ifconfigの後にインターフェースを追加します。例えば
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
NATの背後にいて、パブリックIPが必要な場合、これを使用します。
wget -q -O-checkip.dyndns.org | sed -e 's /。現在のIPアドレス:// '-e' s / <。$ // '
から取得:http : //www.go2linux.org/what-is-my-public-ip-address-with-linux
ルーターのIPアドレスを調べる必要がある場合は、このコマンドを実行できます。
dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
DNSサーバーにOpenDNSを使用している場合は、次のように短縮できます。
dig + short myip.opendns.com
このコマンドを使用することもできます。
curl http://myip.dnsomatic.com
複数のインターフェイスがある場合、どのインターフェイスにIPが必要かを指定すると便利です。インターフェイス 'eth0'のIPV4アドレスが必要な場合:
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
インターフェイス 'eth0'のIPV6アドレスが必要な場合:
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
ラップトップの2つの一般的なインターフェイスwlan0とeth0の間でIPを検索する場合:
CURRENT_IP=''
for INTERFACE in wlan0 eth0; do
if [ -z $CURRENT_IP ]; then
CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }')
fi
done
LinuxおよびOS Xでも機能する1行を次に示します。これは、ローカルではない最初のアドレスを返します。
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
/programming//a/13322549/99834にクレジットを送信します
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
私が理解しているのは、ダイナミックIPを持つリモートubuntuマシンを接続したいということです。dyndns.orgサイトにアクセスして、無料のアカウントを開きます。次に、リモートマシンに動的IPツールをインストールする必要があります。
sudo aptitude install dyndns-client
あなたは経由でリモートマシンをsshすることができます
ssh username@yourdynamicnamealias.dyndns.org
そのため、構成後、リモートマシンのIPアドレスは必要ありません。
特定のインターフェイスのIPが1つだけ必要な場合は、次の操作を実行できます。
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
私はかつてLinuxでIPアドレスの抽出を行ってきました。
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
ボックスのパブリックIPアドレスを探している場合は、次を使用できます。
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"
またはなどのdig(1)
オプションを使用して、特にIPv4またはIPv6アドレスを検索できます。Googleは、タイプのレコードで回答を提供します。その後、変数をなどのユーティリティで使用する場合は、tr(1)などを使用して、上記の引用符を削除する必要があります。-4
-6
TXT
dig
traceroute
他のオプションには、whoami.akamai.net
とが含まれmyip.opendns.com
、で応答しA
、AAAA
記録します(TXT
上記のGoogleの例ではなく)ので、引用符を削除する必要はありません。
dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short
dig -4 @resolver1.opendns.com -t any myip.opendns.com +short
dig -6 @resolver1.opendns.com -t any myip.opendns.com +short
上記のすべてのオプションを使用して変数を設定するサンプルスクリプトを次に示します。
#!/bin/sh
IPANY="$(dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv4="$(dig -4 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv6="$(dig -6 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
AKAMv4="$(dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short)"
CSCOv4="$(dig -4 @resolver1.opendns.com -t a myip.opendns.com +short)"
CSCOv6="$(dig -6 @resolver1.opendns.com -t aaaa myip.opendns.com +short)"
printf '$GOOG:\t%s\t%s\t%s\n' "${IPANY}" "${GOOGv4}" "${GOOGv6}"
printf '$AKAM:\t%s\n$CSCO:\t%s\t%s\n' "${AKAMv4}" "${CSCOv4}" "${CSCOv6}"
あなたはプライベートIPアドレスを探しているなら、またはボックスに割り当てられたすべてのIPアドレスのセットのために、あなたはいくつかの組み合わせを使用することができifconfig
、(BSDやGNU / Linux上)ip addr
(GNU / Linux上)、 hostname
(オプション-i
および-I
上GNU / Linux)およびnetstat
何が起こっているかを確認します。
vi /etc/network/interfaces
、インターフェイスをstatic
(help.ubuntu.com/8.10/serverguide/C/network-configuration.htmlを参照)に設定します