網絡管理3

七、網絡接口配置-bonding

    Bonding

        就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。

    Bonding的工作模式

        Mode 0 (balance-rr)

            輪轉( Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力

        Mode 1 (active-backup)

            活動-備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見

        Mode 3 (broadcast)

            廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力。

    Bonding配置

        創建bonding設備的配置文件

            /etc/sysconfig/network-scripts/ifcfg-bond0

                DEVICE=bond0

                BOOTPROTO=none

                BONDING_OPTS= “miimon=100 mode=0”

            /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

八、CentOS 7網絡屬性配置

    rhel6之前,網絡接口使用連續號碼命名: eth0、 eth1等,當增加或刪除網卡時,名稱可能會發生變化。

    rhel7使用基于硬件,設備拓撲和設置類型命名:

    (1) 網卡命名機制

        systemd對網絡設備的命名方式

        (a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1

        (b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1

        (c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0

        (d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56;

        (e) 上述均不可用時,則使用傳統命名機制

    基于BIOS支持biosdevname中

        內置網卡: em1,em2

        pci卡: pYpX Y: slot ,X:port

    (2) 名稱組成格式

        en: Ethernet 有線局域網

        wl: wlan 無線局域網

        ww: wwan無線廣域網

    名稱類型:

        o<index>: 集成設備的設備索引號

        s<slot>: 擴展槽的索引號

        x<MAC>: 基于MAC地址的命名

        p<bus>s<slot>: enp2s1

    網卡設備的命名過程:

        第一步:udev, 輔助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules

        第二步:biosdevname 會根據/usr/lib/udev/rules.d/71-biosdevname.rules

        第三步:通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description

            ID_NET_NAME_ONBOARD

            ID_NET_NAME_SLOT

            ID_NET_NAME_PATH

    使用傳統命名方式:

        1) 編輯/etc/default/grub配置文件

            GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet" 或:修改/boot/grub2/grub.cfg

        (2) 為grub2生成其配置文件

            grub2-mkconfig -o /etc/grub2.cfg

        (3) 重啟系統

九、nmcli命令

    地址配置工具: nmcli

    nmcli [ OPTIONS ] OBJECT { COMMAND | help }

        device – show and manage network interfaces

        nmcli device help

        connection – start, stop, and manage network connections

        nmcli connection help

    修改IP地址等屬性:

        #nmcli connection modify IFACE [+|-]setting.property value

            setting.property:

            ipv4.addresses  ipv4.gateway

            ipv4.dns1  ipv4.method   manual | dhcp

    修改配置文件執行生效:

        systemctl restart network

        nmcli con reload

    nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0

    相關工具

        網絡接口配置tui工具: nmtui

        主機名稱配置工具: hostnamectl

            status

            set-hostname

    使用nmcli配置網絡

        NeworkManager是管理和監控網絡設置的守護進程

        設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效。

        顯示所有包括不活動連接

            nmcli con show

        顯示所有活動連接

            nmcli con show –active

        顯示網絡連接配置

            nmcli con show "System eth0“

        顯示設備狀態

            nmcli dev status

        顯示網絡接口屬性

            nmcli dev show eno16777736

        創建新連接default, IP自動通過dhcp獲取

            nmcli con add con-name default type Ethernet ifname eth0

        刪除連接

            nmcli con del default

        創建新連接static ,指定靜態IP,不自動連接

            nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

        啟用static連接配置

            nmcli con up static

        啟用default連接配置

            nmcli con up default

        查看幫助

            nmcli con add help

        修改連接設置

            nmcli con mod“static” connection.autoconnect no

            nmcli con mod “static” ipv4.dns 172.25.X.254

            nmcli con mod “static” +ipv4.dns 8.8.8.8

            nmcli con mod “static” -ipv4.dns 8.8.8.8

            nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”

            nmcli con mod “static” +ipv4.addresses 10.10.10.10/16

blob.png

blob.png

    網絡配置文件

        設備配置被保存在文本文件中

            /etc/sysconfig/network-scripts/ifcfg-<name>

            幫助文檔列出完整選項列表: /usr/share/doc/initcripts-*/sysconfig.txt

blob.png

    修改連接配置后,需要重新加載配置

        nmcli con reload

        nmcli con down “system eth0” 可被自動激活

        nmcli con up “system eth0”

        nmcli dev dis eth0 禁用網卡,訪止被自動激活

    圖形工具

        nm-connection-editor

十、實現網絡組

    網絡組Network Teaming

        網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量

        網絡組不同于舊版中bonding技術,提供更好的性能和擴展性

        網絡組由內核驅動和teamd守護進程實現

        多種方式runner

            broadcast

            roundrobin

            activebackup

            loadbalance

            lacp (implements the 802.3ad Link Aggregation Control Protocol)

        啟動網絡組接口不會自動啟動網絡組中的port接口

        啟動網絡組接口中的port接口不會自動啟動網絡組接口

        禁用網絡組接口會自動禁用網絡組中的port接口

        沒有port接口的網絡組接口可以啟動靜態IP連接

        啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入

    創建網絡組接口

        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.

    創建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接口

    網絡組示例

        # nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'

        # nmcli con mod team0 ipv4.addresses 192.168.1.100/24

        # nmcli con mod team0 ipv4.method manual

        # nmcli con add con-name team0-eth1 type teamslave ifname eth1 master team0

        # nmcli con add con-name team0-eth2 type teamslave ifname eth2 master team0

        # nmcli con up team0

        # nmcli con up team0-eth1

        # nmcli con up team0-eth2

        # teamdctl team0 state; # nmcli dev dis eth1

    實驗:創建網絡組

        #ip link

        # nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

        # nmcli con mod team0 ipv4.addresses '192.168.0.100/24'

        # nmcli con mod team0 ipv4.method manual

        # nmcli con add type team-slave con-name team0-port1 ifname eno1 master team0

        # nmcli con add type team-slave con-name team0-port2 ifname eno2 master team0

        # teamdctl team0 state

        #ping -I team0 192.168.0.254

        # nmcli dev dis eno1

        # teamdctl team0 state

        # nmcli con up team0-port1

        # nmcli dev dis eno2

        # teamdctl team0 state

        # nmcli con up team0-port2

        # teamdctl team0 state

    管理網絡組配置文件

        # /etc/sysconfig/network-scripts/ifcfg-team0

            DEVICE=team0

            DEVICETYPE=Team

            TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"

            BOOTPROTO=none

            IPADDR0=172.25.5.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

    使用nmcli配置主機名

        rhel6之前主機名配置文件: /etc/sysconfig/network

        rhel7.0主機名配置文件:/etc/hostname ,默認沒有這個文件, 通過DNS反向解析獲取主機名, 主機名默認為:localhost.localdomain

        顯示主機名信息

            hostname

            hostnamectl status

        創建并修改文件并生效

            hostnamectl set-hostname desktopX.example.com

        刪除文件,恢復主機名localhost.localdomain

        DNS設置,存放在/etc/resolv.conf文件中,PEERDNS=no 表示當IP通過dhcp自動獲取時, dns仍是手動設置,不自動獲取。等價于下面命令:

            nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

十一、測試網絡

    在命令行下測試網絡的連通性

        顯示主機名:

            hostname

        測試網絡連通性:

            ping

            mtr

        顯示正確的路由表:

            ip route

        確定名稱服務器使用:

            nslookup

            host

            dig

        跟蹤路由:

            traceroute

            Tracepath

十二、網絡客戶端工具

    lftp, ftp, lftpget, wget

        # lftp [-p port] [-u user[,password]] SERVER

    子命令:

        get、 mget、 ls、 help

    # lftpget URL

    # ftp

    # wget

    wget [option]… [URL]…

        -q: 靜默模式

        -c: 斷點續傳

        -O: 保存位置

        –limit-rates=: 指定傳輸速率

原創文章,作者:DYW,如若轉載,請注明出處:http://www.www58058.com/44994

(0)
DYWDYW
上一篇 2016-09-10
下一篇 2016-09-10

相關推薦

  • Linux權限管理練習

    1、當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 無法cd切換進入此目錄,無法創建文件,無法刪除文件,無法查看里面文件的內容,只能ls列出目錄下的內容 2、當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 無法ls查看目錄下的內容 3、當用戶wangcai 對/testdir 目錄無寫權…

    Linux干貨 2016-08-05
  • N26 第八周作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋(network bridge) 網橋工作于物理層與數據鏈路層,在終端設備較多的局域網中可以用網橋設備將局域網分離為不同的沖突域(collision domain),減少網絡沖突,提升網絡傳輸效率 集線器(network hub) 集線器具有多個I/O端口,一個端口的輸入信號…

    2017-02-25
  • Cobbler 自動化部署系統

    本人較懶,做好筆記,預排版,打印成 PDF 了。-_## Cobbler 自動化部署系統.pdf

    Linux干貨 2015-08-17
  • 博客作業-N22第二周

    1、linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示。 答: cp 復制文件 [root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak [root@localhost network-scripts]# ls ifcfg-eno16777736  …

    Linux干貨 2016-08-22
  • 運維必備技能之磁盤管理

    磁盤分區的三個工具 1、fdisk交互式工具         fdisk /dev/sdb進入交互界面         交互式界面的幾個常用命令        …

    Linux干貨 2017-03-14
  • shell腳本編程基礎

    一.編程基礎             ? 程序:指令+數據             ? 程序編程風格:  &n…

    Linux干貨 2016-08-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 14:27

    綜合前面兩篇文章,作者已經對linux網絡基礎與屬性管理有了一個深刻的認識,望課后多加練習,熟練掌握。

欧美性久久久久