當(dāng)前位置 主頁(yè) > 技術(shù)大全 >
在眾多用于網(wǎng)絡(luò)配置的工具中,`ip` 命令套件以其強(qiáng)大的功能和靈活的用法,逐漸取代了傳統(tǒng)的 `ifconfig` 命令,成為現(xiàn)代Linux系統(tǒng)中的網(wǎng)絡(luò)配置首選
特別是 `ip addr` 命令,它不僅能夠展示當(dāng)前網(wǎng)絡(luò)接口的配置狀態(tài),還能動(dòng)態(tài)地修改這些配置,是理解和操作Linux網(wǎng)絡(luò)環(huán)境的得力助手
本文將深入剖析 `ip addr` 命令的使用方法和應(yīng)用場(chǎng)景,揭示其作為網(wǎng)絡(luò)配置利器的獨(dú)特魅力
一、`ip` 命令套件簡(jiǎn)介 `ip` 命令是Linux內(nèi)核網(wǎng)絡(luò)子系統(tǒng)的一部分,自2.2版本起引入,用于替代舊的`ifconfig`、`route` 和`netstat` 等命令
`ip` 命令提供了更為豐富和細(xì)化的網(wǎng)絡(luò)配置選項(xiàng),支持IPv4和IPv6協(xié)議,且設(shè)計(jì)更加模塊化,易于擴(kuò)展
`ip` 命令套件包括多個(gè)子命令,如 `ip addr`、`iplink`、`ip route`、`iptunnel` 等,每個(gè)子命令都專注于網(wǎng)絡(luò)配置的不同方面
二、`ip addr` 命令基礎(chǔ) `ipaddr` 命令用于顯示或操作網(wǎng)絡(luò)接口的地址信息,包括MAC地址、IP地址、廣播地址、子網(wǎng)掩碼等
它不僅可以列出當(dāng)前所有網(wǎng)絡(luò)接口的狀態(tài),還能添加、刪除或修改網(wǎng)絡(luò)接口的IP地址配置
2.1 顯示網(wǎng)絡(luò)接口信息 運(yùn)行 `ip addr` 或`ipa`(短格式)命令,系統(tǒng)會(huì)顯示所有激活的網(wǎng)絡(luò)接口及其詳細(xì)的地址配置信息
輸出通常包括接口名稱(如eth0、wlan0)、狀態(tài)(UP/DOWN)、MAC地址、IP地址及其類型(inet表示IPv4,inet6表示IPv6)、廣播地址、子網(wǎng)掩碼等信息
$ ip addr show
或簡(jiǎn)寫:
$ ip a
輸出結(jié)果示例:
2: eth0: 例如,為 `eth0` 接口添加一個(gè)IPv4地址`10.0.0.100/24`:
$ sudo ip addr add 10.0.0.100/24 dev eth0
添加IPv6地址則使用`inet6` 關(guān)鍵字:
$ sudo ip addr add 2001:db8::1/64 dev eth0
2.3 刪除IP地址
類似地,使用`ip addr del` 命令可以刪除網(wǎng)絡(luò)接口上的IP地址 例如,刪除 `eth0` 接口上的 `10.0.0.100/24` 地址:
$ sudo ip addr del 10.0.0.100/24 dev eth0
刪除IPv6地址也遵循相同的語(yǔ)法:
$ sudo ip addr del 2001:db8::1/64 dev eth0
2.4 修改MAC地址
雖然 `ip addr` 命令主要用于IP地址管理,但結(jié)合 `ip link` 命令,也可以間接修改網(wǎng)絡(luò)接口的MAC地址 首先,使用 `ip linkset` 命令修改MAC地址,然后可能需要重新啟動(dòng)網(wǎng)絡(luò)接口(如通過`ip link set dev eth0 up`)來使更改生效
$ sudo ip link set dev eth0 address 00:22:33:44:55:66
$ sudo ip link set dev eth0 up
三、`ip addr` 命令的高級(jí)應(yīng)用
除了基本的地址管理功能,`ipaddr` 命令還支持一系列高級(jí)特性,使得網(wǎng)絡(luò)配置更加靈活和強(qiáng)大
3.1 臨時(shí)配置與持久化
`ipaddr` 命令所做的更改是臨時(shí)的,即在系統(tǒng)重啟或網(wǎng)絡(luò)接口重新激活后會(huì)丟失 要實(shí)現(xiàn)持久化配置,需要將相應(yīng)的命令添加到系統(tǒng)的網(wǎng)絡(luò)配置文件(如`/etc/network/interfaces` 在Debian系系統(tǒng)中,或 `/etc/sysconfig/network-scripts/ifcfg-