Sisteminizde 2 ethernet cihazı olduğunu eth0
ve eth1
ve eth0
LAN'ınıza bağlı olduğunu varsayalım, IP 192.168.1.X diyelim ve eth1
cihazınız ISS'nize (WAN) bağlıysa, IP’nizi ifconfig
almak için aşağıdaki komutu kullanmak isteyeceksiniz. WAN tarafı.
NOT: İlk 2 yöntem, onları 2 ethernet aygıtına sahip bir bilgisayara karşı çalıştırdığınızı ve bunlardan birinin ISS'nize (kablolu modem ve / veya DSL modem) bağlı olduğunu varsaymaktadır. Bu senaryoda, ethernet cihazı (eth1) İnternet üzerindeki IP adresinizle (WAN IP) yapılandırılacaktır.
1. yol
+------------------------+
+--------+ 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
ip
Komutu da kullanabilirsiniz .
% ip addr show eth1 | awk '/inet/ {print $2}' | sed 's#/.*##'
54.234.1.33
2. yol
Bunu yalnızca LAN'da oturan bir sistemden bulmanız gerekirse, parola içermeyen bir ssh anahtarı ayarlayabilir ve WAN erişimi gibi sisteme uzaktan erişebilmesi için LAN makinenizdeki bir hesaba ekleyebilirsiniz.
+----------------+
+--------+ 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
3. yol
WAN erişimi olan kutuya giremiyorsanız ve Linksys veya Netgear kutusu gibi bir ev yönlendiricisi / anahtarı kullanıyorsanız. IP'yi bu cihazdan bir HTTP durum sayfası aracılığıyla alabilirsiniz. Bunu geçmişte de yaptım, bu whatismyip.com forumunda açıklananlara benzer bir şey .
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
NOT: Bu yaklaşım, sahip olduğunuz yönlendirici / anahtara, bir Linksys, Netgear, vb. Markanın olmasına bağlıdır. Her birinin üzerinde WAN IP'si olan kendine özgü bir sayfası olacak.
4. yol
WAN IP adresinizi geri bildirecek harici bir internet sitesine karşı sorgu gönderme.
NOT: Orijinal sorunun, bu yaklaşıma alternatifler aradıklarını belirttiğinin farkındayım, ancak bu cevabı tüm temelleri kapsayacak şekilde buraya koyuyorum.
+---------------+
+-------------+ +--------+ +------+ 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
Ek bilgi burada bulunabilir: NASIL : NASIL: Harici IP Adresini komut satırından kontrol edin