Linux網絡屬性的管理

Linux網絡屬性的管理服務器

    網絡屬性大體包括IP地址的配置,mask(子網掩碼),路由(也就是默認網關)的配置,DNS服務器的配置等。    網絡

  配置方式有:ssh

    靜態指定:
socket

        (1)使用命令ifcfg家族的命令:ifconfig,route,netstat
tcp

        (2)ip家族的命令: ip object{link,addr,route},ss,tc等ide

        (3)編輯配置文件,直接編輯不是很好看懂,系統就本身提供了工具來對配置文件進行工具

          編輯ui

           CentOS6下使用system-config-network-tui或者setup,而後會出現一個圖形文spa

          本界面,而後按提示就能夠進行設置了
3d

          CentOS7中使用nmcli, nmtui,而後會出現一個圖形文本界面,而後按提示就

          能夠進行設置了 

        前兩種方式的配置能夠當即生效,可是不能永久保存一旦重啓就會失效;只有編輯配

        置文件這個方法才能永久有效

    動態分配:使用DHCP協議

 (1)ipcfg家族的命令 (演示是在CentOS6下進行的)  

    ifconfig命令

       (a)ifconfig [interface]

            # ifconfig -a   顯示多有接口的信息

            # ifconfig IFACE [up|down]  顯示指明的接口的信息

       ifconfig   直接回車是顯示主機全部處於活動接口的信息

        wKiom1Xn5ivwHMEoAAJJZnjRRaQ945.jpg

           顯示指定的接口信息

           wKiom1Xn55WBj__-AAFksQh-BVI672.jpg

    

        (b)ifconfig interface [aftype] options | address ...

             # ifconfig IFACE IP/mask [up|down] 配置ip地址,若是接口禁用的話,後面跟上up或down可直接啓用關閉接口(CentOS6,7可以使用,其餘版本不肯定,能不能用)

            例:ifconfig eth0 172.16.108.108/16 

              # ifconfig IFACE IP netmask MASK 

            例:ifconfig eth0 172.16.108.108 netmask 255.255.0.0

    注意:設置之後當即生效,但不會永久有效;IFACE表示接口名

        啓用混雜模式:[-]promisc,還有其餘選項,若是用到使用man進行查看

更改IP地址

wKiom1Xn64vTis0hAAHazcQsd9w850.jpg

關閉和開啓接口

wKioL1Xn7lfzXkYsAAExafQTux0437.jpg

wKiom1Xn7DWwfT4sAAFO4sZIgHk955.jpg

    route命令:路由管理的命令

        route -n :查看本機路由表

        route add :添加路由表

         命令格式:route add  [-net|-host]  target [netmask Nm] [gw Gw] [[dev] IFACE]  

          route del:刪除路由表

           命令格式:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] IFACE]

查看,添加

wKioL1Xn9VeRn4p_AAEJ4Cm4lPE862.jpg

wKiom1Xn8zTRLrXEAAEAu6j5pZ8658.jpg

添加,刪除

wKioL1Xn93ziyUBpAAHcyjj1C6s923.jpg

"[]"內的參數能夠省略

還有一個經常使用的路由叫默認路由,就是目的ip地址爲0.0.0.0 掩碼也爲0.0.0.0 指明網關就能夠了

    route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

    或者 route add default gw 172.16.0.1

wKioL1Xn-znh2twnAADw8NeyddQ538.jpg

    netstat命令:是網絡狀態查看命令,能夠顯示網絡鏈接,路由表,接口信息等

        顯示網絡鏈接:

          netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]

             -t: tcp協議相關

            -u: udp協議相關

            -w: raw socket相關

            -l: 處於監聽狀態

            -a: 全部狀態

            -n: 以數字顯示IP和端口;

            -e:擴展格式

            -p: 顯示相關進程及PID

          經常使用組合: -tan, -uan, -tnl, -unl

      查看tcp相關的信息      

wKioL1XoADiBKDH8AAGVRt4QY9Q272.jpg

wKiom1Xn_hbhb32NAALyWKdRnaA141.jpg

顯示擴展信息

wKioL1XoAIyzPvTpAAKpTYfUNj4255.jpg

        顯示路由表:

           netstat  {--route|-r} [--numeric|-n]

            -r: 顯示內核路由表

       -n: 數字格式

        wKiom1Xn_tKzj9EgAAF0Lr6tOeM316.jpg

        顯示接口統計數據:

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

       # netstat -i 表明全部接口

       # netstat -I IFACE  指定一個接口,但I後面不能有空格直接跟接口名        

