linux運維網路基礎1
tcp/udp埠號
- 源埠隨機分配,目標埠使用知名指定埠(大部分服務協議是這樣)
- 應用客戶端使用的源埠號一般為系統中未使用的且大於1023的
- 目的埠號位伺服器端應用服務的程序,如telnet 23
TCP三次握手過程
DNS解析流程原理
DNS結構:
DNS本事是倒掛的樹狀結構(和linux目錄結構很像),他的頂點也是根"."
根:跟域名伺服器,全球13臺。
頂級域名:org.com.edu.gov.net等
一級域名:
DNS解析流程
圖示一:
圖示二:
檢視dns解析過程命令:
dig www.baidu.com +trace #查詢預設解析過程
dig @114.114.114.114 www.baidu.com +trace #指定dns為114解析,檢視其解析過程。
IP別名(輔助IP)
在Linux系統中,我們可以在一塊物理網絡卡上配置多個IP地址,以此來實現類似子介面的功能,我們稱之為IP別名。當然在其他作業系統上,比如windowns、mac os上也支援在一塊物理網絡卡配置多個IP地址。比如說我們的Linux主機作為一個DHCP伺服器,它可能要為不同的網段分配多個IP地址,在Linux系統中,我們通過IP別名來實現在一塊物理網絡卡上配置多個IP地址。
【注意:】要使用IP別名來配置多個IP地址,我們首先需要關閉NetworkManager服務
在CentOS或者RHEL上,都預設會啟用NerworkManager這個服務來對網絡卡進行管理,NetworkManager服務其實就是我們作業系統右上方那兩個小電腦圖示,我們在圖形化介面可以點選那個來指定使用哪塊網絡卡,但是我們如果需要使用IP別名,就必須要禁用掉這個服務,停掉NetworkManager服務後,即可以使用ip addr 命令來為網絡卡新增IP別名。
ip addr add 172.25.215.40
/24
dev eth0 label eth0:0 #後面的eth0:0 表示,我們給eth0這塊網絡卡增加一個IP別名,後面那個0表示別名號,第二個別名就可以寫成 eth0:1
如果說我們需要永久儲存這個資訊,我們就需要在 /etc/sysconfig/network-scripts 這個檔案下建立一個名字為 ifcfg-eth0:0 這樣的配置檔案,新建的IP別名是什麼,那麼就在這個目錄下建立一個與該名字對應的檔案即可
多網絡卡繫結
為什麼要使用多網絡卡繫結技術呢?我們知道如果使用一塊網絡卡進行網路資料傳輸時其速度是有限的,即使是千兆網絡卡,其速度也是有限制的,我們為了提高頻寬,我們可以將多塊物理網絡卡繫結成一塊邏輯網絡卡,這樣網絡卡的速率就是多塊網絡卡的速率了。
Linux支援將多塊物理網絡卡繫結成一塊邏輯網絡卡,繫結後的邏輯網絡卡可以並行使用組成其的所有物理網絡卡,通過這樣的方式可以提高頻寬以及網路的穩定性。
我們在將多塊物理網絡卡繫結成一塊邏輯網絡卡以後,我們的IP地址就要求配置在這塊邏輯網絡卡上了,而非多塊物理網絡卡
Linux下常用三種模式的網絡卡繫結:
mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必”Switch”支援及設定。
需要說明的是如果想做成mode 0的負載均衡,僅僅設定這裡options bond0 miimon=100 mode=0是不夠的,與網絡卡相連的交換機必須做特殊配置(這兩個埠應該採取聚合方式)(cisco稱 為 ethernetchannel,foundry稱為portgroup),因為做bonding的這兩塊網絡卡是使用同一個MAC地址.
案列實踐:
2個物理網口分別是:eth0,eth1
繫結後的虛擬口是:bond0
伺服器IP是:192.168.0.100
第一步,配置設定檔案:
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
#BROADCAST廣播地址
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
第二步,修改modprobe相關設定檔案,並載入bonding模組:
1.在這裡,我們直接建立一個載入bonding的專屬設定檔案/etc/modprobe.d/bonding.conf
[[email protected] ~]# vi /etc/modprobe.d/bonding.conf
#追加
alias bond0 bonding
options bonding mode=6 miimon=200 #miimon引數是故障切換時間,常用模式mode=6
2.載入模組(重啟系統後就不用手動再載入了)
[[email protected] ~]# modprobe bonding
3.確認模組是否載入成功:
[[email protected] ~]# lsmod | grep bonding
bonding 100065 0
第三步,重啟一下網路,然後確認一下狀況:
[[email protected] ~]# /etc/init.d/network restart
[[email protected] ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
……
[[email protected] ~]# ifconfig | grep HWaddr
bond0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
eth0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
eth1 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74
從上面的確認資訊中,我們可以看到3個重要資訊:
1.現在的bonding模式是active-backup
2.現在Active狀態的網口是eth0
3.bond0,eth1的實體地址和處於active狀態下的eth0的實體地址相同,這樣是為了避免上位交換機發生混亂。
任意拔掉一根網線,然後再訪問你的伺服器,看網路是否還是通的。
第四步,系統啟動自動繫結、增加預設閘道器:
[[email protected] ~]# vi /etc/rc.d/rc.local
#追加
ifenslave bond0 eth0 eth1
route add default gw 192.168.0.1
#如可上網就不用增加路由,0.1地址按環境修改.
留心:
前面只是2個網口繫結成一個bond0的情況,如果我們要設定多個bond口,比如物理網口eth0和eth1組成bond0,eth2和eth3組成bond1,
那麼網口設定檔案的設定方法和上面第1步講的方法相同,只是/etc/modprobe.d/bonding.conf的設定就不能像下面這樣簡單的疊加了:
alias bond0 bonding
options bonding mode=1 miimon=200
alias bond1 bonding
options bonding mode=1 miimon=200
正確的設定方法有2種:
第一種,你可以看到,這種方式的話,多個bond口的模式就只能設成相同的了:
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=1
第二種,這種方式,不同的bond口的mode可以設成不一樣:
alias bond0 bonding
options bond0 miimon=100 mode=1
install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0
仔細看看上面這2種設定方法,現在如果是要設定3個,4個,甚至更多的bond口,你應該也會了吧!
後記:簡單的介紹一下上面在載入bonding模組的時候,options裡的一些引數的含義:
miimon 監視網路連結的頻度,單位是毫秒,我們設定的是200毫秒。
max_bonds 配置的bond口個數
mode bond模式,在一般的實際應用中,6用的比較多。