1. 程式人生 > >linux運維網路基礎1

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用的比較多。