Dengan asumsi sistem Anda memiliki 2 perangkat ethernet, eth0
dan eth1
dan eth0
terhubung ke LAN Anda, katakan IP 192.168.1.X dan eth1
perangkat Anda terhubung ke ISP (WAN) Anda, Anda akan ingin menggunakan ifconfig
perintah berikut untuk mendapatkan IP Anda untuk sisi WAN.
CATATAN: 2 cara pertama mengasumsikan bahwa Anda menjalankannya terhadap komputer yang memiliki 2 perangkat ethernet dan salah satunya terhubung ke ISP Anda (modem kabel dan / atau modem DSL). Dalam skenario ini, perangkat ethernet (eth1) akan dikonfigurasikan dengan alamat IP Anda di internet (WAN IP).
Cara 1
+------------------------+
+--------+ WAN IP | Computer that wants | LAN IP
|Internet|--------------| to know WAN IP |------------
+--------+ 54.234.1.33 | +------+ +------+ | 192.168.1.1
+-| eth1 |------| eth0 |-+
+------+ +------+
% ifconfig eth1 | awk '/inet / { print $2 }' | sed -e s/addr://
54.234.1.33
Anda juga dapat menggunakan ip
perintah.
% ip addr show eth1 | awk '/inet/ {print $2}' | sed 's#/.*##'
54.234.1.33
2nd way
Jika Anda perlu mencari tahu ini dari sistem yang hanya duduk di LAN, Anda dapat mengatur kunci ssh-less ssh dan menambahkannya ke akun di mesin LAN Anda sehingga dapat mengakses sistem dari jarak jauh dengan akses WAN seperti itu.
+----------------+
+--------+ WAN IP +-------------+ LAN IP | Computer that |
|Internet|----------------|remote-server|-----------------| wants to know |
+--------+ 54.234.1.33 +----+-----+----+ 192.168.1.x +----+ WAN IP |
|eth1| |eth0| |eth0|------------+
+----+ +----+ +----+
% ssh ruser1@remote-server "ifconfig eth1 | awk '/inet / { print \$2 }' | sed -e s/addr://"
54.234.1.33
Cara ke-3
Jika Anda tidak dapat ssh ke dalam kotak yang memiliki akses WAN dan Anda menggunakan router / switch rumah seperti kotak Linksys atau Netgear. Anda mungkin bisa mendapatkan IP dari perangkat itu melalui halaman status HTTP. Saya telah melakukan ini di masa lalu juga, sesuatu yang mirip dengan apa yang dijelaskan dalam posting forum whatismyip.com ini .
192.168.1.2
+----------------+
+--------+ WAN IP +-------------+ LAN IP | Computer that |
|Internet|----------------|router/switch|-----------------| wants to know |
+--------+ 54.234.1.33 +-------------+ 192.168.1.x +----+ WAN IP |
192.168.1.1 |eth0|------------+
+----+
# something like this....
% wget -q -O - http://<username>:<password>@192.168.1.1/Status_Router.asp | grep "ipaddress" | cut -d" " -f2
CATATAN: Pendekatan ini sangat tergantung pada router / switch yang Anda miliki, apakah itu merek Linksys, Netgear, dll. Masing-masing akan memiliki halaman unik mereka sendiri dengan IP WAN di atasnya.
Cara 4
Mengirim kueri ke situs internet eksternal yang akan melaporkan kembali alamat IP WAN Anda.
CATATAN: Saya sadar bahwa pertanyaan awal menyebutkan bahwa mereka mencari alternatif untuk pendekatan ini, tetapi saya menaruhnya di sini sehingga jawaban ini mencakup semua pangkalan.
+---------------+
+-------------+ +--------+ +------+ LAN IP | Computer that |
|whatsmyip.com|---|Internet|---|router|---------------| wants to know |
+-------------+ +--------+ +------+ 192.168.1.x +----+ WAN IP |
you're 54.234.1.33 |eth0|-----------+
+----+
# 1st server
% wget -qO - ipv4bot.whatismyipaddress.com
54.234.1.33
# 2nd server
% curl 'https://api.ipify.org?format=json'
{"ip":"54.234.1.33"}
% curl 'https://api.ipify.org?format=txt'
54.234.1.33
# 3rd server
% curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)</b.*#\1#'
54.234.1.33
Info tambahan tersedia di sini: HOWTO: Periksa alamat IP eksternal Anda dari baris perintah