wKioL1XoAWew7K9pAAFZhUU3Omw800.jpg


    DNS服務器的指定,在/etc/resolv.conf中添加就能夠了

     格式:nameserver DNS_SERVER_IP1

        nameserver DNS_SERVER_IP2

        nameserver DNS_SERVER_IP3

        wKioL1Xn_eKCtLUXAABVTc99iVI778.jpg

    DNS的做用,是實現域名與IP地址之間轉換的

            正解:FQDN-->IP

               # dig -t A FQDN

               # host -t A FQDN

            反解:IP-->FQDN

               # dig -x IP

                # host -t PTR IP


   (2)ip命令:

        主要做用,顯示或配置 路由、設備、策略路由等

        ip命令的使用格式:

             ip [ OPTIONS ] OBJECT { COMMAND | help }

    OBJECT := { link | addr | route }

        ip link - network device configuration 對設備的管理

           set dev IFACE {up|down} 可設置屬性,up and down:激活或禁用指定接口;

           show

[dev IFACE]:指定接口

[up]:僅顯示處於激活狀態的接口

         wKioL1XoBoHS8QAiAAFtXedX7k4437.jpg

wKioL1XoB87SZN85AALcEj2clEs021.jpg

        ip address - protocol address management

            ip addr { add | del } IFADDR dev STRING  添加或刪除ip地址

   [label LABEL]:添加地址時指明網卡別名

   [scope {global|link|host}]:指明做用域,通常默認,默認爲global

      global: 全局可用;link: 僅連接可用;host: 本機可用;

   [broadcast ADDRESS]:指明廣播地址

ip address show - look at protocol addresses  查看地址

    [dev DEVICE]

    [label PATTERN]

    [primary(主地址) and secondary(輔助地址)] 

         ip address flush - flush protocol addresses  清空地址

使用格式同show

ip addr add 172.16.100.123/16 dev eth0 是添加一個ip地址,不刪除原有ip地址

wKioL1XoCXaALT89AAJ7_03tTdY580.jpg刪除原有ip地址

wKiom1XoCc7CVNFMAAJZC24W1BI983.jpg

添加地址時,還能夠指定標籤;刪除這個地址時也要指明標籤

wKiom1XoCmOwEbYjAARWwTVcKYE265.jpg        ip route - routing table management

         ip route add

添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:目的網絡,或目的IP

主機路由:IP 要麼不加掩碼,要加了就是/32即255.255.255.255

網絡路由:NETWORK/MASK

添加默認路由(網關):ip route add defalt via GW dev IFACE

ip route delete

   刪除路由:ip route del TARGET

ip route show  查看路由信息

 ip route flush  清空路由表

   [dev IFACE]

   [via PREFIX]

wKiom1XoDKmTQB2_AAEDlfu86_Q931.jpg

wKiom1XoDzLyV7a7AAGQfSbjxPc525.jpg

   ss命令:網絡狀態的命令,與netstat命令同樣,使用格式也是相似的,但當鏈接的主機多的狀況下使用ss查看效率更高

      格式:ss [OPTION]... [FILTER]

       選項:

    -t: tcp協議相關

-u: udp協議相關

-w: 裸套接字相關

-x:unix sock相關

-l: listen狀態的鏈接

-a: 全部

-n: 數字格式

-p: 相關的程序及PID

-e: 擴展的信息

-m:內存用量

-o:計時器信息

 FILTER := [ state TCP-STATE ] [ EXPRESSION ]  能夠指明格式查看

        EXPRESSION:

    dport = 

sport = 

 示例:’( dport = :ssh or sport = :ssh )’

wKiom1XoENmxz4c0AAJ1J0mrYfM060.jpg

  (3)編輯配置文件

    IP、MASK、GW、DNS相關配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相關的配置文件:/etc/sysconfig/network-scripts/route-IFACE,默認不存在,須要手動建立route-IFACE

    /etc/sysconfig/network-scripts/ifcfg-IFACE:

    DEVICE:此配置文件應用到的設備;

HWADDR:對應的設備的MAC地址;

BOOTPROTO:激活此設備時使用的地址配置協議,經常使用的dhcp, static, none, bootp;

NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議爲「no」;

ONBOOT:在系統引導時是否激活此設備;

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

UUID:設備的唯一標識;

IPADDR:指明IP地址;

NETMASK:子網掩碼;

GATEWAY: 默認網關;

DNS1:第一個DNS服務器指向;

DNS2:第二個DNS服務器指向;

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

PEERDNS:若是BOOTPROTO的值爲「dhcp」,是否容許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中;

/etc/sysconfig/network-scripts/ifcfg-eth0 原有的信息

wKioL1XoFZSBEBjHAACg20wlNq4238.jpg

手動編輯後

wKiom1XoFTqRioYfAADYb75HEoA088.jpg

