Antworten:
/sbin/ifconfig -a
inet addr
?
Wenn Sie eine interne Adresse verwenden, überprüfen Sie
curl http://myip.dnsomatic.com
könnte eine gute Idee für Unix-Shells sein.
Oder geben Sie diese URL einfach in Ihren Browser ein.
Wenn Sie eine andere Antwort aus dem „get ifconfig -a
“ Ergebnis,
das ifconfig
gab Ihre interne Adresse - das wird wahrscheinlich nicht Arbeit von außen.
Auch wenn alles in Ordnung zu sein scheint, können Sie eine Firewall einrichten, die eingehende SSH- Verbindungen verhindert.
Zu welchem Zeitpunkt sollten Sie den Port von Interesse von einem Browser auf der Maschine aus versuchen,
http://www.canyouseeme.org/
Das wird die Konnektivität durch bestätigen,
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses
. Alle Netzwerkadressen des Hosts anzeigen. Diese Option listet alle konfigurierten Adressen auf allen Netzwerkschnittstellen auf. Die Loopback-Schnittstelle und IPv6-Link-Local-Adressen entfallen. Im Gegensatz zur Option -i hängt diese Option nicht von der Namensauflösung ab. Machen Sie keine Annahmen über die Reihenfolge der Ausgabe.
/bin/hostname -I
/bin/hostname -i
nur 127.0.1.1
, was nutzlos ist.
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Wenn Sie Ihre interne Adresse benötigen, fügen Sie Ihre Schnittstelle nach ifconfig hinzu, z
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Wenn Sie sich hinter einem NAT befinden und die öffentliche IP benötigen, verwenden Sie Folgendes:
wget -q -O-checkip.dyndns.org | sed -es /. Aktuelle IP-Adresse: // '-e' s / <. $ // '
entnommen aus: http://www.go2linux.org/what-is-my-public-ip-address-with-linux
Wenn Sie die IP-Adresse Ihres Routers ermitteln müssen, können Sie diesen Befehl ausführen.
dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
Wenn Sie OpenDNS für Ihren DNS-Server verwenden, können Sie es folgendermaßen kürzen:
dig + short myip.opendns.com
Sie können diesen Befehl auch verwenden.
locken http://myip.dnsomatic.com
Wenn Sie mehrere Schnittstellen haben, kann es hilfreich sein, die gewünschte IP-Adresse anzugeben. Wenn Sie die IPV4-Adresse der Schnittstelle 'eth0' wünschen:
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
Wenn Sie die IPV6-Adresse der Schnittstelle 'eth0' möchten:
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
Wenn Sie zwischen zwei gemeinsamen Schnittstellen eines Laptops, wlan0 und eth0, nach einer IP suchen möchten:
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
Locken Sie einfach diese Seite :
$ curl wtfismyip.com/text
Hier ist eine Zeile, die auch unter Linux und OS X funktioniert und die erste Adresse zurückgibt, die nicht lokal ist:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Senden Sie Credits an /programming//a/13322549/99834
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
Der einfachste Weg ist wahrscheinlich
ifconfig eth0
Angenommen, das Gerät verfügt über eine einzige IP-Adresse auf der standardmäßigen kabelgebundenen Schnittstelle. Dies ist möglicherweise erforderlich
ifconfig wlan0
wenn es auf WiFi ist.
Was ich verstehe, ist, dass Sie eine entfernte Ubuntu-Maschine anschließen möchten, die eine dynamische IP hat. Gehen Sie zur Website dyndns.org und eröffnen Sie ein kostenloses Konto. Dann müssen Sie auf dem Remote-Computer ein dynamisches IP-Tool installieren.
sudo aptitude install dyndns-client
so können Sie Remote-Maschine über ssh
ssh username@yourdynamicnamealias.dyndns.org
Nach der Konfiguration wird die IP-Adresse der Remote-Maschine also nie mehr benötigt.
Wenn Sie nur eine einzige IP-Adresse einer bestimmten Schnittstelle benötigen, können Sie Folgendes tun:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
Ich habe einmal das Extrahieren von IP-Adressen unter Linux gespielt:
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
Wenn Sie nach einer öffentlichen IP-Adresse der Box suchen , können Sie Folgendes verwenden:
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"
Sie können dig(1)
Optionen wie -4
oder verwenden, -6
um gezielt nach einer IPv4- oder IPv6-Adresse zu suchen. Google wird eine Antwort in einem Datensatz des TXT
Typs bereitstellen , der bei Vorlage durch Anführungszeichen enthält dig
. Wenn Sie die Variable anschließend mit Dienstprogrammen wie verwenden möchten traceroute
, müssen Sie etwas wie tr (1) verwenden , um diese Anführungszeichen zu entfernen.
Zu den weiteren Optionen gehören whoami.akamai.net
und myip.opendns.com
, die mit A
und AAAA
records antworten (anstelle des TXT
obigen Beispiels von Google). Daher müssen die Anführungszeichen nicht entfernt werden:
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
Hier ist ein Beispielskript, das alle oben genannten Optionen zum Festlegen der Variablen verwendet:
#!/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}"
Wenn Sie nach einer privaten IP-Adresse oder nach einer Reihe aller der Box zugewiesenen IP-Adressen suchen, können Sie eine Kombination aus ifconfig
(unter BSD und GNU / Linux), ip addr
(unter GNU / Linux), hostname
(Optionen -i
und -I
ein) verwenden GNU / Linux) und um netstat
zu sehen, was los ist.
vi /etc/network/interfaces
stellen Sie die Benutzeroberfläche aufstatic
(siehe help.ubuntu.com/8.10/serverguide/C/network-configuration.html )