Linux網絡屬性配置命令和管理詳解

一、Linux網絡屬性配置

    1.Linux主機接入到網絡方式

IP/NETMASK:實現本地網絡通信

路由(網關):可以進行跨網絡通信

DNS服務器地址:基于主機名的通信,Linux可以有三個DNS地址

當第一個地址本身掛了,才會查找其備用地址;若第一個地址無法解析則停止

    2.網絡屬性配置方式

        (1)靜態指定

              1)命令方式

                    ifcfg系列命令

ifconfig:配置IP,NETMASK

route:配置路由相關信息

netstat:狀態及統計數據查看

                    iiproute2系列命令

ip OBJECT:

addr:地址和掩碼;

link:接口

route:路由

ss:狀態及統計數據查看

                    CentOS 7:nm(Network Manager)家族

nmcli:命令行工具

nmtui:text window 工具

         hostname/hostnamectl:主機名配置

              2) 配置文件:

RedHat及相關發行版/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

 DNS服務器指定配置文件:/etc/resolv.conf

本地主機名配置文件:/etc/sysconfig/network

          注:命令配置能及時生效,但時關閉當前進程之后配置失效,為一次性配置方式

       通過配置文件配置網絡屬性,無法立即生效,需要重啟服務、重新加載配置文件或者重啟進程

        (2)動態分配:依賴于本地網絡中有DHCP服務

    DHCP:Dynamic  Host Configure Procotol 動態主機配置協議,此時不能固定IP地址

    3.網絡接口命名

       (1)傳統命名

    以太網:eth#,例如eth0, eth1, …

    PPP網絡:ppp#, 例如,ppp0, ppp1, …

       (2)可預測命名方案(CentOS 7)

     支持多種不同的命名機制,根據Fireware, 拓撲結構等信息自動配置

1) Firmware或BIOS為主板上集成的設備提供的索引信息可用,則根據此索引進行命名,如eno1,eno2, …

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

3) 如果硬件接口的物理位置信息可用,則根據此信息命名,如enp2s0, …

4) 如果用戶顯式定義,也可根據MAC地址命名,例如eno16777736(十六進制MAC), …

5)上述均不可用,則仍使用傳統方式命名;

       (3)命名格式的組成

    en:ethernet,表示因特網網卡接口

    wl:wlan,表示無線網網卡接口

    ww:wwan,Wireless Wide Area Network,表示無線廣域網網卡

       (4)名稱類型:

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

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

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

   p<bus>s<slot>:基于總線及槽的拓撲結構進行命名;

 

 

 

 

二、ifcfg系列:fconfig, route, netstat

    1.ifconfig:配置查看網絡接口,默認不能顯示第二地址,只能顯示主地址

               指明標簽(接口別名)就能夠顯示了

        (1)ifconfig  [INTERFACE]  默認只會顯示激活狀態的網卡信息

     # ifconfig   -a:顯示所有接口,包括inactive非激活狀態接口;

注意:CentOS 6CentOS 7顯示結果有所不同

CentOS 7

    顯示含義解析:

    eno1677736:網卡接口名稱:

    flags:標志位,UP表示網卡啟用激活狀態

    mtumaximum transmission unit,網卡最大傳輸單元為1500字節

    inetIPv4地址;   netmask:子網掩碼;  broadcast:廣播地址

    inet6IPv6地址

   HWaddr :以太網地址,對應于CentOS 6中的HWaddr硬件地址

   txqueuelen 1000  (Ethernet):以太網傳輸隊列長度

   RX packets 7526  bytes 631299 (616.5 KiB):此次網卡激活后接搜到的報文數量,總大小

    RX errors :接收時錯誤的個數;dropped:丟包個數;overruns:溢出個數; frame:

    TX packets 162  bytes 18461 (18.0 KiB):傳輸的報文數量

    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0:傳輸的錯誤、丟包、溢出、幀

wKioL1Z_1EXAM6DsAALeJp49SKc092.jpg

CentOS 6

eh0:網卡接口,其表現形式和CentOS 7有很大區別

