網絡配置的常用工具

一、網絡配置的常用工具

    例如:

               ifcfg:ifconfig、route、netstat

                ip:object [link、addr、route]、ss、tc

                system-config-network-tui(圖形界面)

    centos 7:獨有的網絡配置工具

                nmcli、nmtui、nm-connection-editor

    下面來對上面所述的常見命令進行詳細講解:

    ifconfig命令:

         ifconfig interface [options]

        功能:可用于修改IP地址、掩碼、mtu、廣播地址等信息,也可禁用或啟用網卡

        常用組合:

                ifconfig:僅顯示啟用的網卡

                ifconfig -a:顯示所有網卡,包括不啟用的

                ifconfig eth0 192.168.1.100:修改eth0的IP地址

                    注意:此處后面不加任何參數,則系統會依照IP所在的范圍自動計算出掩碼及廣播地址等IP參數

                ifconfig eth0:0 192.168.1.200:在網卡上面再添加設備別名,多加一個IP地址

                    注意:ifconfig 添加IP地址只能使用別名,不能直接添加,但IP命令可以

                        必須使用靜態聯網,也可更改配置文件:

                        DEVICE=eth0:0

                        IPADDR=10.10.10.10

                        NETMASK=255.0.0.0

                        ONPARENT=yes 物理網卡啟動就啟動                    

                ifconfig eth0 up:啟用網卡

                ifconfig eth0 down:禁用網卡

                ifconfig eth0 192.168.1.100 netmask 255.255.255.0 mtu 1500

                ifconfig eth0 192.168.1.100/24.0 mtu 1500   

             注意:上述命令執行完,立即生效,但不會永久有效,如果想永久有效可以配置etc/sysconfig/network-scripts/ifcfg-ethx文件,配置完重啟服務即可。

    

    route命令:

            功能:配置路由表,增加刪除路由路由表中的條目。

            常用組合:

                route -n:以數字格式顯示路由信息,不用反解

                route add [-net|host] target [netmask 掩碼][gw 網關][dev 接口名]

                route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1

                    添加一個路由條目到達10.0.0.0/8

                route add -net default gw 192.168.1.1 dev eth1

                route add -net 0.0.0.0/0.0.0.0 gw 192.168.1.1 dev eth1

                    添加默認網關

                route del -net 10.0.0.0/8 :刪除網絡

                route del -net default gw 192.168.1.1:刪除網關

                route del defalut :刪除網關

        root@cenots6.8  ~ # route -n
        Kernel IP routing table
        Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
        10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth1
        169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth1
        0.0.0.0         10.1.0.1        0.0.0.0         UG    0      0        0 eth1
        
        目標網絡        網關            子網掩碼   U:已啟用 G:網關             經過的網卡

                注意:如果gw處顯示是0.0.0.0表示該路由是直接本機傳送,也就是說通過局域網的mac直接發送,若果顯示ip的話,表示該路由需要經過路由器(網關)的幫忙發送出去 

            配置文件:/etc/sysconfig/network-scripts/route-IFACE

                上述配置過程也是臨時生效,不會永久有效,可通過配置使其永久有效,路由配置文件默認是不存在的,需要手動創建,具體格式如下:

                (1) TARGET via GW
                    10.0.0.0/8 via 172.16.0.1
                (2) 每三行定義一條路由
                    ADDRESS#=TARGET
                    NETMASK#=mask
                    GATEWAY#=GW

    ip命令:

            ip object :{ link | addr | route | netns }

             ip link set [dev] eth0

            功能:顯示設備信息、啟用或禁用網卡和多播、更改網卡名稱等

                ip link set [dev] eth1 down:禁用網卡

                ip link set [dev] eth1 up:啟用網卡

                ip link set eth1 name eno1234567:更改網卡名稱

                ip link eth1 multicast on|off:啟用或禁用多播功能

                ip link show [ethX]:顯示設備信息

        

        ip addr {add|del|show|flush}   

        功能:添加、刪除、顯示IP地址

         增:

                  ip addr add 192.168.1.102/24 dev eth1

                  ip addr list eth1可以看到是secondary eth1

                  ip addr add 10.0.10.100/8 dev eth1  在添加一個地址

                  ip addr list eth1 可以看到不是third 而是global eth1 (因為不在同一個網絡)

            刪:

               ip daddr del 192.168.1.102/24 dev eth1

               ip addr flush dev ethXXX :清空IP地址

         查:

                  ip addr show [ethXXX]

        

        ip route {add|chage|replace}

        功能:

         增:

               ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 

                    要想到達192,168.0.0這個網絡地址要經由10.0.0.1這個網關

                  ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100

                  ip route add default via 172.16.0.1 dev eth0 添加默認路由

         刪:

                  ip route delete 192.168.1.0/24

               ip route flush dev eth0

         查:

               ip route show|list

               ip route show src 192.168.1.100

                  ip route get 192.168.1.0/24

    nmcli命令:

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

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

         顯示所有包括不活動的連接:

                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 ifanme eth0

         刪除連接

                nmcli con del default

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

                nmcli con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw

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

        nmcli與配置文件的對應關系

            

1.png

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

                nmcli con reload

                nmcli con down "system eth0"可被自動激活

                nmcli con up "system eth0"

                nmcli dev dis eth0 禁止網卡,防止為自動激活 

    

    網絡組Network Teaming:

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

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

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

            但實踐證明,沒有bonding穩定。

        

        多種方式    

                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

