如何在Ubuntu上查詢IP位址

1. 什麼是IP位址?

IP位址是一個用於識別網路上設備的唯一編號。在互聯網或區域網路中進行通信時,IP位址是資料傳輸不可或缺的一部分。IP位址主要分為IPv4和IPv6兩種類型。IPv4使用類似「192.168.0.1」的32位元地址格式,而IPv6則使用類似「2001:0db8:85a3:0000:0000:8a2e:0370:7334」的128位元地址格式。IPv6能夠提供更大的地址空間,以支援更多的設備。

年収訴求

2. 在Ubuntu上查看IP位址的基本指令

在Ubuntu中,可以使用多種指令來查看IP位址。透過以下指令,可以輕鬆檢查系統配置的IP位址。

2.1 ip addr show 指令

ip addr show是一個功能強大的指令,建議用於最新的Linux發行版。它可以顯示網路介面配置的IPv4和IPv6位址。

使用範例:

$ sudo ip addr show

輸出範例:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic ens33
       valid_lft 86381sec preferred_lft 86381sec
    inet6 fe80::250:56ff:fe9a:de91/64 scope link 
       valid_lft forever preferred_lft forever
  • inet後的「192.168.1.10/24」是IPv4位址。「/24」是CIDR記法,表示子網遮罩長度(對應於255.255.255.0)。CIDR格式中,前24位表示網路部分,剩下的8位表示主機部分。
  • inet6後的地址顯示的是IPv6位址,例如「fe80::250:56ff:fe9a:de91」。

附加說明:

  • brd表示廣播位址。
  • scope表示位址的作用範圍,global表示全域作用範圍(互聯網),link表示鏈路本地範圍(僅限同一網段)。

2.2 hostname -I 指令

hostname -I指令會以空格分隔的方式顯示所有配置的IP位址。如果只需快速取得IP位址,此指令十分方便。

使用範例:

$ hostname -I

輸出範例:

192.168.1.10 fe80::250:56ff:fe9a:de91
  • 第一個值是IPv4位址,第二個值是IPv6位址。此指令僅顯示位址,並不包含其他詳細資訊。

預設介面的IP位址:

  • 要取得預設網路介面的IP位址,可使用以下指令:
$ ip route get 1.1.1.1

此指令顯示前往指定位址的路由資訊,並標示預設介面。

2.3 curl ifconfig.me 指令

curl ifconfig.me指令透過連線外部服務來取得公共IP位址。適合需要確認外部網路可見IP位址的情況。但需注意,此指令會向外部伺服器提供IP資訊,使用時請留意隱私安全。

使用範例:

$ curl ifconfig.me

輸出範例:

203.0.113.50

此輸出顯示的是外部網路可見的公共IP位址。

3. 舊指令 ifconfig 及其替代方案

ifconfig曾是Linux中管理網路的標準指令,但現已被淘汰,並且在新的Linux發行版中不再預設包含。取而代之的是更強大的ip指令。

ifconfig的安裝:

$ sudo apt install net-tools

使用範例:

$ sudo ifconfig

輸出範例:

inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
  • 「inet」後的「192.168.1.10」是IPv4位址。

ifconfig的限制:

  • ifconfig可能無法顯示所有的網路介面,尤其是虛擬介面或IPv6位址。而ip指令則提供更完整且最新的網路資訊。
侍エンジニア塾

4. 善用網路管理工具

4.1 nmcli 指令

nmcli是用於控制NetworkManager的指令工具,可以顯示網路裝置的詳細資訊。如果未安裝nmcli,可使用以下指令進行安裝。

安裝方法:

$ sudo apt install network-manager

使用範例:

$ nmcli device show

輸出範例:

IP4.ADDRESS[1]:                         192.168.1.10/24
  • 「IP4.ADDRESS[1]」後的「192.168.1.10」即為IPv4位址。

NetworkManager的狀態確認:

  • 確認NetworkManager是否正常執行,可使用以下指令:
$ systemctl status NetworkManager
侍エンジニア塾

5. 各種情境下的IP位址查詢

IP位址查詢適用於多種情境,例如網路連線故障排查、伺服器設定或遠端連線準備。透過了解不同的指令,可以根據需求選擇合適的方式。

故障排查提示:

  • 網路問題: 若IP位址未正確配置,可能導致網路連線失敗。使用ip addr show檢查設置,確認正確配置於指定介面。此外,部分變更需要加入sudo權限。
  • 遠端存取設置: 設置伺服器遠端存取時,需要知道正確的公共IP位址。使用curl ifconfig.me查詢公共IP位址,並檢查路由器的連接埠轉發設置是否正確。
  • 連線檢查: 使用ping指令檢查與特定主機的連線。例如透過ping google.com測試網路連線是否正常,或使用traceroute檢查封包的傳遞路徑與延遲。
$ ping google.com
$ traceroute google.com
年収訴求

6. 總結

在Ubuntu中,有多種方式可用於查詢IP位址。每個指令有其特定優勢,根據需求選擇合適的方法至關重要。ip addr show提供詳細的網路資訊,hostname -I適合快速取得IP位址,而curl ifconfig.me可檢查公共IP位址,但需注意隱私問題。此外,雖然ifconfig已被淘汰,但在某些情境下仍可使用。

熟練掌握這些指令有助於提高網路管理的效率,尤其是在排查網路故障時,快速找到問題並採取適當解決方案非常重要。同時,了解NAT(網路位址轉換)與IP位址的概念,也能增進對網路結構和安全性的理解。建議參考官方文件和其他資源進一步學習。