linux網絡屬性命令操作介紹(第十一天)

        linux網絡屬性常用命令有ifconfig\route\ip命令,centos7 的還是nmcli\nmtui。

    網絡屬性的三大文件:修改DNS的文件/etc/resolv.conf  、修改網卡IP地址/etc/sysconfig/network-scripts/ifcfg-dev_name以及添加靜態路由的/etc/sysconfig/network-scripts/route-dev_name

    ifconfig命令

常用options有:
hw {ether|ax25|ARCnet}修改MAC地址,
add/del 添加/刪除ip地址
up/down 把網卡的狀態設為up/down狀態
mtu 修改網卡的mtu值,默認是1500
arp/-arp 開戶/關閉arp協議  

[root@Centos6 ~]# ifconfig #查看網卡狀態及信息
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92   #網卡的類型及MAC地址
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0 #ip、mask、廣播地址
          inet6 addr: 240e:a4:dd9:300:20c:29ff:fede:6092/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fede:6092/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:67913 errors:0 dropped:0 overruns:0 frame:0 #接收的網絡報文數量統計
          TX packets:22916 errors:0 dropped:0 overruns:0 carrier:0 #發送的網絡報文數量統計
          collisions:0 txqueuelen:1000 
          RX bytes:38459605 (36.6 MiB)  TX bytes:2424081 (2.3 MiB) #接收與發送報文的大小
[root@Centos6 ~]# ifconfig eth0 arp  #啟動arp[root@Centos6 ~]# ifconfig eth0 -arp #關閉arp[root@Centos6 ~]# ifconfig eth0  mtu 1490 #修改mtu值[root@Centos6 ~]# ifconfig eth0  up #修改網卡狀態為up,默認就是up[root@Centos6 ~]# ifconfig eth0  down #修改網卡狀態為down。修改后網絡斷了,遠程連接被退出了Connection closed by foreign host.
Disconnected from remote host(6.6) at 11:42:56.
Type `help' to learn how to use Xshell prompt.

root@Centos6 ~]# ifconfig eth0 192.168.1.12/24 #修改IP地址Connection closed by foreign host.
Disconnected from remote host(6.6) at 11:53:37.
Type `help' to learn how to use Xshell prompt.
[c:\~]$ ssh 192.168.1.12
Connecting to 192.168.1.12:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Sun May 29 04:52:45 2016 from 192.168.1.6
[root@Centos6 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0 #修改后立馬生效。
[root@Centos6 ~]# ifconfig eth0:1  192.168.1.11/24;ifconfig #為eth0添加子接口IP地址eth0:1,并馬上查看
eth0      Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
            ………………

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:DE:60:92  #已添加成功
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

IP 命令用來顯示或操縱Linux主機的路由、IP、策略路由和網卡狀態,是Linux下較新的功能強大的網絡配置工具

    IP命令的使用格式

ip [ OPTIONS ] OBJECT { COMMAND | help }
  OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute |monitor }
  OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx| dnet | link } | -o[neline] }
常用的OBJECT有:link/addr/route,策略路由rule這里不顯示操作
OBJECT---link 可查看、修改網卡的各種二層信息
常用子command有:
    help 幫助---》 ip link help 
    show 查看硬件屬性
    up 查看up的接口
    dev dev_name 查看指定接口
    set 修改網絡的各種參數
    up | down #設置網卡狀態為up或down    
    arp on | arp off   #開戶或關閉arp    
    multicast on or multicast off  #開啟或關閉組播    
    name NAME #設置網卡的名稱,修改前要把網卡的狀態變為down---》ip link set dev_name name dev-new_name    
    mtu NUMBER   #設置mtu    address LLADDRESS   
    broadcast LLADDRESS.
    alias NAME  #設置別名
[root@Centos6 ~]# ip link show eth0  #查看eth0二層鏈接信息
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff
    alias eth10 #別名為eth10[root@Centos6 ~]# ip link set eth0 alias eth100 #修改別為eth100[root@Centos6 ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff
    alias eth100 #修改成功[root@Centos6 ~]#