HWaddr 00:0C:29:46:14:98硬件地址

wKiom1Z_1C_hkRGaAAQ_IjoN_e4586.jpg

        (2)ifconfig [-v]  interface  [aftype]  options | address …  更改網卡IPv4地址

  立即送往內核中的TCP/IP協議棧,并生效,遠程連接修改,原來的地址會沒有導致掉線

     #  ifconfig  INTERFACE   IP/MASK  

     #  ifconfig   INTERFACE  IP   netmask    NETMASK :netmask關鍵字

options: ifconfig   INTERFACE   OPTIONS

[-]promisc:混雜模式,表示關閉混雜模式,直接加表示進入混雜模式

… …

管理IPv6地址:add|del  addr/prefixlen

wKioL1Z_1Eqj8GNrAAJZ_FO5Lfk941.jpg

        (3)啟用/關閉網卡

    1)# ifconfig   INTERFACE  up|down

wKioL1Z_1EvwIsRpAALR8i3tdyE169.jpg

    2)ifup/ifdown命令:

注意:此命令是通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置;

        (4)刪除指定接口網卡 的地址:

    # ifconfig  INTERFACE  0

wKiom1Z_1DajQBbJAAQ5Y1RK78Y028.jpg

 

    2.route命令:路由查看及管理

路由條目類型(三種)

主機路由:目標地址為單個IP;

網絡路由:目標地址為IP網絡;

默認路由:目標為任意網絡,0.0.0.0/0.0.0.0

        (1)查看:

   # route  -n

     -n 表示以數字形式顯示信息,不反向解析地址和端口號

若有很多路由信息的時候,反向解析為主機名和端口名會占用很多資源開銷

    顯示解析:

  Destination:目標地址

  Gateway:下一跳網管地址

  0.0.0.0:表示本地主機的網絡地址,自己的主機就在網絡上無需網關,直連路由,

  Genmask:目標網絡的掩碼地址

  Flags:路由條目的標志

              U (route is up)up,表示啟用狀態

              H (target is a host):目標地址是一個主機地址

              G (use gateway):使用一個網關

              R (reinstate route for dynamic routing):為路由恢復動態路徑選擇

              D (dynamically installed by daemon or redirect)

              M (modified from routing daemon or redirect)

              A (installed by addrconf)

              C (cache entry)

              !  (reject route)

       G:表示是一個網關,但不一定是目標網關,只有目標地址是0.0.0.0的才是默認網關

  Metric:度量值,表示到達這個網絡中間要進過的開銷

  RefNumber of references to this route. (Not used in the Linux kernel.)

  UseCount of lookups for the route

  Iface:通過本主機的哪塊網卡接口對發送數據

wKiom1Z_1Daz2NsFAAENz43jGM4839.jpg

        (2)添加:

     route  add  [-net|-host]  target  [netmask  Nm]  [gw  GW]    [dev] If]

-net|-host :網絡路由主機路由,默認路由為網絡路由

 target  [netmask  Nm] :目標地址,可以用簡寫子網掩碼格式,也可以用關鍵字netmask完整格式

 [gw  GW] gw為關鍵字,GW表示真正的下一跳地址

下一跳必須與自己的某塊網卡在同一網段內,且存在

[dev] If]:進由哪塊網卡,可以省略,能自動判斷

wKioL1Z_1FCiVk7PAAHRJWD3fIs059.jpg

                示例:

 route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1

 route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  ===  route add  default  gw 192.168.10.1             

        (3)刪除:

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

示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1

   route  del  default

wKiom1Z_1DiDMgxkAAFFTHqEha4012.jpg

  

 3.netstat命令:查看網絡狀態及統計數據

      Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships

顯示網絡連接、路由表、接口連接、偽裝連接和多播成員關系

      (1)顯示路由表:#  netstat  -rn

        -r:顯示內核路由表

       -n:以數字形式顯示信息,不反向解析地址

wKioL1Z_1FKxNNQuAAEjE32sk4M562.jpg

      (2)顯示網絡連接信息:#  netstat   OPTIONS(常用組合:-tan,  -uan,  -tnl,  -unl,  -tunlp)

  -t,–tcp:TCP協議的相關連接,連接均有其狀態;FSM(Finate State Machine);

