What is the command to add another IP address (192.168.1.2) to a network interface (eth0) that already has (at least) one IP address in the 192.168.1.0/24 subnet?



A.

ip add addr 192.168.1.2/32 dev eth0

B.

ifconfig eth0 192.168.1.2 netmask 255.255.255.255

C.

ip addr add 192.168.1.2/32 dev eth0

D.

ipconfig eth0 192.168.1.2

題解

「ip」指令可以顯示或是管理路由、裝置、路由政策和隧道協定。

「ifconfig」指令可以設定網路介面。

根據IPv4位址的標準,以IPv4的前8個位元來區分類別,Class A的範圍為「0 ~ 127」(00000000(2) ~ 00111111(2));Class B的範圍為「128 ~ 191」(01000000(2) ~ 01011111(2));Class C的範圍為「192 ~ 223」(01100000(2) ~ 01101111(2));Class D的範圍為「224 ~ 239」(11100000(2) ~ 11011111(2));Class E的範圍為「240 ~ 254」(11110000(2) ~ 11111110(2))。

Class A的預設網路遮罩為「255.0.0.0」;Class B的預設網路遮罩為「255.255.0.0」;Class C的預設網路遮罩為「255.255.255.0」。

題目需要有「192.168.1.0/24」的子網域,因此網路遮罩必須要被設定為「255.255.255.0」。

選項A,「addr」參數和「add」參數的順序錯誤。

選項B,「netmask」設定值應為「255.255.255.0」,如果是「255.255.255.255」的話就沒有子網域了。但這題是要增加「eth0」這個網路介面現有的IP位址,並不是要去覆蓋原有的設定,因此需要再網路介面名稱後面加上「add」參數才算正確。

選項C,正確答案。

選項D,由於沒有指定網路遮罩,且「192.168.1.2」是屬於Class C的IP,所以預設的網路遮罩會使用「255.255.255.0」。但這題是要增加「eth0」這個網路介面現有的IP位址,並不是要去覆蓋原有的設定,因此需要再網路介面名稱後面加上「add」參數才算正確。