Linux之網絡的風采——以后也能做網管了

理論基礎

1、先說說這個IP:

    IP是一種協議,計算機與計算機通信協議,是一種底層通信協議,分為IPv4與IPv6,現在使用的還是IPv4

    IPv4由32位二進制組成,也就是由32位0或者1組成,通過排列組合也能算出來這個世界一共有多少個IP了,有2^32個IP約42.9億個IP,但是據說現在地球人口已經80來億了,可以想像一下,IP資源比較潰乏,還好IPv6快要出現了,這個ip幾乎可以說是用之不凈的IP有2^128個IP,據說可以給世界上的每一粒砂子配置一個IP,可以想像一下,IPv6的數量是恐怖的

2、說說這個IP的分類吧

   先按照這個IP前八位數字的型式分一下類,分為五類,分別是A,B,C,D,E

        A:1.0.0.0~127.255.255.255

        B:128.0.0.0~191.255.255.255

        C:192.0.0.0~223.255.255.255

        D:224.0.0.0~239.255.255.255(組播地址)

        E:240.0.0.0~255.255.255.255(供給研究使用的預留IP)

    再按這個使用用途分一下類,這個就是公有IP與私有IP啦,下面說說這些IP中的私有IP,每一個類別中有一段IP劃分成私有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

      D和E沒有私有IP是不是有點討厭呢。。。

    注:公有IP和私有IP默認是不能通信的,大家明白,據一些老前輩說他們在年輕的時候辦公電腦用的IP是公有IP,這種情況我是沒有見過。。。。

3、說一下VLSM吧:(可變長子網掩碼)

    這里要小說幾個術語了:

        網段:就像A,B,C,D,E分類一樣,只不過是不知名的分類,例如把A類地址又分為十份,這十份中的每一份都是一個網段

        網絡位:評定兩個IP是不是同一個網段的標準

        主機位:確定一個網段中可以容納多少臺設備,有的人一說這個設備就是計算機,我覺的現在不應該這么狹隘了,現在馬桶都快變成智能化了,所以就沒有必要在這么局限了

        與運算:是一種算法,就是對位做乘法,就是0與1做乘法,這個答案比較明了,不是1就是0,但是有很多人就是不會算,我想你是一個聰明人,應該會算的嘍;記住是對位相乘,不要跑偏了

    我預計有很大一部分人是不會做進制轉化的,咱專業點好不好,做為半個IT界人,居然不會進制轉化,我有點不淡定了,其實進制蠻多的,比如我們生活中經常用到的十進制,一小時60分,一天24小時,這都能算是一種進制,我們即然會算時間,為什么不會算這些個二進制、八進制、十進制呢

    先說說十進制轉化為二進制吧,使用短除法進行轉化

        例:將1382轉化為二進制

            1382/2=691 余0

            691/2=345  余1

            345/2=172 余1

            172/2=86 余0

            86/2=43 余0

            43/2=21 余1

            21/2=10 余1

            10/2=5 余0

            5/2=2 余1

            2/2=0 余0

            1

        倒著寫下去,從下往上寫就是10101100110,這一串數就是1382轉化成二進制的結果

    上面說了十轉二,下面來看看二轉二

        例:將10001011111011001轉化為十進制

            10001011111011001=1*2^0+0*2^1+0*2^2+1*2^3+1*2^4+0*2^5+1*2^6+1*2^7+1*2^8+1*2^9+1*2^10+0*2^11+1*2^12+0*^2^13+0*2^14+0*2^+15+1*2^16

                                       =1+0+0+8+16+0+64+128+256+512+1024+0+4096+0+0+0+65535

                                       =71641

            所以這個二進制轉化為十進制的結果就是71641

            用二進制轉化八進制與十六進制的簡單方法,這種方法叫”八四二一碼“,如下圖

                Linux之網絡的風采——以后也能做網管了

             這就是八四二一碼的核心思想,分片,補0,其中要將二進制轉化為八進制,將二進制分為三個一組(從未位到首位分割),如果首位不夠三位可心借0,同樣的,如果是轉化為十六進制,那么就是將四個二進制分成一組,不夠可心補0,還是容比較容易與方便的

        

        這個進制轉化的中介是十進制,如果要將八進制或都十六進制轉化為二進制,需要將八進制或都十六進制轉化為十進制,然后再轉化為二進制

            例:將八進制轉化為十進制:將八進制數66轉化為十進制

                66=6*8^0+6*8^1

                   =6+48

                   =54

            例:將十六進制轉化為十進制:將十六進制數8E65轉化為十進制

                8E65=5*16^0+6*16^1+14*16^2+8*16^3

                      =5+96+3584+32768

                      =36453

            例:將十進制轉化為十六進制:將十進制數12306轉化為十六進制

                12306/16=769 余2

                769/16=48 余1

                48/16=3 余0

                3

                所以結果十六進制為3012

    

    現在說說IP與子網掩碼的與運算:

        與運算就是將IP與子網掩碼轉化成二進制后,對位相乘,如下圖

               Linux之網絡的風采——以后也能做網管了

            上圖就是IP與子網掩碼做與運算,并得出網絡位為192.168.1.0

            而主機位就是二進制網絡俺碼中的0即為主機位,由排列組合可以看出一類子網掩碼可以包含多少個主機,但是在主機中,有兩個特別的存在,那就是主機位與網絡位即這一個網絡中最大的一個IP與最小的一個IP,這兩個不可以給設備分配,同時192.168.1.0表示這個網段,192.168.1.255就是這個網段的廣播地址。

    VLSM:可變長子網掩碼

        向主機位借位,借位后的IP就是無類的IP,比如說192.168.1.0/24借兩位就表示成192.168.1.0/26,當然,即然借了,廣播地址就不為255,比如這個網段192.168.1.0/26的廣播地址就是192.168.1.63

    下面說下相關公式吧:

        計算一個網段下的主機數:2^n-2(其中n為主機位0的個數)

        計算一個網段分的子網段數:2^m(其中m為借位的個數)

        子網的邊界:256-N(N為借位后二進制數值轉化為十進制的值,例192.168.1.0/26中借位兩位由原來的八個0變為11000000,那么11000000轉化為十制就是192,那么公式就是256-192,結果為64,那么,這個子網段就是以64分割的,第一個網段就是192.168.1.0~192.168.1.63、第二個就是192.168.1.64~192.168.1.127、……)