通信開始之前,要建立一個虛鏈路;通信完成后還要拆除鏈接

  -u,–udp:UDP相關的連接無連接的協議;直接發送數據報文

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

  -l:處于監聽狀態的連接

  -a:所有狀態的連接

  -n:以數字格式顯示IP和Port;

  -e:擴展格式

  -p:顯示相關的進程及PID;

wKioL1Z_1FOjmMrwAAI6ASy56S0303.jpg

tcp狀態:LISTEN、ESTABLISEHDFIN_WAIT_1等待狀態、FIN_WAIT_2、SYN_SENT、SYN_RECVCLOSED

注意:傳輸 層協議區別(TCP|UDP)

tcp:面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接;

udp:無連接的協議;直接發送數據報文;

      (3)顯示接口的統計數據:

            netstat {–interfaces|-I|-i}  [iface][–all|-a] [–extend|-e] [–verbose|-v] [–program|-p] [–numeric|-n]

   所有接口:netstat  -I

wKiom1Z_1DuR634wAADy61_fMGo861.jpg

   指定接口:netstat  -I<IFace>,注意中間不能有空格

wKiom1Z_1DziQtf9AADMu0a4oic030.jpg

 

    4.配置主機名hostname/hostnamectl命令:

        (1)hostname

   查看:hostname

   配置:hostname  HOSTNAME,當前系統有效,重啟后無效;

         (2)hostnamectl命令(CentOS 7):該命令會直接修改配置文件生效

        hostnamectl  status:顯示當前主機名信息;

        hostnamectl   HOSTNAME:設定主機名,永久有效;

wKioL1Z_1FeSl2o8AAOlrksWinw147.jpg

 

 

 

 

 

三、iproute系列:ipss

       iproute2系列和內核關系緊密,直接放置到內核生效,其版本號和內核的版本號會保持一致

wKiom1Z_1EHhbqjFAAN79T6cb_Q510.jpg

     Advanced IP routing and network device configuration tools   :提供網絡工具

wKioL1Z_1FuiRy31AAG2FNiPLpY659.jpg

    1.ip命令:show / manipulate routing, devices, policy routing and tunnels 策略路由、隧道、路由、設備

         ip   [ OPTIONS ]    OBJECT    { COMMAND | help }

  OBJECT := { link | addr | route | netns  }

注意: OBJECT可簡寫,各OBJECT的子命令也可簡寫;

        (1)ip  linknetwork device configuration,網絡設備配置

               1)ip  link  set change device attributes,修改設備屬性

dev NAME (default):指明要管理的設備,默認配置,dev關鍵字可省略;

up和down:啟用,禁用

multicast on或multicast off:啟用或禁用多播功能;

name NAME:重命名接口

mtu NUMBER:設置MTU的大小,默認為1500;

netns PID:ns為namespace,用于將接口移動到指定的網絡名稱空間;

實例:

     修改eth1名稱,注意在修改前要先停用

[root@localhost ~]# ip link set eth1 down

[root@localhost ~]# ip link set eth1 name ethtest

[root@localhost ~]# ip link show

wKioL1Z_1F2iUxAmAALC6DBJVds568.jpg

               2)ip  link  show/list display device attributes,顯示設備屬性

wKiom1Z_1Eago-vgAAIgO2zlnGI138.jpg

                3)ip  link  help顯示簡要使用幫助;

wKioL1Z_1GDwEQWlAAKZ1QWjzx0829.jpg

        (2)ip  netnsmanage network namespaces.管理網絡名稱空間

       ip  netns  list:列出所有的netns

       ip  netns  add  NAME:創建指定的netns

       ip  netns  del  NAME:刪除指定的netns

       ip  netns   exec  NAME  COMMAND:在指定的netns中運行命令

        (3)ip address protocol address management.   協議地址管理

               1)ip address add add new protocol address,增加新的協議地址

 ip  addr  add   INTERFACEADDR    dev   INTERFACE

