Linux網絡屬性配置命令


一、Linux網絡屬性配置

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

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

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

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

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

  

 2.網絡屬性配置方式

   (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:主機名配置

    ② 配置文件:

    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:集成設備的設備索引號;

    s:擴展槽的索引號;

    x:基於MAC地址的命名;

    ps:基於總線及槽的拓撲結構進行命名;


二、ifcfg系列:fconfig, route, netstat

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

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


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

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

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

    CentOS 7 顯示含義解析:

     eno1677736:網卡接口名稱:

     flags:標誌位,UP表示網卡啓用激活狀態

     mtu:maximum transmission unit,網卡最大傳輸單元爲1500字節

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

     inet6:IPv6地址

     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:傳輸的錯誤、丟包、溢出、幀

    

     wKioL1cJEJvwYi7uAAA5wZFq1FM621.png

 

 CentOS 6顯示含義解析

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

  HWaddr 00:0C:29:11:75:E7硬件地址

    

     wKioL1cJESHzutEGAAAzffk1_AY463.png


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

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

    # ifconfigINTERFACE IP/MASK

    # ifconfig INTERFACE IP netmask NETMASK :用netmask關鍵字

    options: ifconfig INTERFACE OPTIONS

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

    … …

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

(3)啓用/關閉網卡

 1)# ifconfig INTERFACE up|down

  wKioL1cJE7qi4YcdAABcwkfoj3Y371.png

 

 2)ifup/ifdown命令:

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

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

# ifconfig INTERFACE 0

  wKiom1cJFAOQCITSAAA4fH5Q-oE217.png


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

    路由條目類型(三種):

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

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

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

 (1)查看:

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

   

  wKioL1cJFUCSFXVLAAAQxao4F70257.png

   顯示解析:

    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:度量值,表示到達這個網絡中間要進過的開銷

    Ref:Number of references to this route. (Not used in the Linux kernel.)

    Use:Count of lookups for the route

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

(2)添加:

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

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

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

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

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

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


示例:

route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1


(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


wKiom1Z_1DiDMgxkAAFFTHqEha4012.jpg


3.netstat命令:查看網絡狀態及統計數據,顯示網絡連接、路由表、接口連接、僞裝連接和多播成員關係

(1)顯示路由表:

    -r:顯示內核路由表

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

    wKiom1cJGXfiUZggAAAQs5sGMXI306.png

(2)顯示網絡連接信息:(常用組合:-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;

 wKiom1cJHPuypF_zAAAYUfUV-50849.png

tcp狀態:LISTEN、ESTABLISEHD、FIN_WAIT_1等待狀態、FIN_WAIT_2、SYN_SENT、SYN_RECV、CLOSED

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

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

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


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

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


netstat -i:所有接口

wKioL1cJHp6B1G1mAAAcGDh5CeU695.png

wKioL1cJHv-jfd1nAAAPLGz4Jc8753.png


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

  (1)hostname

    查看:hostname

    配置:hostname HOSTNAME,當前系統有效,重啓後無效;

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

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

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

    wKiom1cJHuPA8HsoAAApte6nbkc168.png

三、iproute系列:ip、ss

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


 wKiom1cJH2mQYTB7AABGqLVis64960.png


 wKioL1cJIHXyJOi6AAAbds2Wydo139.png


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

  ip [ OPTIONS ] OBJECT { COMMAND | help }

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

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

(1)iplink:network 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,用於將接口移動到指定的網絡名稱空間;

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

實例:

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

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

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

[root@localhost ~]# ip link show

wKiom1cJIbaSgbqRAAA3k9Kde6c499.png

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

wKiom1cJIkSC-pI1AAAu5wz93DU570.png

(2)ip netns:manage 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,刪 除協議地址

3)ip address show:look at protocol addresses,查看協議地址

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

wKiom1Z_1FKjLboAAAUxaaT6PcI811.jpg

4)ip address flush:flush 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:計時器信息

wKiom1cJJA_Tc3oFAAAlVjIZz40898.png


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

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

    EXPRESSION:

    dport =

    sport =

示例:

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

    ~]# ss -tan state ESTABLISHED

 wKioL1cJJYChG2aRAAAW9dfLM6s775.png


五、配置文件:

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

    ifcfg-IFACE:實際接口名稱;

wKioL1cJJhmQUfR4AAAvD2-ySwk642.png

(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服務來控制接口


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

wKioL1cJJ5miMifEAAAmfIofROE628.png


~]# system-config-networkwKioL1cJJ-GC5YpUAAAfE4wzpvE180.png



CentOS 7: 

  ~]# nmtuiwKiom1cJJ4eCdZ3cAAAbdPfYrb8124.png

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=

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

5.配置DNS服務器指向:

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章