I                    NAME 設備名 CNAME 網絡組接口名或port接口

        應用實例:            

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

                     cd /etc/sysconfig/network/ 目錄下可以看到ifcfg-team0文件

                nmcli connection modify team0 ipv4.addresses 10.1.252.213/16

                nmcli connection modify team0 ipv4.method manual 指定BOOTPROTO=none

                nmcli connection modify team0 ipv4.dns 8.8.8.8 ipv4.gateway 10.1.0.1

                nmcli connection add con-name team0-eth0 type team-slave ifname eth0 master team0

                nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0

                nmcli connection up team0-eth0

                nmcli connection show

                teamdctl team0 state


二、顯示網絡連接狀態

    常用命令:netstat、ss

    

    netstat:

        顯示路由信息:netstat -rn = route -n

                -r:顯示內核路由表

                -n:數字格式

        顯示網絡連接:

               選項:

                  -t:查看tcp協議的連接

                   -u:顯示udp協議的連接

                   -l:顯示正在監聽的連接,不加l是顯示已建立的連接

                   -n:以數字的格式顯示

                   -a:顯示所有的

                   -w:裸套接字相關的連接

                   -e:擴展格式

                   -p:顯示PID

        顯示接口信息:

                netstat -i

                netstat -I=ethXXX

                ifconfig -s ethXXX

                    例如:watch -n1 'netstat -I=eth1' 一秒鐘刷新一次,網絡接收和發送數據包的狀態

                   可配合ping -f IPaddr 查看狀態(ping -a ipaddr 可以解析到主機名)

    ss命令:

        netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息,因此ss性能要優netstat命令。

                格式:ss [option]…[filter]

                選項:

                      -t:tcp相關的連接

                      -u:udp相關的連接

                      -w:raw socket 相關的連接    

                       -l:監聽狀態的連接

                       -a:所有狀態的連接

                      -p:先關的程序及其PID號

                      -e:擴展格式信息

                      -m:內存用量

                      -o:計時器信息

                filter:[state TCP-state][expression]

                     listen

                     established

                     fin_wait_1

                     fin_wait_2

                     syn_sent

                     syn_recv

                     closed

                 表達式:

                     dprot =

                     sport =   

                 例如:'( dport = :22 or sport = :22  )'        

                 應用舉例:

                    ss -l 顯示本地打開的所有端口

                    ss -pl 顯示每個進程具體打開的socket

                    ss -t -a 顯示所有tcp socket

                    ss -u -a 顯示所有的UDP Socekt

                    ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接

                    ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接

                    ss -s 列出當前socket詳細信

三、配置主機名

            centos 6 :

                 顯示主機名:hostname

                 修改主機名:hostname Name 臨時生效

                        修改配置文件:/etc/sysconfig/network

            centos 7 :

                  顯示主機名:hostname、hostnamectl、hostname status

                  修改主機名:hostname set-hostname Name 永久有效

                        修改配置文件:/etc/hostname

            

四、網卡名稱:

            centos 6:

                 配置文件:/etc/udev/rules.d/70-persistent-net.rules 

                    注意:這個文件中的網卡名要與網卡配置文件中保持一致,否則會報錯

            centos 7:

                可以將en######的命名方式還原為ethX,方法如下:

                     1、編輯/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或修改/boot/grub2/grub.cfg

                     2、為grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg

                     3、重啟系統

    

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

(0)
NarutoNaruto
上一篇 2016-09-09
下一篇 2016-09-09

相關推薦

  • lamp的編譯安裝

    基于http的php模塊模式 一、需要準備的軟件:     apr-1.5.0.tar    apr-util-1.5.3.tar    httpd-2.4.9.tar        mysql-5.5.33-…

    Linux干貨 2016-06-22
  • 自用vim環境參數設置

    基本顯示設置 set nu mber 顯示行號 syntax on 語法高亮 set cursorline 用淺色高亮當前行 set ruler 顯示標尺 set showcmd 輸入的命令顯示出來,看的清楚些 set cmdheight=1 命令行(在狀態行下)的高度,設置為1 set tabst…

    Linux干貨 2017-04-24
  • Linux上的文件管理類命令

    N27-第二周作業

    2017-10-08
  • 基于Keepalived構建高可用集群配置實例(HA Cluster)

    什么是集群 簡單的講集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。這些單個的計算機系統就是集群的節點(node)。一個理想的集群是,用戶從來不會意識到集群系統底層的節點,在他/她們看來,集群是一個系統,而非多個計算機系統。并且集群系統的管理員可以隨意增加和刪改集群系統的節點。 關于更詳細的高可用集群我們在后面再做詳解…

    Linux干貨 2016-11-03
  • linux發展史——獸人永不為奴

      了解歷史才能判斷趨勢。既然我們已經打算跳入運維這個坑,了解先烈的歷史事跡是必須的。為什么說是必須的呢?現在我們處于一個知識時代,資本在追著知識跑,像海銀資本這種vc都看不起中國的市場了,已經帶著中國的資本在萬惡資本主義的老美投資了。 1計算機硬件組成   操作系統成為了非常重要人類創造生產力的場所,很多人都開始追本…

    Linux干貨 2016-10-14
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]# fdisk /dev/sda WARNING: DOS-compatible mode is&n…

    Linux干貨 2016-08-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 11:34

    對網絡管理工具用法總結的很完善,建議多操作,熟練運用。

欧美性久久久久