[label NAME]:為額外添加的地址指明接口別名;

[broadcast ADDRESS]:廣播地址;會根據IP和NETMASK自動計算得到;

[scope SCOPE_VALUE]:范圍變量

global:全局可用;

link:接口可用;

host:僅本機可用;

wKioL1Z_1GWyFRjyAAXyyaYKrqA439.jpg

               2)ip  address  delete delete protocol address,刪 除協議地址

            # ip addr  delete  INTERFACEADDR  dev  IFACE

wKiom1Z_1E7hK-NcAAIWigD2mYU460.jpg

               3)ip  address showlook at protocol addresses,查看協議地址

ip  addr   list  [IFACE]:顯示接口的地址;

wKiom1Z_1FKjLboAAAUxaaT6PcI811.jpg

               4)ip address flushflush protocol addresses,刪 除指定接口上所有的的地址

ip  addr  flush  dev  IFACE

wKioL1Z_1G2gpyTqAAMpfVxVtuA119.jpg

        (4)ip route outing table management,管理路由表

               1)ip route add – add new route增加

       ip route change – change route修改

       ip route replace – change or add new one修改或者增加

        ip  route   add  TYPE PREFIX  via GW  [dev  IFACE]  [src SOURCE_IP]

示例:

# ip route add 192.168.0.0/24  via 10.0.0.1  dev eth1 src  10.0.20.100

# ip  route  add default  via  GW                                                

               2)ip route delete – delete route

ip  route  del  TYPE PRIFIX

               3)ip route show – list routes

    4)ip route flush – flush routing tables

    5)ip route get – get a single route

   ip  route  get  TYPE PRIFIX

 

    2.ss命令:查看網絡狀態及統計數據   ss  [options]  [ FILTER ]

         (1)[OPTION]

-t:TCP協議的相關連接

-u:UDP相關的連接

-w:raw socket相關的連接

-l:監聽狀態的連接

-a:所有狀態的連接

-n:數字格式

-p:相關的程序及其PID

-e:擴展格式信息

-m:內存用量

-o:計時器信息

wKioL1Z_1G-wjX0eAAKt6nXWGXg208.jpg

         (2)FILTER := [ state TCP-STATE ]  [ EXPRESSION ]  狀態過濾功能

可以過濾端口、狀態等信息來查看

EXPRESSION:

                        dport =

                         sport =

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

     ~]# ss   -tan    '(  dport = :22 or sport = :22  )'

wKiom1Z_1Faz9c33AADpD2K_lKI744.jpg

      ~]# ss  -tan  state  ESTABLISHED

wKioL1Z_1HDRDN1gAACh2yEESSc410.jpg

 

 

 

 

四、nmcli命令:

 nmcli  [ OPTIONS ]  OBJECT  { COMMAND | help }

     (1)device show and manage network interfaces顯示管理網絡接口

    COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

wKiom1Z_1FfTwaqsAAC5vuiTPw4563.jpg

     (2)connectionstart, stop, and manage network connections,

    COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

     (3)modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

如何修改IP地址等屬性:

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

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

 

 

五、配置文件:

    1.IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

                  ifcfg-IFACE:實際接口名稱;

wKioL1Z_1HHyVEz4AAItPiTfo34649.jpg

       (1)vim編輯配置文件

配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通過大量參數來定義接口的屬性,可直接修改

1)fcfg-IFACE配置文件參數:

DEVICE:此配置文件對應的設備的名稱;

ONBOOT:在系統引導過程中,是否激活此接口;

UUID:此設備的惟一標識;

IPV6INIT:是否初始化IPv6;

BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有dhcp、bootp、static、none;

TYPE:接口類型,常見的有Ethernet, Bridge;

DNS1:第一DNS服務器指向;

DNS2:備用DNS服務器指向;

DOMAIN:DNS搜索域;

IPADDR: IP地址;

NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼;

GATEWAY:默認網關;

USERCTL:是否允許普通用戶控制此設備;

PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向;默認為允許;

HWADDR:設備的MAC地址;