OBJECT---addr 可管理、刪除、查看IP地址
list|show 查看網卡的三層信息
add|delete 添加或刪除ip地址
label label_name為增加的IP地址添加卷標,類似了ifconfig eth0:0 的作用
flush 清除IP地址,使用service network dev_name 可以讓網卡重新加載IP地址

ip addr show查看三層信息

linux網絡屬性命令操作介紹(第十一天)blob.png

ip addr add 添加IP,以及label添加IP地址卷標eth0:1

blob.png

ip addr del 刪除指定IP地址

blob.png

ip addr flush 清除指定網卡的IP地址。格式是ip addr flush eth0

OBJECT---route 可添加、刪除、查看linux的路由信息
常用的子命令是:
add 添加路由
list 查看路由
delete 刪除路由
flush 清除路由
 
ip route 或者 ip route list 查看路由表信息,其中每條路由最后的proto static 表示此路由是靜態路由

blob.png

ip route add 添加路由,格式是ip route add des_add/mask via gw|dev_name

blob.png

ip route delete 刪除路由,格式是ip route delete des_add/mask。下圖中172.16.1.0/24刪除完成。172.16.2/24 與172.16.3.0/24是后來添加的

blob.png


route 路由查看、管理命令。route配置的路由會馬上生效,但重啟linux后,會丟失配置內容。

添加路由
route  [-v] [-A family |-4|-6] 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 |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N][[dev] If]

 路由的查看、添加與刪除操作

[root@mfc ~]# route -n 查看路由

blob.png

可以命以通過route {add|del|}查看route命令使用的格式

blob.png

[root@mfc ~]# route add -net 192.168.200.0/24 gw 192.168.1.2  添加路由

blob.png

[root@mfc ~]# route del -net 192.168.200.0/24 gw 192.168.1.2 刪除路由

blob.png

192.168.200.0/24路由已經被刪除

注意:ifconfig\ip\route三個命令雖然配置簡單,而生效快,但最大的缺點是無法永久有效,重啟后配置將會丟失。解決的方法可以直接配置相應的配置文件,保存后可永久有效。

    修改IP配置文件

    修改IP地址的配置文件是cat /etc/sysconfig/network-scripts/ifcfg-dev_name,centos6網卡的名稱默認是ifcfg-eth{0,1,2,……},centos7的網卡默認以eno*

    以centos6為例,修改配置文件后,service network restart 重啟網絡服務生效,centos7還可以使用systemctl restart network 

配置文件說明:
DEVICE: 此配置文件應用到的設備;
HWADDR: 對應的設備的MAC地址;
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp;
NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議為“no”;
ONBOOT:在系統引導時是否激活此設備;
TYPE:接口類型;常見有的Ethernet, Bridge;
UUID:設備的惟一標識;
PADDR:指明IP地址;
NETMASK:子網掩碼;
GATEWAY: 默認網關;
DNS1:第一個DNS服務器指向;此處的DNS配置優先于/etc/resolv.conf文件中的DNS配置
DNS2:第二個DNS服務器指向;
USERCTL:普通用戶是否可控制此設備;
PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中;

  blob.png

    配置DNS服務器指向配置文件    

cat /etc/resolv.conf 修改這文件

blob.png

DNS服務器192.168.1.1是在網卡IP地址文件中/etc/sysconfig-network-scripts/ifcfg-eth0中配置的DNS1

編輯配置文件,添加DNS服務器8.8.8.8,并保存退出,立即生效

blob.png

再查看此文件的內容

blob.png

 配置route

    route的配置文件路徑是/etc/sysconfig/network-cripts/目錄下,以route-dev_name命令格式的文件,默認不存在,需要創建并配置。

    通過此方式配置的路由有兩格式:

