IP 地址可以分為兩類,公用和私有(專用)。公用 IP 是唯一的 IP 地址,可以從 Internet 訪問。專用 IP 地址保留供您專用網絡內部使用,而不會直接暴露給 Internet。
本文將介紹幾種確定 Linux 系統的公共 IP 地址和私有 IP 地址的不同方法。(當然有些在windows下也是可以的)
查找你的私有 IP 地址
專用 IP 地址不可通過 Internet 路由,並且只能在本地網絡內工作。通常,專用 IP 地址是由路由器分配給本地網絡中的每個設備的。這為本地網絡中的設備(例如電話、筆記本電腦、智能電視、打印機、媒體中心等)提供了唯一的 IP 地址。本地網絡上的設備通過 NAT(網絡地址轉換)連接到 Internet。
以下 IPv4 地址范圍是為專用網絡保留的:
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
你可以通過使用諸如 ip
、ifconfig
或 hostname
命令查詢網絡堆棧確定系統的私有 IP 地址。
在 Linux 中,用於顯示和配置網絡接口的標准工具是 ip
。
要顯示所有網絡接口和關聯的 IP 地址的列表,請鍵入以下命令:
ip addr
你還可以使用以下命令來顯示私有 IP 地址:
$ hostname -I $ ifconfig
查找你的公共 IP 地址
確定公共 IP 地址可以通過 HTTP/HTTPS
或 DNS
協議聯系遠程服務器,並從遠程服務器響應中獲取 IP 地址。
如果你是在沒有 GUI 的 Linux 服務器上獲取你分配到的公網 IP 地址,你可以使用命令行工具 dig
、curl
和 wget
等來獲取。
大多數 DNS 提供商(例如:OpenDNS 和 Google)都允許你查詢其服務器並獲取你的公共 IP 地址。你可以使用以下任何命令來獲取公網 IP:
$ dig ANY +short @resolver2.opendns.com myip.opendns.com $ dig ANY +short @resolver2.opendns.com myip.opendns.com $ dig ANY +short @ns1-1.akamaitech.net ANY whoami.akamai.net
另外,有許多在線 HTTP/HTTPS
服務可以返回你的公共 IP 地址。這里是其中的一些:
$ curl -s http://tnx.nl/ip $ curl -s https://checkip.amazonaws.com $ curl -s api.infoip.io/ip $ curl -s ip.appspot.com $ wget -O - -q https://icanhazip.com/
$ curl ip.sb
為了方便使用,你還可以創建一個別名來方便查詢。
alias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'
現在,你要查找公共 IP 時,只需鍵入 pubip
命令即可。
參考鏈接:https://mp.weixin.qq.com/s/dkVd0eQfzGHxM3SQ6picuQ