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位址的概念,也能增進對網路結構和安全性的理解。建議參考官方文件和其他資源進一步學習。