只有一行的格式:des_ipaddress/mask via gw
有三行的格式:
   ADDRESS#=dest_ipaddress
   NETMASK#=mask
   GETAWAY=gw
注意:兩個格式不同時使用,只能選用一個

 

    創建配置文件并添加路由

    Centos6

blob.png

blob.png

創建并保存文件后,service network restart 可以讓配置生效

Centos7

blob.png

在centos7上的配置文件里,試過1行格式的172.16.3.0/24 via 192.168.1.1 和 172.16.3.0/24 via 192.168.1.1 dev eno16777736,然后nmcli device disconnetc eno016777736 && nmcli device connetc eno16777736 重新啟用網卡或重啟系統,都不生效;使用三行的格式的也不生效,郁悶中

blob.png

三個命令的總結:ifconfig與route 命令幾乎所有的版本都支持,簡單好用,但也只有擁有基本的功能。ip這個命令功能強大,擁有網絡屬性中的link路信息、IP地址、路由、策略路由、多播、monitor 、鄰居等等功能,強大到沒有朋友 。三個命令都有的缺點是不能永久有效,若要永久生效,需要修改配置文件。


Centos7網絡屬性專用修改工具

   網卡命名機制       

systemd對網絡設備的命名方式:
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1;
(b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1; 
(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0;
(d) 如果用戶顯式啟動,也可根據MAC地址進行命名,如enx2387a1dc56; 
(e) 上述均不可用時,則使用傳統命名機制;

   名稱組成格式

en: ethernet
wl: wlan
ww: wwan
 
名稱類型:
o<index>: 集成設備的設備索引號;
s<slot>: 擴展槽的索引號;
x<MAC>: 基于MAC地址的命名;
p<bus>s<slot>: enp2s1

網卡設備的命名過程:    

第一步: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="net.ifnames=0  …… rhgb quiet"
(2) 為grub生成其配置文件
    grub2-mkconfig -o /etc/grub2.cfg
(3) 重啟系統

修改網絡名稱,修改成簡單一點

blob.png

把網卡名稱修改成eth0

第一步驟,修改/etc/default/grub,紅色方框的內容是要添加進去的

blob.png

第二步驟,重新生成grub配置文件,使用grub2-mkconfig -o /etc/grub2.cfg 命令,然后重啟

blob.png

重啟后,網卡的名稱改為了eth0,這樣好記多了。

blob.png

nmcli 網絡管理命令

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { general | networking | radio | connection | device | agent  }
 
 
鍵入nmcli后,按tab鍵可以查看后面的參數

blob.png

查看系統鏈接網絡設備狀態,使用nmcli device status

blob.png

關閉網卡eth0,使用nmcli device disconnect eth0,關閉后ifconfig查看網卡配置時,沒有IP的配置

blob.png

開啟eth0,使用nmcli device connect eth0

blob.png

  總結:nmcli命令除了查看設備狀態、關閉或開啟外,還可以設置靜態IP地址、設置為DHCP獲取、DNS服務器IP等,但個人覺得這些功能使用較麻煩,不如IP/IFCONFIG命令簡單

    nmtui可顯化配置命令,直接通過按扭操作

blob.png

選擇“set system hostname” 設置主機名,修改為centos7x64,并<OK>,重啟后生效

blob.png    

選擇“Edit a connection”,修改網卡的IP地址,注意eth0系統連接識別的全稱是Ethernet connection 1,修改之后重啟生效

blob.png

blob.png

blob.png

blob.png


  ss命令,可取代netstat ,執行效果比netstat快很多 

    ss [options] [ FILTER ]

    常用選項

-t:TCP協議相關
-u:udp協議相關
-w:裸套接字相關
-x:unix sock相關
-l:listen狀態的鏈接 
-a:所有
-n:不解析服務的名稱
-p:相關程序及PID
-e:詳細的信息
-m:內存用量
-o:計時器信息
-s:顯示匯總信息 
-F <路徑/文件名> 從指定的文件中讀取信息,并顯示出來
-A <文件路徑/文件名> 把查詢的結果轉存到指定的文件,支持{all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink},以逗號隔開
FILTER : = [stat tcp-state][expression] 配合使用代表式
    ss -o state established ’( dport = :ssh or sport = :ssh )’
     顯示狀態是established,源端口sport是ssh或者目標端口dport是ssh 的連接的
常用的組合:  -tapl -ualp -tal -ual
TCP的常見狀態:

LISTEN: 監聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT #TCP
SYN_RECV #TCP
CLOSED #關閉
顯示連接匯總信息

blob.png

顯示TCP信息

blob.png

 
顯示特定IP地址的UDP\TCP鏈接信息,由實驗環境沒有UDP連接,查詢是沒有顯示出內容,但命令是這樣用。

blob.png

  指定特定IP與特定服務查詢連接情況,192.168.1.6只用53185端口連接linux,所以查詢80\ssh端口時沒有顯示

blob.png

通過tcp的狀態查看連接情況。查看狀態是established的TCP連接

blob.png

原創文章,作者:Net20-deamon,如若轉載,請注明出處:http://www.www58058.com/17280

(1)
Net20-deamonNet20-deamon
上一篇 2016-06-01
下一篇 2016-06-01

相關推薦

  • linux用戶和權限管理

    0.用戶 1、建用戶:adduser nuoline //新建nuoline用戶passwd nuoline //給nuoline用戶設置密碼 2、建工作組groupadd test //新建test工作組 3、新建用戶同時增加工作組useradd -g test nuoline //新建phpq用戶并增加到test工作組 注:…

    Linux干貨 2016-08-05
  • rpm命令詳解及和yum之間的關系

        RPM 全名是“ RedHat Package Manager ”簡稱則為 RPM 顧名思義,當初這個軟件管理的機制是由 Red Hat 這家公司發展出來的。 RPM 是以一種數據庫記錄的方式來將你所需要的軟件安裝到你的 Linux 系統的一套管理機制。    &nbsp…

    Linux干貨 2016-08-21
  • LINUX系統文件類型分類

    使用LINUX過程中,時常會對文件進行操作。但是linux中文件究竟有哪些分類呢?今天讓我們大家來總結一下吧! 概述:         linux文件可以分為五種類型,分別為:普通文件、目錄、字符設備或塊設備、套接口文件、符號鏈接文件。下面詳細介紹這幾種文件。 1 普通文件[root@lo…

    Linux干貨 2017-07-22
  • shell腳本初步

    shell腳本編程初步 程序:由數據和指令組成, 指令:由程序文件提供 數據:可以通過IO設備、文件、管道來得到, 程序:算法+數據結構 變量:變量名+變量名指向的內存空間 變量賦值: name = value變量類型:存儲格式:字符 數值(精確數值 近似數值)   表示數據范圍  &nb…

    Linux干貨 2016-08-15
  • Linux的文件系統的基礎目錄、幫助、部分命令介紹

    Linux的文件系統的基礎目錄、幫助、部分命令介紹 目錄 linux基礎目錄 Linux獲取幫助 相關控制命令,翻屏等 部分命令介紹 linux的基礎目錄 Bin: 共所有用戶使用的基本命令,就是二進制程序 Sbin:系統的二進制程序。供管理員使用的 Boot:基本的加載器,引導加載器所依賴的各種靜態文件 Dev:設備文件和特殊文件 其中設備分為兩種類型,字…

    Linux干貨 2016-10-29
  • 馬哥教育網絡班21期-第十周課程練習?

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)流程順序:POST(加電自檢) –> BootSequence (BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs(只讀方式) –> sw…

    Linux干貨 2016-09-26

評論列表(1條)

  • stanley
    stanley 2016-06-01 15:34

    已置頂,歡迎加入免檢家庭

欧美性久久久久