4、CIDR(超網)
    超網是一種減少路由條目的技術,可以將多個網段合并為一個網段
    例如三個網段分別為192.168.128.0/24、192.168.192.0/24、192.168.224.0/24在寫入路由條目的時候就可以合并為一條路由192.168.128.0/17

    

5、說說靜態路由與動態路由吧:

    靜態路由顧名思義就是固定的,一個缺點,當然也有優點了,缺點是需要一條一條的配置,面全球有十三萬條路由,好不容易配置好了十三萬條路由了,路由器崩潰了,這是必然的,能存十三萬條路由的路由器一般單位還買不起,所以,這個靜態路由適合小環境中使用,一般公司都公使用靜態路由,因為還有一個技術叫NAT(有興趣可以上網查下),而且又有幾個公司有超過5臺路由器的,況且五臺路由器才配置幾條路由啊,簡單實惠,何樂而不為呢,所以說,動態路由對大部分地方就是一個復雜而無用的技術,當然,動態路由的優點是靜態所不能比的,如果用靜態路由寫5000條路由,用動態也就那么幾條,動態路由的路由主要是靠自動獲取,性能也要比靜態好的多(大型網絡中)。所以在Linux中靜態路由就是必不可少的了,當然,如果你要用Linux當個路由器,也是可以的,可以裝個quagga軟件包,這個包里有OSPF與RIP協議,用這個軟件的,應該就是做軟路由了,那你也可以創業了,做個聯通的寬帶代理商了,成本價也就幾百塊。。。。閑扯結束,繼續寫吧。。


實例1
    靜態路由
        路由拓撲

            Linux之網絡的風采——以后也能做網管了

            步驟:
                1、配置IP
                    (臨時)ifconfig 網卡名 IP/PREFIX
                    (非臨時)寫入配置文件/etc/sysconfig/network-scripts/ifcfg-網卡名
                2、在路由器上配置
                    echo 1 > /proc/sys/net/ipv4/ip_forward
                3、配置路由與網關
                    (網關)route add default gw 網關
                    (路由)route add -net 要去的網段 gw 下一跳近端口IP
            配置過程
                S1:ifconfig eth0 192.168.35.2/24
                    route add default gw 192.168.35.1
                S2:ifconfig eth0 172.31.1.2/24
                    route add default gw 172.31.1.1
                R1:ifconfig eth0 192.168.35.1/24
                    ifconfig eth1 10.1.1.1/24
                    route add -net 172.31.1.0/24 gw 10.1.1.2
                    echo 1 > /proc/sys/net/ipv4/ip_forward
                R2:ifconfig eth0 172.31.1.1/24
                    ifconfig eth1 10.1.1.2/24
                    route add -net 192.168.35.0/24 gw 10.1.1.1
                    echo 1 > /proc/sys/net/ipv4/ip_forward
            配置結束
                注:各種網卡的協調性