修改完,遠程鏈接會中斷,而後進入虛擬機中,使用service network reastart重啓網絡服務後就會生效

wKioL1XoGRuRji9QAAJI0LNSmkI851.jpg這就修改策成功了

查看下DNS的配置文件,會發現咱們修改的生效了

wKioL1XoGYSShIdqAAEkLAZI-2E943.jpg


/etc/sysconfig/network-scripts/route-IFACE

兩種風格:

    (1) TARGET via GW


(2) 每三行定義一條路由

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

在/etc/sysconfig/network-scripts這個目錄下,建立並編輯一個名爲route-eth0

wKiom1XoGF-R11URAAB-p31TpRc807.jpg

而後保存退出,使用route -n查看發現也沒有生效,須要重啓下網絡服務就能夠生效了

wKioL1XoGzaiqS20AAKtWRbPRUU330.jpg

配置文件能夠寫成下面那種形式,(在遠程鏈接下,修改很容易掉線,建議在虛擬機下配置)

wKioL1XoHSHycuSJAACRfe83cAY131.jpg

從新啓動網絡服務,就能夠上生效了

wKiom1XoG4eR6vmkAAFfA4cmTlQ572.jpg


 給網卡配置多地址:

ifconfig:

   ifconfig IFACE_ALIAS 

ip

   ip addr add 

配置文件:

  ifcfg-IFACE_ALIAS  

 DEVICE=IFACE_ALIAS  

    IFACE_ALIAS:網卡別名

使用ifconfig爲一個網卡設置所個地址,

wKiom1XoHSiiSrc2AAMy6uJEM6U451.jpg

不會永久有效,要想永久有效,須要編輯配置文件

也可使用命令system-config-network-tui或者setup命令

system-config-network-tui

wKioL1XoIJGAy0AcAAChOOM5l3U119.jpg

顯示出這樣的界面,而後根據提示就能夠修改或者建立網絡配置

setup

wKiom1XoHvrS8rc3AADV_s9WUTo248.jpg

而後選擇Network configuration,進入就是system-config-network-tui命令進入的界面了

wKiom1XoH26wceriAACLw3Gteao235.jpg

CentOS7上的網絡配置工具處了ifcfg,ip 還有nmcli命令,CentOS7中的圖形配置tui工具使用nmtui命令,

wKioL1XoMUnAcO-tAAB-PIZomOk314.jpg

根據提示就能夠配置網絡

CentOS7下的網絡設備的命名不一樣,修改下/etc/default/grub 在裏面GRUB_CMDLINE_LINUX這一行里加入net.ifnames=0;而後使用grub2-mkconfig -o /etc/grub2.cfg而後重啓系統就能夠了,設備名成爲eth0了

wKiom1XoJTKx5-CvAAFvhaUiYGE190.jpg

 

     nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

        device - show and manage network interfaces 

            管理設備的相似於ip的link

            nmcli device show eth0顯示eth0的信息,裏面的參數要使用到

使用nmcli device help查看就能夠了,

        connection - start, stop, and manage network connections

            ip地址的添加等,相似於ip的addr

顯示設備的信息,

wKioL1XoKKqDmW37AADFvnxXXHk232.jpg

查看eth0網絡設備的信息

wKiom1XoJvHiANHCAAGWDD9RHsA729.jpg


    connection可簡寫爲c

    修改IP地址等屬性:

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

            setting.property:

            '+'表示增長一個,'-'表示刪除,不帶表示替換原來的配置

                ipv4.addresses  修改地址

                ipv4.gateway  修改網關

                ipv4.dns1   修改DNS

                ipv4.method  IP地址的配置方式(dhcp,manual手動)

                    

使用命令修改網絡屬性時會出錯,這是咱們讓網絡設備從新使用名稱時,沒有修改/etc/sysconfig/network-scripts/目錄下的ifcfg-eno16777736,須要重命名爲ifcfg-eth0而後進行修改爲下圖的內容,而後重啓網絡服務就好了

wKioL1XoK8jh8ymnAAE1dIQbQeE816.jpg

CentOS7下使用這個命令重啓網絡服務systemctl restart network,(若是你裏面配置的地址和你遠程鏈接的地址不一樣,遠程鏈接會斷掉)

wKiom1XoKoKx22PuAAHwG5QgtCQ251.jpg

使用這個nmcli connection modify eth0 +ipv4.addresses 172.16.100.12/16命令增長地址

這個時候還不會生效,須要把接口斷開再鏈接就能夠了

wKioL1XoLdjjMASNAASCVaO6kR8593.jpg


斷開重啓,使用nmcli con down eth0;nmcli con up eth0

添加網關和DNS

wKiom1XoLgKAaDb_AAMWOccWLPU614.jpg

相關文章
相關標籤/搜索