網絡管理之網絡配置與網絡組

網絡屬性配置

回顧:

TCP/IP協議棧:物理層,數據鏈路層,網絡層,傳輸層,應用層,
    鏈路數據層:以太網幀
    網絡層:IP報文 
    傳輸層:TCP,UDP
    應用層:Http,https,ftp,ldap
以太網幀:MTU 最大傳輸單元 (1500)

概述:

1.將Linux加入到網絡中,一般包括如下內容:

主機名
IP/mask
路由:默認網關
DNS服務器:
    主DNS服務器
    次DNS服務器
    第三DNS服務器

2.網絡配置方式:

靜態指定:
    ifcfg: 
        ifconfig:配置IP
        route:路由
        netstat:狀態及統計數據查看
    ip: 
        object 
             link:地址和掩碼
             addr:接口
             route:路由 
        ss:狀態及統計數據查看
        tc:
    system-config-network-tui (setup)

    CentOS 7新增工具: 
        nmcli:命令行工具
        nmtui:text Windows工具
    注意:
        (1)DNS服務器指定
            配置文件:/etc/resolv.conf
        (2)主機名
            hostname命令 臨時有效
            centos6:/etc/sysconfig/network
            centos7:/etc/hostname
            centos7    :hostnameectl        
配置文件:    
    RedHet及相關發行版
        /etdc/sysconfig/network-scripts/ifcfg-NETCARD_name
動態分配:依賴于本地網絡中的DHCP服務
    DHCP: Dynamic Host Configuration Protocol

注意:命令指定能使網絡配置臨時有效,但不永久生效,只是送到送行中的內核執行,關機消失
     修改配置文件不能馬上生效,但是永久生效的,可以重啟系統或運行命令重讀配置文件.

3.網絡接口命名方式:

傳統命名:
    以太網:ethX
    ppp網絡:pppX

基于BIOS支持啟用biosdevname軟件(DELL公司)
內置網卡: em1,em2
pci卡: pYpX Y: slot ,X:port

可預測命名方案:
    支持多種不同的命名機制:
     Firware,拓撲結構
      (1),如果Firware或Biso為主板上集成的設備提供的索引信息可用,則根據此索引進行命名,如eno1,eno2...
      (2),如果Firware或Biso為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,如ens1,ens2...
      (3)如果硬件接口的物理位置信息可用,則根據其信息命名,如enp2so....
      (4)如果用戶顯式定義,也可根據MAC地址命名,例如enx121612e10....
    注意:上述均不可用,則仍然使用傳統方式命名:

命名格式的組成:
   en:ethernet 以太網
   wl:wlan   無線局域網
   ww:wwan      無線廣域網

   名稱的類型:
     o<index>:集成設備的設備索引號
     s<slot>:擴展槽的索引號
     x<MAC>:基于MAC地址的命名
     p<bus>s<lost>:基于總線及槽的拓撲結構進行命名

網卡命名方式

網卡設備的命名過程:
第一步:
    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="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg
 (2) 為grub2生成其配置文件
    grub2-mkconfig -o /etc/grub2.cfg
(3) 重啟系統

Centos7 網絡屬性配置

