Linux系統下網絡管理命令和方法是Linux工作人員必學的技能,現將Liunx下常用網絡管理命令和方法總結如一下:
網絡管理的三大家族:ifcfg家族、iproute家族和修改配置文件。ifcfg和iproute特點是配置立即生效,但不長久生效,修改配置文件可長久生效,但不能立即生效,需要重新啓動網絡服務。現將分別介紹如下:
ifcfg家族:
包括ifconfig、route、netstat三大命令。
ifconfig命令:
功能:configure a network interface,查看及配置網絡接口;
格式1:ifconfig [-v] [-a] [-s] [interface] 查看網絡接口信息;
常用選項:
-a:顯示所有接口信息,包括inactive狀態的接口;
-v和-s不常用不再介紹,可自己查閱學習。當不帶選項時和接口時,只顯示激活接口信息;
格式2:ifconfig [-v] interface [aftype] options | address ... 配置網絡接口
配置方法:# ifconfig IFACE IP/MASK [up|down]
# ifconfig IFACE IP netmask NETMASK
例如:將eth1接口ip地址設置爲192.168.0.100/24,並激活接口。
命令:ifconfig eth1 192.168.0.100/24 up
或 ifconfig eth1 192.168.0.100 netmask 255.255.255.0
如圖:
刪除接口地址:ifconfig IFACE 0
例如:刪除eth1接口地址
route命令:
功能:show / manipulate the IP routing table,路由查看及管理;
查看路由:route -n
-n:以數字格式顯示,不反解爲主機名;路由條目多時可節省資源與時間;
添加路由:route add [-net|-host] target [netmask Nm] [gw GW] [[dev] If]
[-net|-host]:網絡或主機路由;
target [netmask Nm]:網絡地址及掩碼;
[gw GW]:下一跳地址;
[[dev] If]:本主機接口;
示例:route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1
route add default gw 192.168.10.1
例如:在eth1接口添加到10.0.0.0/8的路由,下一跳地址爲:192.168.0.1.
刪除路由:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
示例: route del -net 10.0.0.0/8 gw 192.168.10.1
route del default
例如:將上面加的路由刪除
netstat命令:
功能:顯示路由表、網絡連接和接口的統計數據;
顯示路由表:netstat -rn 同route -n
-r:顯示內核路由表
-n:數字格式
顯示網絡連接:
netstat [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--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和Port;
-e:擴展格式;
-p:顯示相關的進程及PID;
常用組合:-tan, -uan, -tnl, -unl, -tunlp
顯示接口的統計數據:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--verbose|-v]
[--program|-p] [--numeric|-n]
所有接口:
netstat -i
指定接口:
netstat -I<IFace>
iproute家族:
包括 ip 和 ss 兩在命令;
ip命令:
功能:網絡設備配置、IP地址管理、路由管理等
格式:ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT = { link | addr | route }
注意:LBJECT可簡寫,各子命令也可簡寫;
ip OBJECT:
ip link: network device configuration 網絡設備配置
ip link <show|link> - display device attributes 顯示設備屬性
ip link help - 顯示簡要使用幫助;
ip link set - change device attributes 修改設備屬性
dev NAME (default):指明要管理的設備,dev關鍵字可省略;
up和down:啓用或禁用端口;
multicast on或multicast off:啓用或禁用多播功能;
name NAME:重命名接口;需先down掉接口;
mtu NUMBER:設置MTU的大小,默認爲1500;
例如:將eth1接口關閉
ip address - protocol address management. IP地址管理
ip address <show|list> - look at protocol addresses
ip addr list [IFACE]:顯示接口的地址;
ip address add - add new protocol address
ip addr add IFADDR dev IFACE
[label NAME]:爲額外添加的地址指明接口別名;
[broadcast ADDRESS]:廣播地址;會根據IP和NETMASK自動計算得到;
例如:給eth1接口添加地址192.168.100.10/24,並額外添加地址192.168.200.20/24
例如:再給eth1接口添加地址192.168.100.20/24,並額外添加地址10.0.10.10/8,name爲eth:0
比較與上例顯示的區別,並比較用ifconfig命令顯示的不同處
ip address delete - delete protocol address 刪除IP地址
ip addr delete IFADDR dev IFACE
例如:將eth1接口192.168.200.20/24地址刪除
ip address flush - flush protocol addresses 清空接口所有地地址
ip addr flush dev IFACE
例如:清空eth1接口所有IP地址
ip route - routing table management 路由管理
ip route <show|linst> - list routes 顯示路由信息
ip roue show TYPE PRIFIX
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](源地址)
例如:在eth1接口加條路由192.16.0.0/24指向10.0.0.1
其它更改路由和替換路由跟添加一樣,不再詳述;
ip route get - get a single route 顯示單條路由詳細信息
ip route get TYPE PRIFIX
例如:顯示192.168.0.0/24路由信息
ip route delete - delete route 刪除
ip route del TYPE PRIFIX
例如:刪除192.168.0.0/24路由
ip route flush - flush routing tables清除路由表
ip route flush TYPE PRIFIX
例如:清除10/8路由
ss命令:
功能:類似於netstat,但可可以顯示比其它工具更爲詳細的TCP信息;
格式:ss [options] [ FILTER ]
常用選項:
-t:TCP協議的相關連接
-u:UDP相關的連接
-w:raw socket相關的連接
-l:監聽狀態的連接
-a:所有狀態的連接
-n:數字格式
-p:相關的程序及其PID
-e:擴展格式信息
-m:內存用量
-o:計時器信息
FILTER = [ state TCP-STATE ] [ EXPRESSION ]
TCP的常見狀態:
TCP FSM:
LISTEN:監聽
ESTABLISEHD:建立的連接
FIN_WAIT_1:
FIN_WAIT_2:
SYN_SENT:
SYN_RECV:
CLOSED:關閉
EXPRESSION:
dport = 目標端口
sport = 源端口
例如:查看22號端口tcp信息
配置文件:
以上兩大家族修改的網絡屬性可立即生效,但是不可長久生效,重啓網絡服務後失效了。
通過修改配置文件不能立即生效,但重啓網絡服務後可長久生效。
網絡屬性的配置文件有兩種:
(1)IP/NETMASK/GW/DNS等屬性的配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名稱;
(2)路由的相關配置文件路徑:/etc/sysconfig/networkj-scripts/route-IFACE
修改配置文件中的參數有兩種方法:
(1)通過vim等文本編輯器直接修改;
(2)使用專用命令進行修改:
CentOS 6:system-config-network (setup)
CentOS 7: nmtui
輸入這兩種命令會進入類似BIOS的圖形提示界面,可根據提示進行修改;
/etc/sysconfig/network-scripts/ifcfg-IFACE 配置文件參數;
ifcfg-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服務來控制接口;
用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE
支持兩種配置方式,但不可混用;
(1) 每行一個路由條目:
TARGET via GW
(2) 每三行一個路由條目:
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP
配置文件修改後需要重啓網絡服務纔可生效,重啓網絡服務方法:
CentOS 6:# service network restart
CentOS 7:# systemctl restart network.service
此處不再給大家做演示,大家可自行修改。
網絡屬性配置的“三大家族”就總結到此,希望對初學者有所幫助,大學相互學習。