地址分類
有類的 固定的網絡ID 是多少位就是多少位
A 前8位是網絡ID
0-127.x.x.x
其中0.x.x.x是未知地址,不能用
127.x.x.x是回環地址,不能用
所以有1-126個網段可用
公式:
網絡(網段)數量=2^可變網絡ID位數
一個網絡的主機數量=2^主機ID位數-2
所以一個A類網絡主機數有1600萬
netmask:255.0.0.0
B類
128-191
10xxxxxx.xxxxxxxx.y.z
16位網絡ID
16位主機ID
netmask:255.255.0.0
主機數:2^16-2=65534
C類
192-223
1110xxxxx.xxxxxxxx.xxxxxxxx.y
11000000.x.x.x
11011111.x.x.x
192-223.x.x.x
netmask:255.255.255.0
24位網絡ID
8位主機ID
網絡數:2^21=
主機數:2^8-2=254
D類
多播
224-239.x.x.x
如果一個路由器通過Hub連接兩個主機,但是兩個主機地址不一樣,物理上在一個網段,邏輯上不在一個網段,相互通訊就要通過路由器,因為主機上的路由表。
查看路由表
#route -n
#ip route
無類的 CIDR,無類域間路由
IPV4地址一共32位
哪些位是網絡ID , 哪些位是主機ID ,不確定,
通過 子碼掩碼(netmask) 來實現,netmask是10進制的
netmask:地址32位二進制數,有多少網絡ID位數,對應netmask就是多少個1,有多少主機ID位數,對應netmask就是多少個0
例如:172.20.0.123對應netmask是16個1加16個0
11111111.11111111.00000000.00000000
netmask:255.255.0.0
一下這些都可能成為子碼掩碼
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
例如:172.20.0.123 網絡ID位數是22位,netmask?
255.255.11111100.0
255.255.252.0
練習:
1。 200.222.123.23/26
1)netmask?255.255.255.192
2)主機數是?2^(32-26)-2=2^6-2=62
**網絡ID=IP與子網掩碼=IP&&子網掩碼
對位相與
例如:
IP: 192.168.1.100
子網掩碼: 255.255.255.0
網絡ID:192.168.1.0
劃分子網:一個大網絡(主機多=主機ID數多,網絡ID位數少)劃分成多個小網絡(主機少=主機ID位數少,網絡ID位數少),網絡ID位向主機ID位借N位,就劃分成2^N個小網絡。
例如:
10.0.0.0/8劃分成兩個小網絡:
10.0.0.0/9
10.128.0.0/9
其中10.0.0.0/9的最小IPmin:10.0.0.1
最大IPmax:10.127.255.254
因為 10.127.255.255不可用
兩個子網邊界的IP不可用
其中10.128.0.0/9的最小IPmin:10.128.0.1
最大IPmax:10.255.255.254
公式:
1)網絡(網段)數量=2^可變網絡ID位數
2)一個網絡的主機數量=2^主機ID位數-2=2^(32-網絡ID位數)-2
3)網絡ID=IP與子網掩碼netmask=IP &&子網掩碼
4)劃分子網數=網絡ID位向主機ID位借N位,劃分成2^N個。
因為A類地址有1600萬個 ,連1600萬個主機,廣播域太大,一臺主機發信息所有主機都可以收到,
所以每個省都有各自的小網絡
要將一個大網絡切分成多個小網絡。
在一個大網絡中,主機多=主機ID位數多,網絡ID位數少
在小網絡中,主機少=主機ID位數少,網絡ID位數少
方法:
例如10.0.0.0/8 是一個大網絡最大IP10.255.255.254/8,最小IP10.0.0.1/8,共1600萬多個
網絡ID是10,不變8位二進制數構成,主機ID是可變的,24位二進制數構成
把這個大網絡變成2個子網絡,網絡ID向主機ID借1位,這1位可變,
所以子網絡的網絡ID 是由8位不變的二進制數+1位可變的二進制數構成,
子網絡數量=2^1=2
每個子網絡的主機ID 是由24-1=23位二進制數構成
每個子網絡的主機數量=2^(24-1)-2=2^23-2=
例題:
10.0.0.0/8 劃分成32 個子網給32個省公司使用
1)新的子網netmask?
255.248.0.0
32=2^N
N=5
新的子網網絡ID位數=8+5=13
netmask 由32位數組成,網絡ID是多少就有多少個1,剩下的全是0
所以用10進制表示netmask 255.248.0.0
2)新的子網:min netid ,max netid
10.00000 000.0.0 10.0.0.0/13 min netid
10.11111 000.0.0 10.248.0.0/13 max netid
3)新的子網存放最多的主機數是多少?
主機ID=32-13=19,主機數=2^19-2=524288
4)最大子網IP(max netid IP):min ip ,max ip
10.11111 000.0.1 min ip :10.248.0.1
10.11111 111.255.254 max ip : 10.255.255.254
#echo 2^21|bc
**劃分超網:把多個子網合并成大網絡,主機ID位向網絡ID借位,借到子網擁有相同的網絡ID為止,
私有IP地址
A 10.0.0.0到10.255.255.255
B 172.16.0.0到172.31.255.255
C 192.168.0.0 到192.168.255.255
公共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
私有地址和互聯網連接必須通過NAT轉換
127開頭的IP 都是回環地址,隨便ping127開頭的IP都能ping通
給回環網卡加個地址
#ip addr add 1.1.1.1/8 dev lo
用
#ip -a 查看 網卡列表
在加個地址
#ip addr add 2.2.2.2/16 dev lo
隨便ping2.2.開頭的IP都能ping通,因為只要前16位相同就可以
訪問127開頭的IP 只能本機使用
按A,B,C 類分一共有多少個網段
A:
0xxxxxxx.x.x.x
1-126 126個
B:
10xxxxxx.xxxxxxxx.x.x
2^14=16*1024=16384個
C:
110xxxxx.xxxxxxxx.xxxxxxxx.x
2^21=2097155個
所以網絡中大概有200多萬個網段
跨網段通訊:路由,多個網段通訊
工作原理:基于路由器里的路由表
路由表:記錄到達網絡中每個主機的路徑
#route -n 查看路由記錄
一般在centos7里有4條路由記錄
路由器只負責把信息傳遞出去,傳遞到下一個網段
只關心目標地址IP
在路由表中
路由分類:
1主機路由:到達網絡中主機路徑怎么走,在路由表中體現是單個IP
2網絡路由:到達網段怎么走,在路由表中體現的是網段的IP
3默認路由:0.0.0.0 ,未知網絡路由,在連接網絡的路由器里,把信息傳到帶有默認路由的路由器,信息會被自動傳入網絡廣域網。
按A,B,C 類分一共有多少個網段
A:
0xxxxxxx.x.x.x
1-126 126個
B:
10xxxxxx.xxxxxxxx.x.x
2^14=16*1024=16384個
C:
110xxxxx.xxxxxxxx.xxxxxxxx.x
2^21=2097155個
所以網絡中大概有200多萬個網段
**優先級:精確越高,優先級越高
如果路由表里有192.168.30.100路由記錄
當收到一個請求要到達192.168.30.100這個精確地址,走的是精確路由
當請求要到達的IP沒在路由表里,那就走默認路由,
路由表的組成:關鍵的部分
1目標Destination:數據包發送的目標路徑 IP
2子碼掩碼Genmask:IP對應的子碼掩碼
3接口Iface(interface):路由器的出口,
4網關Gateway
1)直連:不需要配置
2)非直連:下一個路由器連接本路由器的接口的網關IP
刪除網關,無法聯網
添加默認路由就可以聯網
添加網關是為了生成 默認路由 記錄
在window中添加默認路由
route add 0.0.0.0 mask 0.0.0.0 172.20.0.1(網關)
刪除了默認路由 系統會同時把網關刪除
即使有網關也無法聯網
在window中刪除默認路由
route delete 0.0.0.0 mask 0.0.0.0 172.20.0.1
A—1 R1 2 —3 R2 4—5 R3 6—B
A機器用Firefox http:// 訪問B
A知道B IP
1)A判斷B和A是否在同一網段
A拿自己的IP和自己的子碼掩碼相與(&&)得出結果x
再拿目標的IP和自己的子碼掩碼相與(&&)得出結果y
比較x是否等于y,一樣在同一網段,用ARP協議把B的mac地址取出來,把數據包發往B
2)不在同一網段,嘗試把數據包發往R1,在A上已經配置R1的網關IP1,但是不知道與R1相連的接口的mac,A要把包發給R1就得通過ARP廣播 把IP1 解析成對應的MAC1。
在A的ARP緩存表cache記錄了IP1與MAC1的對應關系。
然后就可以添加數據包的報文頭部,三層
幀frame:目標dest mac:mac1 ; 源src mac:macA
ip:dest ip:IPB ; src ip:IPA
tcp:目標dest端口port:80 ; src port:隨機的(因為A相對B是客戶端)
3)開始發送包到R1,R1就開始查看R1的路由表,查到B所在網絡的路由記錄,直連發往B,不直連發往下一個路由器R2
查到連接B所在網絡的接口2 ,下一個臨近R1的路由器接口的網關 IP3
然后重復
ARP IP3 —->mac3
幀frame:目標dest mac:mac3 ; 源src mac:mac2
ip:dest ip:IPB ; src ip:IPA
tcp:目標dest端口port:80 ; src port:隨機的(因為A相對B是客戶端) syn
4) R2 查路由表
net B 接口4 IP5
ARP IP5 —->mac5
幀frame:目標dest mac:mac5 ; 源src mac:mac4
ip:dest ip:IPB ; src ip:IPA
tcp:目標dest端口port:80 ; src port:隨機的(因為A相對B是客戶端) syn
5) R3 查看路由表
net B 6
ARP IPB —->macB
幀frame:目標dest mac:macB ; 源src mac:mac6
ip:dest ip:IPB ; src ip:IPA
tcp:目標dest端口port:80 ; src port:隨機的(因為A相對B是客戶端) syn
路由只關心發送
更改網卡名
配置IP兩種方法:
1。自動獲取IP
自動到網絡中找DHCP服務器
DHCP動態主機配置協議
DHCP服務器上維護了很多的IP地址,設置為自動獲取時,會從DHCP服務器上申請一個IP地址,申請到就可以通訊了,這個過程就是DHCP通訊過程。
1)客戶端:DHCP客戶端廣播,發現報文DISCOVER
2)服務器:DHCP服務器廣播,提供消息OFFER,提供一個空閑的IP,并把IP打一個標簽
3)客戶端:DHCP客戶端對請求消息做出響應REQUEST,
4)服務器:DHCP服務器已經確認消息ACK,確認獲取的IP、網關、子碼掩碼、DNS、租期,結束交換過程
window主機名具有網絡通訊功能
Linux主機名不具有網絡通訊功能
#cd /etc/udev/rules.d
#ls
60-fprint-autosuspend.rules 70-persistent-cd.rules 97-bluetooth-serial.rules
60-openct.rules 70-persistent-net.rules 98-kexec.rules
60-pcmcia.rules 90-alsa.rules 99-fuse.rules
60-raw.rules 90-hal.rules
其中70-persistent-net.rules是一個規則文件 rules規則
定義網卡命名的規則文件
如果本虛擬機是從其他虛擬機復制過來的,
如果想把網卡名改成一個與其他網卡名相同的
更改規則文件
#vim 70-persistent-net.rules
把想要用的重復名的行刪除,在把本機的網卡名改成想要的,就可以了。退出
改完的名不會馬上生效,重啟可以生效,但不現實
或者是把網卡的驅動卸載,重裝就可以。
步驟
1)
#dmesg 看所有硬件信息
#dmesg | grep -i eth 看網卡的信息
e1000:網卡的驅動名
#ethool -i eth2 直接看網卡2 的驅動
知道名字就可以卸載對應的驅動模塊
#modprobe -r e1000 卸載網卡的驅動模塊,
在看看能否看到網卡
#ifconfig
看不到
重新加載模塊
#modprobe e1000 加載網卡的驅動模塊
這樣前面的更改就可以生效
**如果
復制一個虛擬機,啟動會和原來的虛擬機的mac沖突
網絡無法啟動,用VMware的,點開虛擬機設置,點擊網卡,點擊高級選項,下面會有生成,點擊就會生成新的mac。用上面的方法重新卸載,重新加載,就可以生效?;蛘咧貑ⅰ?br />下午 06:15 18/05/03
14.4 00:40:24
靜態指定
命令
舊的命令: ifconfig , route ,netstat
新命令: ip: object {link ,addr,route},ss,tc
圖形命令:system-config-network-tui,
setup,
動態分配:
DHCP:Dynamic Host Configuration Protocol
配置網絡接口
ifconfig命令
ifconfig [ interface ] , interface:ethX
ifconfig -a
ifconfig IFACE [up|dowm]啟用禁用網卡
ifconfig interface [aftype] options |addrss..
ifconfig IFACE IP/netmask [up]
ifconfig IFACE IP netmask NETMASK
注意:立即生效
啟用混雜模式:[-]promisc
#ifconfig 默認顯示活動的網卡信息
手動加網卡,先關機,在加網卡。在VMware上在虛擬機設置里加。
#ifconfig eth1 down 禁用eth1網卡
#ifconfig -a 看所有網卡
在#ifconfig 查看網卡時也可以看到RX接收數據包數量, TX發送數據包數量。
當把網線拔了,用ifconfig看并不明顯,只能看到數據包的數量不變,但是用ip link 可以看的清楚
#ip link 看物理上的網卡狀態 ,可以看到網卡是否工作,工作顯示up ,不工作顯示down。
#ifdown eth0 用命令禁用網卡eth0,僅僅可以禁用有配置文件的網卡。但是在物理上是沒有禁用
#ifup eth0 啟用網卡
網卡的配置文件 在
/etc/sysconfig/network-scripts/
可以用ifconfig改網卡地址,臨時的
#ifconfig eth1 1.1.1.1/24 或
#ifconfig eth1 1.1.1.1 netmask255.255.255.0
就可以把eth1的IP改為1.1.1.1 ,僅僅是臨時的。
然后用ifconfig禁用啟用就可以還原 原來的IP
#ifconfig eth1 down 禁用網卡
#ifconfig 顯示網卡,但是eth1沒有獲取IP
#ifconfig eth1 up 啟用網卡,IP又還原了
**添加路由
route命令
用route添加的路由記錄重啟 機器就會被刪除
添加IP地址自動添加路由記錄
查看路由表:route -n
添加路由: route add
#route add [-net|-host] target [netmask Nm][gw Gw][[dev] lf]
-net 網絡路由
-host 主機路由
gw 后面跟網關
dev后面加接口
例如
#route add -host 6.6.6.6 gw 3.3.3.100 dev eth1
其中dev eth1 可加可不加
#route add -net 8.8.8.8/32 gw 3.3.3.100
等價于
#route add -net 8.8.8.8 netmask 255.255.255.255 gw 3.3.3.100
#route add -net 10.0.0.0/8 gw 192.168.30.100
代表要到達10.0.0.0網段需要通過網關192.168.30.100
加的路由的網關必須和主機在同一網段
添加默認路由表
#route add default gw 192.168.30.100
也可以寫成
#route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.30.100
刪除默認路由記錄
#route del default gw 192.168.30.100
刪除主機路由記錄
#route del -host 6.6.6.6
刪除網絡路由記錄
#route del -net 10.0.0.0 netmask 255.0.0.0
在一臺主機上的兩個虛擬機,各自添加IP,后發現無法互通,只要各自添加各自的默認路由就可以了
#route add default dev ens33或eth0
#tcpdump -i eth1 icmp 抓包icmp協議的包
無論加網關還是加IP都是加 路由記錄
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97657