rhel6之前,網絡接口使用連續號碼命名: eth0、 eth1等,當增加或刪除網卡時,名稱可能會發生變化
rhel7使用基于硬件,設備拓撲和設置類型命名:
(1) 網卡命名機制
    systemd對網絡設備的命名方式
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1
(b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0
(d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56
(e) 上述均不可用時,則使用傳統命名機制

網卡信息注釋:

Centos5-6:
eth0  Link encap:Ethernet  HWaddr(硬件地址) 52:54:00:C6:91:A4  
      inet addr:10.141.8.137  Bcast:10.141.63.255  Mask:255.255.192.0
      UP BROADCAST(廣播) RUNNING(運行) MULTICAST(組播)  MTU:1500(最大傳輸單元)  Metric:1
      RX packets:1255795 errors:0 dropped:0 overruns:0 frame:0
      TX packets:952955 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen((傳輸隊列長度)):1000 
      RX bytes:130858806 (124.7 MiB)  TX bytes:169199814 (161.3 MiB)

Centos7:
eno16777736: flags(標志位)=4163<UP(啟動狀態),BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 172.18.19.219  netmask 255.255.255.0  broadcast 172.18.19.255(廣播地址)
    inet6 fe80::20c:29ff:fe42:6eb9  prefixlen 64  scopeid 0x20<link>
    ether(以太網地址) 00:0c:29:42:6e:b9  txqueuelen(傳輸隊列長度) 1000  (Ethernet)
    RX packets(接收報文數量) 43611  bytes 56377913 (53.7 MiB)
    RX errors(錯誤個數) 0  dropped(丟包數量) 0  overruns(溢出) 0  frame(幀) 0
    TX packets(傳出報文數量) 13910  bytes 1806137 (1.7 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions(沖突報文個數) 0

配置網絡命令

配置主機名

hostname centos6

查看:hostname
配置:hostname HOSTNAME    臨時有效,重啟無效

hostnamectl

centos7專用

hostname status :顯示當前主機名信息
hostname set-hostname:設定主機名,永久有效
配置DNS服務器指向
配置文件:/etc/resolv.conf
    nameserver DNS_server_ip
如何測試:
    (1).連網,可ping外網
        dig -t A www.baidu.com
    (2).無連網.
        修改/etc/hosts文件 ,通過ping
ifcfg命令家族:ifconfig,route,netstat

ifocnfig 接口及地址查看和管理

使用用法:

    1.ifconfig [-v] [-a] [-s] [interface]
        ifconfig默認命令,查看運行網卡信息,可指定特定網卡
        ifconfig -a:顯示所有網卡信息
        ifcondif -S 顯示接口信息

    2.ifconfig [-v] interface [aftype] options | address ...
        #ifconfig IFACE IP/MASK [up|down] 啟動某網卡
                ifocnfig eth1 192.168.10.100/24 up
        #ifconfig IFACE IP netmask NETNASK 更改某網卡的ip及子網掩碼(必須完整格式)
                ifocnfig eth1 192.168.100.101 netmask 255.255.255.0
        #ifconfig interface options|address

    3.管理IPV6地址
        ifconfig add addr/prefixlen
        ifcondig del addr/prefixlen            

注意:立即送往內核中的tcp/ip協議棧,并生效;

route 路由查看及管理

路由條目類型:
    主機路由:目標地址為單個IP
    網路路由:目標地址為IP網絡
    默認路由:目標為任意網絡: 0.0.0.0

使用方法:
    route [-CFvnee]
    route  [-v]  [-A  family]  add  [-net|-host]  target  [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
    route  [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
    route  [-V] [--version] [-h] [--help]

    查看:
     route -n

     Destination(目的網絡地址 ) Gateway(下一跳地址) Genmask(目標網絡的掩碼)  Flags(標志)  Metric(度量值) Ref Use Iface(經過本地的網卡接口)
     10.141.0.0        0.0.0.0      55.255.192.0                     U       0         0 0      eth0

    添加:
    route  add  [-net|-host]  target  [netmask Nm] [gw(下一跳地址) Gw] [[dev] If]

    例:
    1.[root@wen-7 ~]# route add default gw 172.18.19.1  添加默認網關
     [root@wen-7 ~]# route -n
     Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      0.0.0.0         172.18.19.1     0.0.0.0         UG    0      0        0 eno16777736
        2.[root@wen-7 ~]# route add -net 10.0.0.0/8 gw 172.18.19.1 
     root@wen-7 ~]# route -n
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     0.0.0.0         172.18.19.1     0.0.0.0         UG    100    0        0 eno16777736
     10.0.0.0        172.18.19.1     255.0.0.0       UG    0      0        0 eno16777736

    刪除:
     route   del [-net|-host] target [gw Gw] [netmask Nm]  [[dev] If]

     例: 
      [root@wen-7 ~]# route del -net 10.0.0.0/8 gw [下一跳地址]
      [root@wen-7 ~]# route del default 刪除默認路由

      [root@wen-7 ~]# route -n
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      0.0.0.0         172.18.19.1     0.0.0.0         UG    100    0        0 eno16777736
      172.18.19.0     0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
      192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
      [root@wen-7 ~]# route del default
      [root@wen-7 ~]# route -n
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      172.18.19.0     0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
      192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

        注意:相同網段,不同掩碼,要多條刪除

配置動態路由
    通過守護進程獲取動態路由
    安裝quagga包,支持多種格式的RIP、 OSPF和BGP
    命令vtysh配置,思科命令

netstat命令:顯示狀態信息

Print network connections, routing tables, interface statistics, masquerade connections, and multi cast memberships 
    顯示網絡連接,路由表,接口統計數據,地址偽裝連接,多波成員關系

使用方法:
    (1)顯示路由信息    
        netstat -rn 
            -r:顯示內核路由表
            -n:數字格式

        [root@wen-7 ~]# netstat -rn
        Kernel IP routing table
        Destination Gateway Genmask Flags   MSS Window  irtt Iface
        0.0.0.0 172.18.19.1 0.0.0.0 UG0 0  0 eno16777736
        172.18.19.0 0.0.0.0 255.255.255.0   U 0 0  0 eno16777736
        192.168.122.0   0.0.0.0 255.255.255.0   U 0 0  0 virbr0

    (2)顯示網路連接
        netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
        選項:
            -t: tcp協議相關連接,連接均有其狀態;FSM(Finate state Machine)
            -u: udp協議相關
            -w: raw socket相關 裸套接字
            -l: 處于監聽狀態,等待別人連接;不加的l話,正在建立的連接或正在通信的狀態
            -a: 所有狀態
            -n: 以數字顯示IP和端口;
            -e:擴展格式
            -p: 顯示相關進程及PID
        常用選項:
            -tan -uan -tnl -unl -tunlp 

        [root@wen-7 ~]# netstat -tan
        Active Internet connections (servers and established)
        Proto Recv-Q Send-Q Local Address   Foreign Address State  
        tcp0  0 192.168.122.1:530.0.0.0:*   LISTEN 
        tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN 
        tcp0  0 127.0.0.1:631   0.0.0.0:*   LISTEN 
        tcp0 52 172.18.19.219:22172.18.19.1:49819   ESTABLISHED
        tcp0  0 172.18.19.219:22172.18.19.1:49720   ESTABLISHED
        tcp6   0  0 :::22   :::*LISTEN 
        tcp6   0  0 ::1:631 :::*LISTEN 
        [root@wen-7 ~]# netstat -uan
        Active Internet connections (servers and established)
        Proto Recv-Q Send-Q Local Address   Foreign Address State  
        udp0  0 0.0.0.0:53530.0.0.0:*  
        udp0  0 0.0.0.0:49458   0.0.0.0:*  
        udp0  0 127.0.0.1:323   0.0.0.0:*  
        udp0  0 192.168.122.1:530.0.0.0:*  
        udp0  0 0.0.0.0:67  0.0.0.0:*  
        udp6   0  0 ::1:323 :::*   
        [root@wen-7 ~]# netstat -tnl
        Active Internet connections (only servers)
        Proto Recv-Q Send-Q Local Address   Foreign Address State  
        tcp0  0 192.168.122.1:530.0.0.0:*   LISTEN 
        tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN 
        tcp0  0 127.0.0.1:631   0.0.0.0:*   LISTEN 
        tcp6   0  0 :::22   :::*LISTEN 
        tcp6   0  0 ::1:631 :::*LISTEN 
        [root@wen-7 ~]# netstat -unl
        Active Internet connections (only servers)
        Proto Recv-Q Send-Q Local Address   Foreign Address State  
        udp0  0 0.0.0.0:53530.0.0.0:*  
        udp0  0 0.0.0.0:49458   0.0.0.0:*  
        udp0  0 127.0.0.1:323   0.0.0.0:*  
        udp0  0 192.168.122.1:530.0.0.0:*  
        udp0  0 0.0.0.0:67  0.0.0.0:*  
        udp6   0  0 ::1:323 :::*   



    (3)顯示接口統計數據:
        netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
            # netstat -i  所有接口
            # netstat -I<IFACE>  顯示指定網卡的信息
            # netstat -IIFACE
            配合watch -n 1 查看實時動態信息

ifup 啟用某接口

 該命令是讀取網卡配置文件識別的

ifup <iface>
    例:

ifdown 禁用某接口

ifdown <iface>
    例:
IP命令家族:ip,ss tc
由程序包 iproute 安裝

ip命令

name
   ip - show / manipulate routing, devices, policy routing and tunnels
            查看及管理 路由,設備,策略路由,隧道
使用方法
   ip [ OPTIONS ] OBJECT { COMMAND | help }

   ip [ -force ] -batch filename

   OBJECT := { link | addr | route|netns }   可簡寫,各子命令也可簡寫

   OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } |
           -o[neline] | -n[etns] name }

常用命令:可簡寫 
    ip link 網絡設備配置
     help 顯示簡要使用幫助
     (show|list) 顯示設備屬性
     set     修改設備屬性
      dev name  {dev關鍵字 可省略,直接寫設備名}
      up|down :關閉或開啟設備
      multicast on|off  開啟|關閉組播功能
      name NAME:重命名網卡名稱
      txqlen #:設置隊列長度
      mtu NUMber:設置最大傳輸單元,默認1500
      netns PID:ns為namespace,用于實現將接口移動到指定的網絡名稱空間
          [root@wen-7 ~]# ip netns help
          Usage: ip netns list
           ip netns add NAME
           ip netns set NAME NETNSID
           ip [-all] netns delete [NAME]
           ip netns identify [PID]
           ip netns pids NAME
           ip [-all] netns exec [NAME] cmd ...
           ip netns monitor
           ip netns list-id
          [root@wen-7 ~]# ip netns add mynet
          [root@wen-7 ~]# ip link show
           1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
               link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
           2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
                        link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff
           3: eno33554984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
                        link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff
           4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT 
                        link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
           5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500
                        link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff
          [root@wen-7 ~]# ip link set eno33554984 netns mynet
          [root@wen-7 ~]# ip link show
           1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
               link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
           2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
               link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff
           4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT 
               link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
           5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500
                  link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff
           [root@wen-7 ~]# ip netns  show
             mynet
           [root@wen-7 ~]# ip netns exec mynet ip link show
           1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT 
              link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
           3: eno33554984: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
               link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff
           [root@wen-7 ~]# ip netns del mynet
           [root@wen-7 ~]# ip link show
           1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
               link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
           2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
               link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff
           3: eno33554984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
               link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff
            4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT 
               link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
           5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500
               link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff
    ip netns 網絡命名空間的管理
        help 顯示簡要使用幫助 
        add 創建指定netns
        del    刪除指定的netns
        list 列出所有的Netns
        exec name COMMADN  在指定netns中執行 命名 ip的命令

    ip addr 實現網卡的協議地址管理
        ip addr add 增
            add IFADDR(地址) dev IFACE(網卡)
                label IFACE:#:為額外添加的地址指明接口別名.方便ifconfig識別新添加的地址    
                    [root@wen-7 ~]# ip addr add 10.1.1.10/8  dev eno33554984 label eno33554984:1 
                [broadcast {ADDRESS}]:廣播地址 可省略,根據ip行尾NETMASK自動計算得到;
                [scope {SCOPE VALUE}]:
                    global:全局可用
                    link:接口可用
                    host:僅本機可用                    
        ip addr del 刪
            ip addr delete IFADDR dev IFACE
        ip addr show 查看 或省略show 
            [IFACE]:指定特定的網卡
        ip addr flush 清空某個網卡的所有地址
            ip addr flush dev IFACE

    ip route 管理路由表    
        ip route add
             ip route add TYPE PREFIX via GW [dev IFACE][src SOURCE_IP]
        ip route change
             TYPE PREFIX via GW [dev IFACE][src SOURCE_IP]
        ip route replace
          TYPE PREFIX via GW [dev IFACE][src SOURCE_IP]

          TYPE PREFIX:到達的目標地址    
          dev name:
          via ADDRESS:指定下一跳
          src ADDRESS:原地址

          示例:
          ip route add 172.16.0.0/24 via 10.1.0.1 dev eth1 src 10.0.20.100
          ip route add default via 172.16.0.1            


        ip route delete
           ip routh del TYPE PRIFIX
            例:
             [root@wen-7 ~]# ip route del 10.0.0.0/8

        ip route show 顯示route表
        ip route flush 清空所有路由表
           dev IFACE:指定特定的網卡    
           TYPE PRIFIX:指定網段地址和掩碼,精確清空地址范圍內的路由條目
        ip routh get :獲取某條路由條目
           ip route get TYPERPIFIX        
            例:
             [root@wen-7 ~]# ip route get 172.16.1.0
             broadcast 172.16.1.0 dev eno33554984  src 172.16.1.12 cache <local,brd>

SS 命令

ss - another utility to investigate sockets
        另一個顯示sockets的工具

SYNOPSIS
 ss [options] [ FILTER ]
   options:
     -t: tcp協議相關連接,連接均有其狀態;FSM(Finate state Machine)
     -u: udp協議相關
      -w: raw socket相關
     -l: 處于監聽狀態,等待別人連接;不加的l話,正在建立的連接或正在通信的狀態
     -a: 所有狀態
     -n: 以數字顯示IP和端口;
     -e:擴展格式
     -p:     顯示相關進程及PID
      -m:內存用量
      -o:計時器信息
   FILTER:=[state TCP-STATE][EXPRESSION] 過濾器
    tcp-STATE:
       LISTEN:監聽
       ESTABLISEHD:建立的連接
        FIN_WAIT1:
        FIN_WAIT2:
       SYN-SENT:
       SYN_RECV:
       CLOSED:
    EXPRESSION:
       dport=
       sport=
    實例:( dport = 22 or sport = :22 )
        state ESTABLISHED 
      [root@wen-7 ~]# ss -tan state ESTABLISHED
      Recv-Q Send-Q                    Local Address:Port           Peer Address:Port              
      0      52                        172.18.19.219:22          172.18.19.1:49819              
      0      0                         172.18.19.219:22
      [root@wen-7 ~]# ss -tan '( dport = :22 or sport = :22 )'
      State       Recv-Q Send-Q               Local Address:Port       Peer Address:Port              
      LISTEN      0      128                              *:22      *:*                  
      ESTAB       0      52                   172.18.19.219:22         172.18.19.1:49819              
      ESTAB       0      0                    172.18.19.219:22         172.18.19.1:49720              
       LISTEN      0      128                 :::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詳細信息

配置文件

IP/NETMASK/GW/DNS
    /etc/sysconfig/network-scripts/ifcfg-IFACE
        IFACE:接口名稱
route:
    /etc/sysconfig/network-scripts/route-IFACE


配置文件需要通過大量的參數來定義接口的屬性;其可通過vim等文本編輯命令直接修改,也可使用相關窗口命名.
    centos6:setup (system-config-network)
    centos7:nmtui

/etc/sysconfig/network-scripts/ifcfg-IFACE文件詳細介紹
    DEVICE:此配置文件應用到的設備名(同IFACE相同)
    ONBOOT:在系統引導時是否激活此設備
    BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp
    NM_CONTROLLED: NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“ no”
    TYPE:接口類型;常見有的Ethernet, Bridge
    UUID:設備的惟一標識
    IPADDR:指明IP地址
    NETMASK:子網掩碼
    GATEWAY: 默認網關
    PREFIX:掩碼長度(可代替NETWASK)
    IPV6INIT:是否初始化IPV6
    HWADDR:對應的設備的MAC地址
    DNS1:第一個DNS服務器指向
    DNS2:第二個DNS服務器指向
    DOMAIN:DNS搜索域
    USERCTL:普通用戶是否可控制此設備,一般為no
    PEERDNS:如果BOOTPROTO的值為“ dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中,默認為yes,允許.

修改網絡配置文件后,不會立刻修改配置.需要網絡服務重啟

網路服務管理:
  centos6: 
     service 命令
       service 服務名稱 {start|status|stop|restart} 
  centos7:
    systemctl 命令
        systemctl {start|status|stop|restart} 服務名稱[.service]

用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE
    支持兩種配置方式,但不可混用:
        (1):每行一條路由條目;
            TARGET via GW
                例:10.0.0.0/24 via 192.168.0.1
        (2)每三行一個路有條目
            ADDRESS#=TARGET
            NETMASK#=MASK
            GATEWAY#=NEXTHOP      

            例:
            ADDRESS0=192.168.0.0
            NETMASK0=255.255.255.0
            GATEWAY0=172.16.0.2

單網卡綁定多地址

ip addr 之外,ifocnfig或配置文件都可以,可重復綁定多地址

(1)ifcondig  eno22554984:1 192.18.19.12/24 臨時有效
(2)ip命令:臨時有效
    ip addr add 172.16.1.2/16 dev eth0
    ip addr add 172.16.1.1/16 dev eth0 label eth0:0
    ip addr del 172.16.1.1/16 dev eth0 label eth0:0
    ip addr flush dev eth0 label eth0:0

(3)復制配置文件并修改相關參數 (前提:關閉NetworkManager服務) 永久有效
    A.cp ifcfg-eth1 igcfg-eth1:1
    B.vim igcfg-eth1:1    
        BOOTPROTO:必須是靜態iP,不支持動態獲取地址
        ONPARENT=yes
    C.重啟網絡服務
    D.ifocnfig,查看是否成功
        [root@wen-7 network-scripts]# ifconfig 
    eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 172.18.19.219  netmask 255.255.255.0  broadcast 172.18.19.255
    inet6 fe80::20c:29ff:fe42:6eb9  prefixlen 64  scopeid 0x20<link>
    ether 00:0c:29:42:6e:b9  txqueuelen 1000  (Ethernet)
    RX packets 49634  bytes 56937122 (54.2 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 18268  bytes 2419679 (2.3 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    eno16777736:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 172.18.19.218  netmask 255.255.255.0  broadcast 172.18.19.255
    ether 00:0c:29:42:6e:b9  txqueuelen 1000  (Ethernet)

多網卡綁定單地址

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接口上傳送所有的報文。本模式提供容錯能力

    binding的所有工作模式可以分為兩種:
        多主型工作
        主備型工作模式
bonding配置:
    miimon 是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
    ? 查看bond0狀態: /proc/net/bonding/bond
    ? 關于bonding的詳細配置請參照
    /usr/share/doc/kernel-docversion/Documentation/networking/bonding.txt



配置:
    1.創建bonding設備的配置文件
        vim  /etc/sysconfig/network-scripts/ifcfg-bond0
        DEVICE=bond0
        BOOTPROTO=none
        BONDING_OPTS= “miimon=100 mode=0”
    2.配置 /etc/sysconfig/network-scripts/ifcfg-eth0,可指定多塊網卡
        DEVICE=eth0
        BOOTPROTO=none
        MASTER=bond0
        SLAVE=yes
        USERCTL=no
    3.配置 /etc/sysconfig/network-scripts/ifcfg-eth1
        DEVICE=eth01
        BOOTPROTO=none
        MASTER=bond0
        SLAVE=yes
        USERCTL=no
    3.重啟網絡服務,并查看
        service network restart
        ifocnfig

nmcli命令:地址配置工具

NeworkManager是管理和監控網絡設置的守護進程
 設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效。


NAME
  nmcli - command?line tool for controlling NetworkManager

SYNOPSIS
  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 | auto
修改配置文件執行生效: systemctl restart network
            nmcli con reload
nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
顯示所有包括不活動連接
    nmcli con show
顯示所有活動連接
    nmcli con show –active
顯示網絡連接配置
    nmcli con show "System eth0“
顯示設備狀態
    mcli dev status    

顯示網絡接口屬性
    nmcli dev show eno16777736
創建新連接default, IP自動通過dhcp獲取
    nmcli con add con-name default type Ethernetifname 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

網絡管理之網絡配置與網絡組
網絡管理之網絡配置與網絡組

網絡配置文件
    設備配置被保存在文本文件中
     /etc/sysconfig/network-scripts/ifcfg-<name>
   幫助文檔列出完整選項列表: /usr/share/doc/initcripts-*/sysconfig.txt

網絡管理之網絡配置與網絡組

修改連接配置后,需要重新加載配置
    nmcli con reload
    nmcli con down “system eth0” 可被自動激活
    nmcli con up “system eth0”
    nmcli dev dis eth0 禁用網卡,訪止被自動激活
圖形工具
    nm-connection-editor


使用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

網絡組(Network Teaming)

網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式runner
    broadcast
    roundrobin(輪流)
    activebackup
    loadbalance(平衡負載)
    lacp (implements the 802.3ad Link Aggregation ControlProtocol)

網絡組特性:
    啟動網絡接口不會自動啟動網絡組的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接口 15631134675

       示例:(兩塊網卡)

        nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "loadbalance"}}'
        nmcli con mod team0 ipv4.addresses 172.18.19.100/24
        nmcli con mod team0 ipv4.method manual
        nmcli con add con-name team0-eth1 type team-slave ifname eno33554984  master team0
        nmcli con add con-name team0-eth2 type team-slave ifname eno50332208  master team0
        nmcli con up team0
        nmcli con up team0-eth1
        nmcli con up team0-eth2
        teamdctl team0 state
        ifconfig 
        teamdctl team0 state
        測試:
            ping team0組的ip,順序斷開兩個組內網卡的物理連接,查看ping是否有延遲,通過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
        刪除網絡組: nmcli con del 接口名稱

管理網絡組的配置文件
    # /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

測試網絡的命令

在命令行下測試網絡的連通性
    顯示主機名
        hostname
    測試網絡連通性
        ping
        mtr
顯示正確的路由表
    ip route
確定名稱服務器使用:
    nslookup
    host
    dig
跟蹤路由
    traceroute
    Tracepath

網絡客戶端工具

ftp,lftp
    lftp [-p port] [-u user[,password]] SERVER
    子命令:
        get、 mget、 ls、 help
lftpget URL

wget :下載工具
    wget [option]... [URL]...
    -q: 靜默模式
    -c: 斷點續傳
    -O: 保存位置
    --limit-rates=: 指定傳輸速率
links :命令行瀏覽器
    --dump;以文字方式查看網站
    --source:查看網站源碼
curl:瀏覽器 直接以源碼方式查看網站
    -I:查看網站詳細信息

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

(0)
wencxwencx
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 十二.Linux博客-2016年8月16日文件查找和壓縮、rpm包管理、while循環、until循環

    格式說明: 操作 概念 命令 說明及舉例 十二.文件查找和壓縮、rpm包管理、yum、while循環、until循環 tar tar -zcvf /testdir/etc.tar.gz /etc/ 備份etc創建etc.tar.gz文件 壓縮為gz格式 顯示過程 tar -jcvf&nbs…

    Linux干貨 2016-08-24
  • MySQL基礎知識

    1、SQL:結構化查詢語言(Structured Query Language): DDL:Data?Definition?Language(數據定義語言):?其語句包括動詞CREATE和DROP。在數據庫中創建新表或刪除表(CREAT TABLE?或?DROP TABLE);為表加入索引等。DDL包括許多與人數據庫目錄中獲得數據有關的保留字。它也是動作查詢…

    2017-11-20
  • N26-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示;   1)alias:命令別名;     # alias ;獲取所有可用別名的定義;     # alias NAME=‘COMMAND’:定義別名;    &nbs…

    Linux干貨 2017-02-11
  • 第二周作業

    1、linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。    linux上的文件管理類命令有:cat、tac、more、less、head、tail、cp、mv、rm、rmdir、mkdir等    cat:文件文本查看工具     cat [option]…

    Linux干貨 2016-09-06
  • Linux中/etc目錄下常用的配置文件及其含義總結

         在linux中有一個很重要的思想就是一切皆文件,也就是說所有的系統參數的配置都是保存在各種各樣的配置文件當中的,這點Linux和Windows有很大的差別。      因為Linux中有眾多配置文件,學習起來難免會不容易記憶,所以在此把一些常用的配置文件記錄下來,做一個歸納總結。根據FHS…

    Linux干貨 2017-03-26
  • 引導加載程序grub的使用詳解

    引導加載程序grub的使用詳解 為運行于虛擬機上的CentOS 6添加一個新硬件,提供兩個主分區 為硬盤建兩個主分區;并為其安裝grub 為硬盤的第一個主分區提供內核和ramdisk文件;為第二個分區提供rootfs 為rootfs提供bash、ls、cat程序以及所依賴的庫文件 為grub提供配置文件 將新的硬盤設置為第一啟動項并能夠正常啟動目標主機 1.…

    Linux干貨 2017-09-04
欧美性久久久久