1、總結ip分類以及每個分類可以分配的IP數量
網絡中的每一個主機或路由器至少有一個ip地址;
在Internet中不允許有兩個設備具有同樣的IP地址;
IP地址采用分層結構;
IP地址是由網絡號(net ID)與主機號(host ID)兩部分組成的。
IP地址長度為32位,點分十進制(dotted decimal)地址;
采用x.x.x.x的格式來表示,每個x為8位,每個x的值為0~255(例如 202.113.29.16);
根據不同的取值范圍,IP地址可以分為五類;
IP地址中的前5位用于標識IP地址的類別:
A類地址的第一位為0;
B類地址的前兩位為10;
C類地址的前三位為110;
D類地址的前四位為1110;
E類地址的前五位為11110。
IP地址根據網絡號和主機號來分,分為A、B、C三類及特殊地址D、E。全0和全1的都保留不用。
A類:
(1.0.0.0-126.0.0.0)
第一個字節為網絡號,后三個字節為主機號。該類IP地址的最前面為“0”,所以地址的網絡號取值于1~126之間。一般用于大型網絡。
定義:第1字節為網絡地址,其它3個字節為主機地址
范圍:1.0.0.1-126.255.255.254
數量:允許有126個網段,每個網段允許有16777214臺主機
子網掩碼:255.0.0.0
私有地址:10.X.X.X是私有地址(所謂的私有地址就是在互聯網上不使用,而被用在局域網絡中的地址),范圍10.0.0.1-10.255.255.254
保留地址:127.X.X.X是保留地址,也是本機地址,等效于localhost或本機IP。一般用于測試使用。例如:ping 127.0.0.1來測試本機TCP/IP是否正常。
B類(128.0.0.0-191.255.0.0)
前兩個字節為網絡號,后兩個字節為主機號。該類IP地址的最前面為“10”,所以地址的網絡號取值于128~191之間。一般用于中等規模網絡。
定義:第1字節和第2字節為網絡地址,其它2個字節為主機地址
范圍:128.0.0.1-191.255.255.254
數量:允許有16384個網段,每個網段允許有65534臺主機
子網掩碼:255.255.0.0
私有地址:172.16.0.0 - 172.31.255.255是私有地址
保留地址:169.254.X.X是保留地址。如果IP地址是自動獲取IP地址,而你在網絡上又沒有找到可用的DHCP服務器。就會得到其中一個IP
C類
(192.0.0.0-223.255.255.0)
前三個字節為網絡號,最后一個字節為主機號。該類IP地址的最前面為“110”,所以地址的網絡號取值于192~223之間。一般用于小型網絡。
定義:第1字節、第2字節和第3個字節為網絡地址,第4個個字節為主機地址。另外第1個字節的前三位固定為110
范圍:192.0.0.1 - 223.255.255.254
數量:允許有2097152個網段,每個網段允許有254臺主機
子網掩碼:255.255.255.0
私有地址:192.168.X.X是私有地址。(192.168.0.0 - 192.168.255.255)
D類:
是多播地址。該類IP地址的最前面為“1110”,所以地址的網絡號取值于224~239之間。一般用于多路廣播用戶。
定義:不分網絡地址和主機地址,它的第1個字節的前四位固定為1110
范圍:224.0.0.1 - 239.255.255.254
E類:
是保留地址。該類IP地址的最前面為“1111”,所以地址的網絡號取值于240~255之間。
定義:不分網絡地址和主機地址,它的第1個字節的前五位固定為11110
范圍:240.0.0.1 - 255.255.255.254
CIDR:無類域間路由
由于早期的IP地址的劃分會浪費太多的IP地址,所以,現在都是用CIDR表示法,為此引入了子網掩碼的概念,即網絡位的個數可以任意指定。該方法兼容早期的IP劃分方法。
CIDR表示方法:IP地址/網絡ID的位數(網段的劃分更加靈活)
子網掩碼:子網掩碼的作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。
子網掩碼是一個32位地址,用于屏蔽IP地址的一部分,并說明該IP地址是在局域網上,還是在遠程網上,具體方法待會兒再講。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼的二進制格式中的網絡位全為1。這樣二進制格式的子網掩碼和二進制的IP地址進行“與”運算,可以得出該IP地址的網絡位。
允許的子網掩碼的值:
10000000-128;
11000000-192;
11100000-224;
11110000-240;
11111000-248;
11111100-252;
11111110-254;
11111111-255;
最小IP:主機ID不能全為0,全為0表示網絡ID
最大IP:主機ID不能全為1,全為1表示本地廣播
CIDR技術用子網掩碼中連續的1部份表示網絡ID,連續的0部份表示主機ID。
比如,網絡中包含2000臺計算機,只需要用11位表示 主機ID,用21位表網絡ID,則子網掩碼表示為11111111.11111111.11111000.00000000,轉換為十進制則為 255.255.248.0。
此時,該網絡將包含2046臺計算機,既不會造成IP地址的浪費,也不會利用路由器連接網絡,增加額外的管理維護量.
計算會用到的公式:
1、主機數=2^主機ID位-2
2、網絡數=2^可變的網絡ID位
3、網絡ID=IP和netmask 相與
4、劃分子網數=2^網絡ID向主機ID借的位數
5、劃分子網損失IP數=2*(劃分子網數-1)
(因為每段子網中的第一個IP地址用來表示網絡位,而最后一個IP地址都被用來表示本網段中的廣播。)
2、總結IP配置方法
ip配置
一, 使用ifconfig命令
ifconfig命令:查看與配置網絡狀態命令
**多IP設置?
臨時來設置eth0網卡的ip地址和子網掩碼
ifconfig eth0 192.168.233.189 netmask? 255.255.255.0
ifconfig eth0:1 192.168.233.233 netmask? 255.255.255.0**
**多IP設置?
臨時來設置eth0網卡的ip地址和子網掩碼
ifconfig eth0 192.168.233.189 netmask? 255.255.255.0
ifconfig eth0:1 192.168.233.233 netmask? 255.255.255.0**
二.setup工具
永久配置IP地址(紅帽專用),這種方式雖然簡單,但是不建議使用這種方式。
setup工具的安裝和配置
1、安裝setuptool
#yum install setuptool
2、安裝防火墻設置
yum install system-config-securitylevel-tui
3、安裝網絡設置
#yum install system-config-network-tui
4、安裝系統服務管理
#yum install ntsysv
安裝完成之后,
運行 setup命令,然后就可以進入setup操作界面了
1.輸入setup命令
2.選擇網絡服務
3.進行設備配置
4.進行相關參數配置
5.保存后
執行 service network restart
命令重啟網絡服務
1、安裝setuptool
#yum install setuptool
2、安裝防火墻設置
yum install system-config-securitylevel-tui
3、安裝網絡設置
#yum install system-config-network-tui
4、安裝系統服務管理
#yum install ntsysv
安裝完成之后,
運行 setup命令,然后就可以進入setup操作界面了
1.輸入setup命令
2.選擇網絡服務
3.進行設備配置
4.進行相關參數配置
5.保存后
執行 service network restart
命令重啟網絡服務
三 修改網絡配置文件
打開配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
eth0通過 命令 ip addr獲取,
在這里插入圖片描述
配置內容如下:
? TYPE=Ethernet? ? #網絡類型 以太網
? BOOTPROTO=static
? ? ? #1.這里可以為=none(過指定方式的辦法來獲得地址,如果沒有指定的話可能會出現各種各樣的網絡受限 )
? ? ? #2.=dhcp 自動獲取ip地址
? ? ? #3.=static? 固定ip地址
? ? DEFROUTE=yes
? ? PEERDNS=yes
? ? PEERROUTES=yes
? ? IPV4_FAILURE_FATAL=no
? ? IPV6INIT=yes
? ? IPV6_AUTOCONF=yes
? ? IPV6_DEFROUTE=yes
? ? IPV6_PEERDNS=yes
? ? IPV6_PEERROUTES=yes
? ? IPV6_FAILURE_FATAL=no
? ? NAME=ens33? ? #網卡名稱(用戶看到的網卡名)
? ? UUID=858e2bc3-1e47-4320-9227-b0029c8csaa6 #網卡的唯一標識符
? ? DEVICE=enw33? ? ? #系統邏輯設備名
? ? ONBOOT=yes #是否開機啟動網卡 選項(no/yes)centos7默認no
? ? IPADDR=192.168.233.129? ? ? #指定的ip地址 如果你是dhcp這里是沒有的
? ? NETMASK=255.255.255.0? ? #子網掩碼
? ? GATEWAY=192.168.233.1? ? #網關
? ? DNS1=114.114.114.114? ? #指定的第一個DNS服務器
? TYPE=Ethernet? ? #網絡類型 以太網
? BOOTPROTO=static
? ? ? #1.這里可以為=none(過指定方式的辦法來獲得地址,如果沒有指定的話可能會出現各種各樣的網絡受限 )
? ? ? #2.=dhcp 自動獲取ip地址
? ? ? #3.=static? 固定ip地址
? ? DEFROUTE=yes
? ? PEERDNS=yes
? ? PEERROUTES=yes
? ? IPV4_FAILURE_FATAL=no
? ? IPV6INIT=yes
? ? IPV6_AUTOCONF=yes
? ? IPV6_DEFROUTE=yes
? ? IPV6_PEERDNS=yes
? ? IPV6_PEERROUTES=yes
? ? IPV6_FAILURE_FATAL=no
? ? NAME=ens33? ? #網卡名稱(用戶看到的網卡名)
? ? UUID=858e2bc3-1e47-4320-9227-b0029c8csaa6 #網卡的唯一標識符
? ? DEVICE=enw33? ? ? #系統邏輯設備名
? ? ONBOOT=yes #是否開機啟動網卡 選項(no/yes)centos7默認no
? ? IPADDR=192.168.233.129? ? ? #指定的ip地址 如果你是dhcp這里是沒有的
? ? NETMASK=255.255.255.0? ? #子網掩碼
? ? GATEWAY=192.168.233.1? ? #網關
? ? DNS1=114.114.114.114? ? #指定的第一個DNS服務器
修改完畢后,進行服務的重啟
修改后需 重啟網卡
centos 6及之前系統版本的重啟命令
/etc/init.d/network restart
或者service netword restart
centos 7重啟網卡命令
systemctl restart network
centos 6及之前系統版本的重啟命令
/etc/init.d/network restart
或者service netword restart
centos 7重啟網卡命令
systemctl restart network
四 圖形界面配置IP地址,
進行系統桌面進行配置,和windows的配置類似
3、使用nmcli實現bonding
多網卡綁定
“Bonding” 和 “nmcli的網絡組Network Teaming”
二者實現的功能一樣,但從某種角度,網絡組要比Bonding的技術要好
網絡接口配置:Bonding
將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。直接給兩塊網卡設置同一IP地址是不可以的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡被修改為相同的MAC地址。
一、Bonding工作模式
多網卡綁定有很多模式,如下:
Mode 0 (balance-rr):
輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力。如第一個數據包用網卡1轉發,第二個數據包由網卡2轉發。
Mode 1 (active-backup)
活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口失敗時才會激活其他slave.為了避免交換機發生混亂,此時綁定的MAC地址只有一個外部端口上可見。即,平時只有一個網卡工作,當網卡壞掉會自動啟動第二個網卡工作。
Mode 3 (broadcast)
廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力。即在所有的網卡上傳輸一樣的數據。
還有其它的模式:
active-backup、balance-tlb 和 balance-alb 模式不需要交換機的任何特殊配置。其他綁定模式需要配置交換機以便整合鏈接。如:Cisco 交換機需要在模式Mode 0、Mode 2 和Mode 3 中使用 EtherChannel,但在模式Mode 4中需要 LACP和EtherChannel
二、Bonding配置
1.bonding設備的配置文件
第一步:創建bonding設備的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
推薦的配置的項有:
DEVICE=設備名稱,如bond0
BOOTPROTO=協議,如none
BONDING_OPTS=指定工作模式,如 “miimon=100 mode=0”表示工作模式"Mode 0",且沒100ms監測一次鏈路連接狀態。
說明:
miimon 是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
第二步:在要加入bonding的網卡,的配置文件里寫入bonding設備的項。如下:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0《======
SLAVE=yes 《======
USERCTL=no
寫入上面兩行后,網卡就不可以單獨工作了,而是成為bonding的附屬設備工作。可配置多個網卡配置文件加入bonding設備,且binding所屬的網卡,顯示的MAC地址都一樣。
2.查看bond0的狀態
查看bond0的狀態:/proc/net/bonding/bond0
查看當前有幾個bonding:/sys/class/net/bonding_masters
3.刪除bond0
第一步:禁用bonding
ifconfig bond0 down
第二步:卸載bonding驅動模塊
rmmod bonding
第三步:刪除bonding的配置文件及所屬網卡配置文件里bonding的項
第四步:重啟網絡服務
4.bonding的詳細幫助
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt
5.實驗Mond 1 活動-備份(主備)策略
1.確保你有兩個網卡,并且都在一個網絡,如果用虛擬機做實驗,要確保兩個網卡是一個模式,如“僅主機模式”。
2.創建bonding設備的配置文件
? ? 在/etc/sysconfig/network-scripts目錄創建文件ifcfg-bond0
? ? DEVICE=bond0? ? ? ? \\設備名稱?
? ? BOOTPROTO=none? ? ? \\協議
? ? IPADDR=192.168.36.6? ? \\bonding的ip地址
? ? PREFIX=24? ? ? ? ? ? ? \\子網掩碼
? ? GATEWAY=192.168.36.254? \\網關
? ? DNS1=192.168.36.6? ? ? \\DNS?
? ? BONDING_OPTS=miimon=100 mode=1
3.在網卡的配置文件里加入bonding的項
? ? 進入/etc/sysconfig/network-scripts/ifcfg-ethXX
? ? 添加行:
? ? ? ? MASTER=bond0
? ? ? ? SLAVE=yes
? ? 添加后,文件原來指定的靜態或動態地址就會失效,生效的是bonding地址
4.確保NetworkManager服務關閉,并重啟network服務
? ? Centos6:
? ? ? ? service NetworkManager status? 查看服務狀態
? ? ? ? chkconfig NetworkManager off? ? \\關閉自動啟動
? ? ? ? service NetworkManager stop? ? \\關閉服務
? ? ? ? service network restart? ? ? ? \\重啟網絡服務
? ? Centos7:
? ? ? ? systemctl status NetworkManager 查看服務狀態
? ? ? ? systemctl stop NetworkManager? 臨時停止
? ? ? ? systemctl disable NetworkManager 下次開機即停止服務
? ? ? ? systemctl restart network? ? ? \\重啟網絡服務
5.查看bonding:“ifconfig”
6.檢測
? ? 停用一個網卡,在ping“bond0”地址,能ping通證明binding的"Mode 1"模式生效了。
7.查看binding設備中,“Mode 1”模式下,binding所屬的哪個網卡在活動:
? ? 方法一:使用watch -n1 netstat -i查看,不明顯可以用另一臺電腦ping“binding”的IP地址
? ? 方法二:查看/proc/net/bonding/bond0文件
網絡組Network Teaming
概念:
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式(模式)runner:
broadcast(廣播策略)《===》對應bonding模式mode 3
roundrobin(輪轉策略)《===》對應bonding模式mode 0
activebackup(活動-備份(主備)策略)《===》對應bonding模式mode 1
loadbalance(限定流量)《===》對應bonding模式mode 2
lacp(implements the 802.3ad Link Aggregation Control Protocol:實現802.3ad鏈路聚合控制協議)《===》對應bonding模式mode 4
參考鏈接:https://www.cnblogs.com/lqynkdcwy/p/9548668.html
注意事項:
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口總會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組
1.創建網絡組接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME表示連接名
INAME表示接口名
JSON指定runner方式(模式),格式如下:
'{"runner": {"name": "METHOD"}}',其中METHOD 可以是:
broadcast
roundrobin
activebackup
loadbalance
lacp
2.創建port接口
`nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 連接名
INAME 網絡接口名
TEAM 網絡組接口名
連接名若不指定,默認為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 設備名 CNAME 網絡組接口名或port接口
3.新網絡組的配置文件
示例
網絡組的配置文件/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.16.0.100
PREFIX0=24
NAME=team0
ONBOOT=yes
網絡組所屬網卡的配置文件/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
4.創建網絡組示例
示例1:
nmcli con add type team con-name myteam0 ifname team0 config
'{“runner”: {“name”: “loadbalance”}}' ipv4.addresses
192.168.1.100/24 ipv4.method manual
示例2:
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
示例3:
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
示例4:
nmcli con up myteam0
示例5:
nmcli con up team0-eth1
示例6:
nmcli con up team0-eth2
示例7:查看tean0狀態
teamdctl team0 state
示例8:
nmcli dev dis eth1
5.實驗:創建、刪除網絡組
1)創建網絡組team0
查看網絡連接
ip link
創建網絡組team0,名字為myteam0,模式是主備模式
nmcli con add type team con-name myteam0 ifname team0 config'{"runner": {"name": "activebackup"}}'
給網絡組添加IP地址
nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
手工指定
nmcli con mod team0 ipv4.method manual
將物理網卡eth1加入網絡組etam0
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
將物理網卡eth2加入網絡組etam0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
將網絡組關聯的兩個物理網卡啟用
nmcli con up team0-port1
nmcli con up team0-port2
查看網絡組狀態
teamdctl team0 state
nmcli connection
2.刪除網絡組team0
首先禁用網絡組team0
nmcli connection down team0
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組的網卡設備
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
在查看網絡組
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組
示例:刪除網絡組team0
首先禁用網絡組team0
nmcli connection down team0
查看網絡組
teamdctl team0 state
nmcli connection show
刪除網絡組的網卡設備
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
在查看網絡組
查看網絡組
teamdctl team0 state
nmcli connection show