天天看點

Linux網絡管理--網絡管理基本指令

linux中主要使用三類網絡管理指令: 1.ifconfig, route和netstat屬于傳統的功能單一類網絡指令; 2.ip和ss屬于綜合類網絡指令; 3.nmcli适用于rhel7中的綜合網絡指令, 還可以通過配置檔案來實作網絡管理.

本文主要講解這三類網絡管理指令和相關配置檔案.

注: 通過指令修改的網絡參數在網絡服務重新啟動後就會丢失, 隻有通過配置檔案修改的網絡參數才能永久有效.

1-1. ifconfig指令

作用: 檢視或配置網絡接口參數

格式:

ifconfig [interface] [up|down]       檢視指定網絡接口參數, 設定網絡接口狀态

常用選項:

-a: 顯示所有網絡接口資訊

-s: 顯示網絡接口統計資訊

Linux網絡管理--網絡管理基本指令

預設ifconfig隻顯示活動網絡接口, 不消失關閉網絡接口參數

Linux網絡管理--網絡管理基本指令

ifconfig int address        配置指定網絡接口的ip位址

ifconfig int ip/mask 或 ifconfig int ip netmask mask 修改指定裝置的ip位址

# 配置ip位址時, 如果掩碼使用點分十進制表示就必須使用關鍵字network

Linux網絡管理--網絡管理基本指令

1-2. route指令

作用: 檢視或配置本機的路由條目

route        檢視路由條目

選項:

-n: 對域名不進行解析, 以ip位址進行顯示

Linux網絡管理--網絡管理基本指令

route add -net|-host|default target [netmask mask] [gw gw] [mertic n] [dev int]

route del -net|-host|default target [netmask mask] [gw gw] [dev int]

添加或删除路由條目

主機路由條目時使用關鍵字-host, 網絡路由條目使用關鍵字-network, 預設路由條目使用關鍵字default

mertic n: 用于指定路由條目路徑成本

dev int: 指定出戰接口

添加主機路由條目 route add -host 1.1.1.1 gw 10.10.10.1 metric 15 dev eth1

下一跳位址為: 10.10.10.1, 路由條目路徑成本為15, 出站接口為eth1

網絡路由條目 route add -net 3.3.3.0/24 metric 7 dev eth0

路徑成本為7, 出站接口為eth0

Linux網絡管理--網絡管理基本指令

删除網絡路由條目

Linux網絡管理--網絡管理基本指令

1-3. netstat指令

作用: 通過指定選項檢視本機的網絡屬性

格式: netstat [options]

-n: 以數字顯示ip和端口

-t: 顯示tcp連接配接

-u: 顯示udp連接配接

-l: 處于監聽狀态端口

-a: 所有狀态

-e: 擴充格式

-p: 顯示相關程序及pid

-r: 顯示核心路由表

-i int: 顯示指定接口的統計資訊

Linux網絡管理--網絡管理基本指令

=============================================================

2-1. ip指令

作用: 配置本機的接口狀态, 網絡參數和路由條目

格式: ip [ options ] object { command | help }

object為link時, 用于配置本機的二層鍊路屬性配置

對應command為:

ip link set device { up | down | arp { on | off }: 設定二層鍊路接口狀态

ip link show [ device ]: 檢視裝置屬性

Linux網絡管理--網絡管理基本指令

object為address時, 用于設定本機ip位址

ip addr { add | del } ifaddr dev string: 對指定網絡接口添加或删除ip位址

ip addr { show | flush } [ dev string ]: 檢視或清空指定裝置的ip位址

add ip/mask: 為裝置添加位址

delete ip: 删除裝置配置的位址

flush: 清空指定裝置中的配置

show: 檢視ip位址配置

通過add指令添加指定ip位址

Linux網絡管理--網絡管理基本指令

通過flush情況指定網絡接口的所有ip位址

Linux網絡管理--網絡管理基本指令

object為route時, 用于設定本機路由條目

ip route { list | flush } selector: 檢視或清空路由條目

ip route { add | del | change | append | replace | monitor } route: 修改路由條目

通過add指令添加路由條目

Linux網絡管理--網絡管理基本指令

通過change指令修改路由條目

Linux網絡管理--網絡管理基本指令

2-2. ss指令

作用: 指定選項顯示本機的網絡參數

# ss指令與netstat指令作用相同, 但是執行效率更高, 系統繁忙時建議使用ss指令

格式: ss [options]

Linux網絡管理--網絡管理基本指令

3-1. nmcli指令

nmcli指令是在rhel7中對于networkmanager進行管理的指令行工具, nmcli是一個功能強大, 使用靈活的指令, 但是也非常複雜. 這裡隻對nmcli的connection和device兩種對象進行簡要介紹.

作用: 用于建立, 顯示, 編輯, 删除, 激活和關閉網絡連接配接

格式: nmcli  [ options ] object { command | help }

# nmcli 對于 object 和 command 輸入時支援tab補齊功能, 比較人性化, 而且在各級object中都有相應help選項, 在使用時帶來了很大便利.

當object為connection時, 

對應command := { show | up | down | add | edit | modify | delete | reload | load }

主要實作對于本地網絡連接配接狀态的檢視, 管理等操作

通過connection實作對本地網絡連接配接的管理

Linux網絡管理--網絡管理基本指令

通過modify子指令可以對網絡連接配接的多種參數進行修改

Linux網絡管理--網絡管理基本指令

當object為device時, 

對應command := { status | show | connect | disconnect | delete | wifi | wimax }

用于對本地網絡接口裝置實作檢視和管理

通過show子指令可以檢視網絡接口的詳細配置資訊

Linux網絡管理--網絡管理基本指令

4. 通過配置檔案修改網絡參數

4-1. ip位址配置檔案: /etc/sysconfig/network-scripts/ifcfg-int

Linux網絡管理--網絡管理基本指令

字段解釋:

# cat ifcfg-eth0

device=        指定裝置名稱

bootproto=        指定ip位址擷取方式: dhcp或static

hwaddr=        指定硬體網卡mac位址

nm_controlled=        nm表示networkmanager腳本, 用來替換network協定

peerdns=        表示如果通過dhcp方式擷取ip位址時, 通過伺服器收到的dns是否覆寫至dns配置檔案中

onboot=           指定是否開機自動啟動網卡裝置

type=        顯示網絡接口類型

uuid=        指定裝置的uuid

ipv6init=        是否啟用ipv6功能

userctl=        指定普通使用者是否控制該裝置

靜态ip位址時需要配置以下字段:

ipaddr=      指明ip位址

netmask=      子網路遮罩

gateway=         預設網關

dns#=        dns伺服器位址, 可以同時配置3個dns伺服器位址, 優先級高于/etc/resilov.conf中的dns配置

4-2. 路由配置檔案: /etc/sysconfig/network-scripts/route-int

# 配置檔案需要手工建立

Linux網絡管理--網絡管理基本指令

檔案格式

1. 單條語句格式

target via gw

ex: 192.168.50.128/28 via 10.10.10.11

2. 每三行定義一條路由

address#=target

netmask#=mask

gateway#=gw

ex: 

address0=192.168.50.128

netmask0=255.255.255.224

gateway0=10.10.10.11

# 同一檔案中隻能使用一種格式

4-3. dns配置檔案: /etc/resolove.conf

Linux網絡管理--網絡管理基本指令

通過 nameserver dns_ip 來指定dns伺服器

本人水準有限, 如有了解不當的地方, 請大家給予指正, 非常感謝!

繼續閱讀