網絡管理(二)IP地址
一、認識學習IP地址的組成:
1、它們可唯一標識IP 網絡中的每臺設備
2、IP地址由兩部分組成:
網絡ID:標識網絡;每個網段分配一個網絡ID
主機ID:標識單個主機;由組織分配給各設備
3、點分十進制計法表示IPv4地址:
4、如下圖,將系統中的IP地址用二進制表示,再通過轉換合成的十進制數,使用ping命令可得出:IP地址的本質上是二進制的。
5、了解和熟記八個二進制數所對應的十進制數:
二進制數 |
十進制數 |
1111 1111 |
255 |
1000 0000 |
128 |
0100 0000 |
64 |
0010 0000 |
32 |
0001 0000 |
16 |
0000 1000 |
8 |
0000 0100 |
4 |
0000 0010 |
2 |
0000 0001 |
1 |
6、netmask(只要是高位為1,不需要全8位是1)如下圖(都有可能成為子網掩碼):
Netmask的位數由IP地址的網絡號位數來決定,有多少個網絡號位數就有多少個1,有多少個主機號位數就有多少個0
eg:netmask=255.255.240.0(11111111.11111111.11110000.00000000)
1111 1111 |
255 |
1111 1110 |
254 |
1111 1100 |
252 |
1111 1000 |
248 |
1111 0000 |
240 |
1110 0000 |
224 |
1100 0000 |
192 |
1000 0000 |
128 |
0000 0000 |
0 |
7、IP地址分類:IPv4地址共為32bits,格式為:8bits:8bits:8bits:8bits;而每段的8bits的范圍為0-255,所以IP地址的范圍為0.0.0.0-255.255.255..255
網絡號(最高段的8bits) |
網絡數量 |
主機數量 |
默認子網掩碼 |
私網地址 |
|
A類 |
0 000 0000 —— 0 111 1111 |
126 (2^7-2,扣除00000000和127.0.0.0回環地址) |
(2^24)-2 扣除全為0和1 |
255.0.0.0 |
10.0.0.0 |
B類 |
10 00 0000 —— 10 11 1111 |
2^14(前兩段為網絡號) |
(2^16)-2 扣除全為0和1 |
255.255.0.0 |
172.16.0.0-172.31.0.0 |
C類 |
110 0 0000 —— 110 1 1111 |
2^21(前三段為網絡號) |
(2^8)-2 扣除全為0和1 |
255.255.255.0 |
192.168.0.0-192.168.255.0 |
D類 |
1110 0000 —— 1110 1111 |
224-239(多播地址,給一些特殊的應用程序使用) |
|||
E類 |
1111 0000 —— 1111 11111 |
240-255(科研使用) |
從表中得出的公式,如下:
主機數={2^主機位數(掩碼中0的個數=32-網絡位數)} -2
8、兩臺機器的IP地址如何判斷是否在同一的IP段內:
通過IP地址跟網關的“與”運算(1跟1與為1;0跟任何數與為0)。
例: A機器:192.168.1.100 255.255.255.0
B機器:192.168.2.100 255.255.0.0
“與運算”:192.168.1.100 255.255.255.0
192.168.1.0(255為8個1;0跟100“與”后為0)——>“與”結果為網絡ID號
192.168.2.100 255.255.0.0
192.168.2.100(B機器的IP地址需要跟A機器的掩碼做“與”運算,因為A機器只知道B機器的IP地址,而不知道netmask地址)
——>“與”的結果為192.168.2.0
最終可以等處A機器個B機器不在同一個網段內。
9、公有IP地址和私有IP地址:
公有IP地址 |
|
A類 |
1.0.0.0到9.255.255.255 11.0.0.0到126. 255.255.255 |
B類 |
128.0.0.0到172.15. 255.255 172.32.0.0到191. 255.255.255 |
C類 |
192.0.0.0到192.167. 255.255 192.169.0.0到223. 255.255.255 |
私有IP地址 |
|
A類 |
10.0.0.0到10. 255.255.255 用CIDR表示:10.0.0.0/8 |
B類 |
172.16.0.0到172.31. 255.255 用CIDR表示:172.16.0.0/12 |
C類 |
192.168.0.0到192.168. 255.255 用CIDR表示:192.168.0.0/16 |
注:用CIDR表示172.16.0.0到172.31. 0.0
172.16.0.0 ——> 172.00010000.00000000. 00000000
172.17.0.0 ——> 172.00010001.00000000. 00000000
……
172.31.0.0 ——> 172.00011111.00000000. 00000000
從轉換后的二進制可以得出,紅色處的二進制數為前兩段的高位不同二進制數,而最前面的12為(含172的8位二進制),因此進行合并后(網絡號借位到主機號上,共4個二進制數),所以合成后(CIDR表示)為:172.16.0.0/12(原IP的每個范圍表示為172.16.0.0/16;172.17.0.0/16……172.31.0.0/16)
10、特殊的IP地址:
0.0.0.0:不是一個真正意義上的IP地址。它表示一個集合:所有不清楚的主機和目的網絡。
1.1.1.1:為廣播地址。
255.255.255.255:限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機
127.0.0.1~127.255.255.254:本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的數據包。
224.0.0.0到239.255.255.255:組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序
169.254.x.x:如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲取地址,系統會為主機分配這樣地址。(Linux系統不會出現這樣的IP地址)
11、劃分子網:將大網劃分成小的子網
例:大網(172.16.0.0/16)——>172.16.0000 0000.0000 0000/16
子網:172.16.0000 0000.0000 0000/17(此紅色處的原主機號二進制數被借用到當做網絡號使用)
由于原主機號二進制數的0為主機號時有0和1這兩種變化,所以同樣當其被借用到了網絡號也擁有這兩種變化,如下:
子網1:172.16.0000 0000.0000 0000/17
子網2:172.16.1000 0000.0000 0000/17
因此,劃分子網后的各自IP地址范圍如下:
子網1:172.16.0000 0000.0000 0000/17
172.16.0000 0000.0000 0001/17(最小地址)
172.16.0111 1111.1111 1110/17(最大地址)
所以IP地址范圍為:172.16.0.1——172.16.127.254
子網2:172.16.1000 0000.0000 0000/17
172.16.1000 0000.0000 0001/17(最小地址)
172.16.1111 1111.1111 1110/17(最大地址)
所以IP地址范圍為:172.16.128.1——172.16.255.254
對比原來的大網IP地址范圍:172.16.0.1——172.16.255.254,共減少了172.16.127.255(172.16.0111 1111.1111 1111)和172.16.128.0(172.16.1111 1111.0000 0000)這兩個IP地址。
總結得出結論:劃分子網時,當網絡ID位向主機ID位借了N位,則劃分子網的個數為2^N個。
網絡ID=IP地址跟子網掩碼做“與”運算
例題1:將大網189.210.100.200/16劃分8個子網
189.210.100.200
255.255.0.0
“與”運算:189.210.0.0(網絡ID號)
所以得出劃分的子網結果如下:
子網1:189.210.0000 0000.0 ——>189.210.0.0/19
子網2:189.210.0010 0000.0 ——>189.210.32.0/19
子網3:189.210.0100 0000.0 ——>189.210.64.0/19
子網4:189.210.0110 0000.0 ——>189.210.96.0/19
子網5:189.210.1000 0000.0 ——>189.210.128.0/19
子網6:189.210.1010 0000.0 ——>189.210.160.0/19
子網7:189.210.1100 0000.0 ——>189.210.192.0/19
子網8:189.210.1110 0000.0 ——>189.210.224.0/19
共減少了14個IP地址(共7個間隔,每個間隔有2個IP地址)
運算式:{(2^16)-2}-{(2^13)-2}*8=(2^16-2^16)-(2-2*8)=14
注:{(2^16)-2為原大網的主機數;{(2^13)-2}*8為每個子網的主機數*子網個數
例題2:將100.123.210.23/19 分32個子網,算出最小子網網絡ID及IP范圍;最大子網網絡ID及IP范圍。
大網:100.123.11010010.23跟255.255.11100000.0做“與”運算,得出網絡ID號為100.123.1100000.0(100.123.192.0)
最小子網:100.123.1100 0000.0000 0000/24 ——> 100.123.192.0
100.123.1100 0000.0000 0001 ——> 100.123.192.1
100.123.1100 0000.1111 1110 ——> 100.210.192.254
最大子網:100.123.1101 1111.0000 0000 ——>100.123.223.0/24
100.123.1101 1111.0000 0001 ——> 100.123.223.1
100.123.1101 1111.1111 1110 ——> 100.210.223.254
12、劃分超網:
如下圖,8個網段共要在路由上寫上8條網關記錄,這樣路由上較多的記錄加大了路由的每次尋址工作量。這時就需要進行超網來合并一個大網,簡化路由上的記錄,提供效率。(注:合并成超網,前提是網段是連續的,這時就找出網絡位上不共同的位數拿來當做主機位)
220.78.168.0 ——>220.78.10101 000.0 ——>220.78.10101 000.0/21
220.78.169.0 ——>220.78.10101 001.0 ——>220.78.10101 000.0/21
220.78.170.0 ——>220.78.10101 010.0 ——>220.78.10101 000.0/21
……
220.78.175.0 ——>220.78.10101 111.0 ——>220.78.10101 000.0/21
新的子網掩碼為:11111111.11111111.11111000.000000000——>255.255.240.0
綜上,紅色處的網絡位后的三位合并到主機位上去,因此合成后的超網網絡ID為220.78.168.0
二、基本網絡配置:
1、網卡配置格式如下圖:
一般包括如下內容:
主機名:DEVICE=eno16777736(Centos7);CentOS6的主機名為eth0
IP/mask:IPADDR=10.1.10.4/NETMASK=255.255.0.0(如果是DHCP獲取的話,則加上BOOTPROTO=dhcp,去掉設定的靜態地址)
路由:默認網關 GATEWAY=10.1.0.1
DNS服務器:主DNS服務器;次DNS服務器;第三DNS服務器
2、字符配置方式:
(1)靜態指定:
ifcfg: ifconfig, route, netstat
ip: object {link, addr, route}, ss, tc
CentOS6:system-config-network-tui(setup)
(2)配置文件
CentOS 7:網絡配置工具
nmcli, nmtui(相當于CentOS6上的setup), nm-connection-editor
(3)動態分配:DHCP
例:在CentOS6上使用命令#system-config-network-tui進行字符界面設置網絡配置
3、如何修改網卡名稱:
(1)先使用命令:#vim /etc/udev/rules.d/70-persistent-net.rules,修改系統配置文件,修改成自定義名稱
(2)使用命令# vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改網卡的配置文件,如下圖修改成與上面自定義的網卡名稱一致。
(3)命令#service network restart 重啟網絡服務讓修改生效即可。
4、查詢系統中的DNS和網關:
# cat /etc/resolv.conf 查看DNS信息
#ip route 或者 #route -n 查看網關信息
5、修改網卡的MAC地址:(該設置更改建議在物理終端上操作,以免失敗可以重置)
注:#service network restart 重啟網絡服務讓修改生效
6、ifconfig命令:
(1)ifconfig[interface]
# ifconfig-a
# ifconfigIFACE [up|down]
(2)ifconfiginterface [aftype] options | address …
# ifconfigIFACE IP/mask [up]
# ifconfigIFACE IP netmask MASK
注意:立即生效;
(3)啟用混雜模式:[-]promisc
三:網卡別名:(CentOS6)
對虛擬主機有用;將多個IP地址綁定到一個NIC上
格式:eth0:1 ;eth0:2 ;eth0:3
注:設置網卡別名必須使用靜態的IP地址;如果安裝的Linux系統(CentOS6)是圖形界面的, 則需要關閉NetworkManager服務(#chkconfig NetworkManager off);設置完成后,命令#service network restart
四、bonding命令(網絡接口配置):(CentOS6)
(1)bonding:就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。
(2)bonding的工作模式:
Mode 0 (balance-rr)
輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1 (active-backup)
活動-備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見
Mode 3 (broadcast)
廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力。
(3)bonding的配置:
創建bonding設備的配置文件
#vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=0”
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
miimon是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
查看bond0狀態:/proc/net/bonding/bond
關于bonding的詳細配置請參照
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
演示bonding的功能:模式1
(1)先準備兩個網卡:
(2)進入網卡配置文件存放目錄,查看:
#cd /etc/sysconfig/network-scripts
注:該目錄下是沒有虛擬bonding的配置文件
(3)創建bonding的配置文件:
#vim ifcfg-bond0
(4)修改eth0和eth1的配置文件:(建議修改前先做個備份)
(5)重啟網絡服務:
#service network restart(這時在遠端登陸界面是沒有響應,需要到物理終端上登陸查看生效情況)
(6)物理終端登陸查看:
(7)測試:
原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/43011
有圖有文,每個練習結果均有圖證,看得出其中的認真程度,贊。