linux中主要使用三類網絡管理指令: 1.ifconfig, route和netstat屬于傳統的功能單一類網絡指令; 2.ip和ss屬于綜合類網絡指令; 3.nmcli适用于rhel7中的綜合網絡指令, 還可以通過配置檔案來實作網絡管理.
本文主要講解這三類網絡管理指令和相關配置檔案.
注: 通過指令修改的網絡參數在網絡服務重新啟動後就會丢失, 隻有通過配置檔案修改的網絡參數才能永久有效.
1-1. ifconfig指令
作用: 檢視或配置網絡接口參數
格式:
ifconfig [interface] [up|down] 檢視指定網絡接口參數, 設定網絡接口狀态
常用選項:
-a: 顯示所有網絡接口資訊
-s: 顯示網絡接口統計資訊
預設ifconfig隻顯示活動網絡接口, 不消失關閉網絡接口參數
ifconfig int address 配置指定網絡接口的ip位址
ifconfig int ip/mask 或 ifconfig int ip netmask mask 修改指定裝置的ip位址
# 配置ip位址時, 如果掩碼使用點分十進制表示就必須使用關鍵字network
1-2. route指令
作用: 檢視或配置本機的路由條目
route 檢視路由條目
選項:
-n: 對域名不進行解析, 以ip位址進行顯示
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
删除網絡路由條目
1-3. netstat指令
作用: 通過指定選項檢視本機的網絡屬性
格式: netstat [options]
-n: 以數字顯示ip和端口
-t: 顯示tcp連接配接
-u: 顯示udp連接配接
-l: 處于監聽狀态端口
-a: 所有狀态
-e: 擴充格式
-p: 顯示相關程序及pid
-r: 顯示核心路由表
-i int: 顯示指定接口的統計資訊
=============================================================
2-1. ip指令
作用: 配置本機的接口狀态, 網絡參數和路由條目
格式: ip [ options ] object { command | help }
object為link時, 用于配置本機的二層鍊路屬性配置
對應command為:
ip link set device { up | down | arp { on | off }: 設定二層鍊路接口狀态
ip link show [ device ]: 檢視裝置屬性
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位址
通過flush情況指定網絡接口的所有ip位址
object為route時, 用于設定本機路由條目
ip route { list | flush } selector: 檢視或清空路由條目
ip route { add | del | change | append | replace | monitor } route: 修改路由條目
通過add指令添加路由條目
通過change指令修改路由條目
2-2. ss指令
作用: 指定選項顯示本機的網絡參數
# ss指令與netstat指令作用相同, 但是執行效率更高, 系統繁忙時建議使用ss指令
格式: ss [options]
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實作對本地網絡連接配接的管理
通過modify子指令可以對網絡連接配接的多種參數進行修改
當object為device時,
對應command := { status | show | connect | disconnect | delete | wifi | wimax }
用于對本地網絡接口裝置實作檢視和管理
通過show子指令可以檢視網絡接口的詳細配置資訊
4. 通過配置檔案修改網絡參數
4-1. ip位址配置檔案: /etc/sysconfig/network-scripts/ifcfg-int
字段解釋:
# 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
# 配置檔案需要手工建立
檔案格式
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
通過 nameserver dns_ip 來指定dns伺服器
本人水準有限, 如有了解不當的地方, 請大家給予指正, 非常感謝!