NM_CONTROLLED:是否使用NetworkManager服務來控制接口

CentOS 6networkManager不完善,集群、虛擬化橋接在此網絡服務下無法使用

網絡服務有兩種:networkNetworkManager

2)管理網絡服務:

CentOS 6:  service  SERVICE  {start|stop|restart|status}

CentOS 7:systemctl  {start|stop|restart|status}  SERVICE[.service]

     配置文件修改之后,如果要生效,需要重啟網絡服務;

CentOS 6:# service  network  restart

CentOS 7:# systemctl  restart  network.service

       (2)專用的命令的進行修改

  CentOS 6:system-config-network (setup)

# setup

wKiom1Z_1Fnji2pGAAFrhLpjZOA240.jpg

#system-config-network

wKiom1Z_1FvAk3MkAADqd3Z6YqI434.jpg

  CentOS 7: nmtui

wKioL1Z_1HSgi7iTAACJoQoZlHk483.jpg

    2.路由的相關配置文件:/etc/sysconfig/network-scripts/route-IFACE

            用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE

支持兩種配置方式,但不可混用;

(1) 每行一個路由條目:  TARGET  via  GW

(2) 每三行一個路由條目:

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

    3.給接口配置多個地址:

        (1)ip addr  add  INTERFACEADDR  dev  INTERFACE label  LABELNAME

        (2)ifconfig  IFACE_LABEL  IPADDR/NETMASK

IFACE_LABEL: eth0:0, eth0:1, …

        (3)為別名添加配置文件;

DEVICE=IFACE_LABEL

BOOTPROTO:網上別名不支持動態獲取地址;

static, none

    4.hostname配置文件:/etc/sysconfig/network

 命令:HOSTNAME=<HOSTNAME>

注意:此方法的設置不會立即生效; 重讀配置文件或者重啟系統后后會一直有效;

    5.配置DNS服務器指向:

         配置文件:/etc/resolv.conf,添加 nameserver   DNS_SERVER_IP

    6./etc/hosts  別名,名稱解析,事先生效,先查看此文件

Nicolo.51cto原博客地址:http://xuding.blog.51cto.com/4890434/1728866

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

(0)
NicoloNicolo
上一篇 2016-04-30 23:14
下一篇 2016-04-30

相關推薦

  • N25-第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限。 1.  [root@jizo etc]# ls –d skel 2.  skel 3.  [root@jizo etc]# cd /home 4.  [root@jizo …

    Linux干貨 2016-12-26
  • 馬哥教育30期學員開學典禮

    ? ?? 早上背上書包去學校報到,很有一番學生時期去新學校的感覺,既興奮又緊張,一段新的人生歷程即將開始。 ? ?? 大學時曾經勸說我的同學別逃選修課,我說也許你苦學四年的專業比不上一節選修課對你的將來更有用,如今我卻用親身經歷驗證了這句話,我是通過大學的一堂選修課了解的Linux系統,開源軟件,沒想到多年后今天的我竟然也要入這行了。 ? ? ? 到教室后,…

    2018-03-26
  • N25期第三周作業

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可 who|awk ‘{print $1}’|sort -u 2.取出最后登錄到當前系統的用戶的相關信息 last -1 3.取出當前系統上被用戶當作其默認shell的最多的那個shell cat /etc/passwd|awk -F: ‘{print $NF}’|sort…

    Linux干貨 2016-12-12
  • 第一天,學習

    好好學習,天天向上

    Linux干貨 2016-08-08
  • 文件權限

    普通文件 r: 可以讀取文件的內容 w: 可以修改文件的內容 x: 可以執行該文件 執行腳本(不要隨便給文件加x權限) 目錄文件 r: 用戶可以列出目錄下有哪些文件(不能查看文件的詳細信息) w: 只有w無意義。 x: 用戶可以進入該目錄(如果知道文件名,且有相對應的文件權限 ,可以執行對應的操作) 權限一般配合使用,不同權限配合有不同效果 rx: 用戶可以…

    2017-07-30
  • N22-第六周博客作業

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

    Linux干貨 2016-09-26
欧美性久久久久