網絡配置的常用工具

一、網絡配置的常用工具

    例如:

               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 12:36
下一篇 2016-09-09 13:51

相關推薦

  • 源碼編譯安裝之apache

    工具: Development tools組包 httpd-2.2.9.tar.gz links網站瀏覽工具   安裝apache之前需要安裝編譯需要的環境“Development tools”這個是編譯使用的必須的環境包,使用下面的命令可以安裝。 [root@CentOS6 ~]# yum groupinstall&…

    Linux干貨 2016-08-24
  • RAID磁盤冗余探究

    RAID磁盤冗余探究 RAID的全稱是Redundant Arrays of Inexpensive Disk,可以翻譯為廉價的磁盤冗余陣列。由加利福尼亞大學伯克利分校的一位教授在1988年提出,是一種磁盤管理方式。其產生的初衷是為了降低成本,但是為了達到RAID的功能,其造價并不便宜,所以后來改為Redundant Arrays of Independen…

    2017-08-26
  • 馬哥教育網絡班21期+第6周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@localho…

    Linux干貨 2016-08-15
  • N25期第五周作業

    1.顯示當前系統上root、fedora或user1用戶的默認shell grep -E ‘^(root|ftp|sync)’ /etc/passwd|cut -d: -f7 2.找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello() grep ‘\b.*\b()’ /etc/rc.d/init.d/f…

    Linux干貨 2016-12-26
  • linux常見命令示例

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ############################################################################# cp -ar /etc/skel/ /home/tuser1 [ro…

    Linux干貨 2017-12-25
  • grep&正則表達式

    grep&正則表達式 grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。 語法 grep [選項]… PATTERN [FILE]… 選項 -a 不要忽略…

    Linux干貨 2018-03-23

評論列表(1條)

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

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

欧美性久久久久