實例2
    BONDING:

        BONDING的模式:
            mode 0 為balance-rr(輪詢模式)
            mode 1 為active-backup(主備模式)
            mode 3 為broadcast(廣播策略)

        步驟:
            1、清除原有配置網卡配置文件
            2、新建bonding配置文件
            3、配置bonding虛擬設備文件
                DEVICE= //設備名
                BOOTPROTO= //獲取IP方式
                ONBOOT= //是否開機自動啟動
                BONDING_OPTS=”mode={0|1|3};miimon=100″ //BONDING模式
                IPADDR= //靜態IP地址
                NETWORK= //掩碼
                GATEWAY= //網關
                DNS1= //dns
            4、配置實體網卡的配置文件
                DEVICE= //設備名
                SLAVE= //是否為slave{yes|no}
                MASTER= //是否為master{bonding的設備名}

        配置過程:
            ifconfig eth0 down
            ifconfig eth1 down
            rm -rf ifcfg-eth0
            rm -rf ifcfg-eth1
            touch ifcfg-bond0
            touch ifcfg-eth0
            touch ifcfg-eth1
        編輯配置文件:ifcfg-bond0
            DEVICE=bond0
            BOOTPROTO=none
            ONBOOT=yes
            BONDING_OPTS=”mode=1 miimon=100″
            IPADDR=172.16.1.1
            PREFIX=16
            GATEWAY=172.16.0.1
            DNS1=172.16.0.1
        編輯配置文件:ifcfg-eth0
            DEVICE=eth0
            SLAVE=yes
            MASTER=bond0
       編輯配置文件:ifcfg-eth1
            同ifcfg-eth1
       

        可以查看/proc/net/bonding/bond0

    配置完成

實例3

    在CentOS7中的網絡組
        Teaming的工作模式:
            broadcast(廣播模式)
            roundrobin(輪詢)
            activebackup(主備)
            loadbalance(負載均衡)
            lacp(鏈路聚合控制協議)

        配置步驟:
            1、刪除原有網卡相關的配置文件
            2、生成team
            3、將實體網卡加入到team中
            4、啟動

        配置過程:
            nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:”activebackup”}}’
            nmcli con add type team-slave con-name team0-eth0 ifname eth0 master team0
            nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0
            nmcli con down team0
            nmcli con up team0
            nmcli con up team0-eth0
            nmcli con up team0-eth1
    配置完成

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

(0)
gaomeigaomei
上一篇 2017-03-26
下一篇 2017-03-26

相關推薦

  • 【N25第二周作業】Linux文件管理命令以及文件名通配glob

    1、Linux下的文件管理類命令使用方法和示例 Linux下的文件管理類命令有如下列舉的一些: 目錄管理命令:cd,pwd,ls,mkdir,rmdir,tree文件管理命令:touch,cp,mv,rm,stat查看:more,less,head,tail,cat,tac,lsattr,whereis,which權限:chmod,chown,chattr,…

    Linux干貨 2016-12-12
  • 111-puppet

    一.運維層次分類 OS Provision:

    2016-12-04
  • Linux第四周總結

    1、復制/etc/skel目錄為/home/tuser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop, 其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/…

    2017-07-24
  • 權限管理練習題

    權限管理練習題:     1、當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作?         不能cd到該目錄下,不能ls -l訪問目錄里面文件元數據的信息    &nbsp…

    Linux干貨 2016-08-04
  • 壓縮、解壓縮及歸檔工具

    壓縮、解壓縮及歸檔工具 一、雜項知識整理 1、find -iname 忽略大小寫;     -inum 查找指定inode號的文件;  find 在有條件判斷的時候,如果不加括號,最后的命令會被當成以為第二個條件之后的:例 [root@localhost shelltest]# find&…

    Linux干貨 2016-08-18
  • python

    作業;練習

    2018-03-21
欧美性久久久久