Jawaban:
/sbin/ifconfig -a
inet addr
?
Anda dapat gunakan:
/bin/ip addr
ifconfig
sedang bertahap sekarang.
ip a
.
Jika Anda memiliki alamat internal yang digunakan, periksa
curl http://myip.dnsomatic.com
mungkin ide yang bagus di shell unix.
Atau, cukup masukkan URL itu ke browser Anda.
Jika Anda mendapatkan jawaban yang berbeda dari " ifconfig -a
" hasil,
yang ifconfig
memberi alamat internal Anda - yang mungkin tidak akan bekerja dari luar.
Bahkan jika semua tampak baik-baik saja, Anda dapat memiliki firewall di tempat yang akan melarang koneksi ssh yang masuk .
Di mana Anda harus mencoba port yang menarik dari browser pada mesin di,
http://www.canyouseeme.org/
Itu akan mengkonfirmasi konektivitas melalui,
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses
. Tampilkan semua alamat jaringan host. Opsi ini menyebutkan semua alamat yang dikonfigurasi pada semua antarmuka jaringan. Antarmuka loopback dan alamat IP-link-lokal dihilangkan. Berlawanan dengan opsi -i, opsi ini tidak bergantung pada resolusi nama. Jangan membuat asumsi tentang urutan output.
/bin/hostname -I
/bin/hostname -i
hanya memberi 127.0.1.1
, yang tidak berguna.
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Jika Anda memerlukan alamat internal Anda tambahkan antarmuka Anda setelah ifconfig, mis
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Jika Anda berada di belakang NAT, dan memerlukan IP publik, gunakan ini:
wget -q -O - checkip.dyndns.org | sed -e 's /. Alamat IP Saat Ini: // '-e' s / <. $ // '
diambil dari: http://www.go2linux.org/what-is-my-public-ip-address-with-linux
Jika Anda perlu mencari tahu alamat IP router Anda, Anda bisa menjalankan perintah ini.
gali + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
Jika Anda menggunakan OpenDNS untuk server dns Anda, Anda dapat mempersingkatnya menjadi:
gali + short myip.opendns.com
Anda juga bisa menggunakan perintah ini.
curl http://myip.dnsomatic.com
Jika Anda memiliki banyak antarmuka, bisa berguna untuk menentukan IP mana yang Anda inginkan. jika Anda ingin alamat IPV4 antarmuka 'eth0':
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
jika Anda ingin alamat IPV6 antarmuka 'eth0':
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
jika Anda ingin mencari IP antara dua antarmuka umum sebuah laptop, wlan0 dan eth0:
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
Hanya menggulung halaman ini :
$ curl wtfismyip.com/text
Ini adalah satu baris yang bekerja di Linux dan OS X juga, dan itu akan mengembalikan alamat pertama yang bukan lokal:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Kirim kredit ke /programming//a/13322549/99834
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
Mungkin cara paling sederhana untuk melakukannya
ifconfig eth0
dengan asumsi mesin memiliki alamat IP tunggal pada antarmuka kabel standar - Anda mungkin perlu
ifconfig wlan0
jika ada WiFi.
Yang saya mengerti adalah Anda ingin menghubungkan mesin ubuntu jarak jauh yang memiliki ip dinamis. Buka situs dyndns.org dan buka akun gratis. Kemudian pada mesin jarak jauh Anda perlu menginstal alat ip dinamis.
sudo aptitude install dyndns-client
sehingga Anda dapat ssh melalui mesin remote
ssh username@yourdynamicnamealias.dyndns.org
Jadi setelah konfigurasi Anda tidak akan pernah memerlukan alamat ip mesin jarak jauh.
jika Anda hanya membutuhkan satu IP antarmuka yang dapat Anda lakukan:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
Saya pernah bermain ekstraksi alamat IP di Linux:
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
Jika Anda mencari alamat IP publik kotak tersebut , Anda dapat menggunakan yang berikut:
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"
Anda dapat menggunakan dig(1)
opsi seperti -4
atau -6
untuk secara khusus mencari alamat IPv4 atau IPv6; Google akan memberikan jawaban dalam catatan TXT
jenis, yang akan memiliki tanda kutip ketika disajikan oleh dig
; jika Anda ingin menggunakan variabel dengan utilitas seperti traceroute
, Anda harus menggunakan sesuatu seperti tr (1) untuk menghapus tanda kutip tersebut.
Pilihan lain termasuk whoami.akamai.net
dan myip.opendns.com
, yang menjawab A
dan AAAA
mencatat (alih-alih TXT
seperti pada contoh di atas dari Google), jadi, mereka tidak perlu menghapus tanda kutip:
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
Berikut ini contoh skrip yang menggunakan semua opsi di atas untuk mengatur variabel:
#!/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}"
Jika Anda mencari alamat IP pribadi, atau satu set semua alamat IP yang ditetapkan untuk kotak, Anda dapat menggunakan beberapa kombinasi ifconfig
(pada BSD dan GNU / Linux), ip addr
(pada GNU / Linux), hostname
(opsi -i
dan -I
pada GNU / Linux) dan netstat
untuk melihat apa yang terjadi.
vi /etc/network/interfaces
dan atur antarmuka untukstatic
(lihat help.ubuntu.com/8.10/serverguide/C/network-configuration.html )