工作中會遇到管理linux網絡的問題,比如:查看和設置IP地址、路由、DNS等方面的問題,本文介紹一下管理linux網絡的幾個相關工具,並介紹其用法:
ifconfig:顯示或設置網卡接口信息;
命令格式:ifconfig[網絡設備] [參數]
ifconfig不加任何參數,默認輸出激活網卡的信息:
參數:
-a 顯示全部接口信息
up 啓動指定網絡設備/網卡。
表示開啓ens33網卡接口
down 關閉指定網絡設備/網卡。
表示關閉ens33網卡接口
arp 設置指定網卡是否支持ARP協議。
ifconfig ens33 arp 開啓網卡ens33的arp協議;
ifconfig ens33 -arp 關閉網卡ens33的arp協議;
-promisc 設置是否支持網卡的混雜模式
-s 顯示摘要信息(類似於 netstat -i)
此外ifconfig還可以設置網卡的IP地址等信息,例如,修改網卡ens33地址爲192.168.0.103:
route:路由查看及管理;
route [選項]
route不加任何選項時默認輸出當前路由:
-n:使用數字地址替代主機名稱:
-C:顯示路由緩存:
使用route添加及刪除路由條目:
route add -net 192.168.0.0/24 gw192.168.0.1 netmask 255.255.255.0 dev ens33 表示添加一條到192.168.0.0網段的路由記錄,指定通過ens33網卡;
route add default gw 192.168.0.254 表示添加默認網關爲192.168.0.254
route add -net 172.16.0.0/16 gw192.168.0.254 表示添加到172.160.0.0網段的網關爲192.168.0.254;
route del default gw 192.168.0.254 刪除默認網關
route del -net 172.16.0.0 刪除指定網段的網關記錄;
netstat:查看網絡連接狀態
命令格式:netstat[--tcp|-t] [--udp|-u]
netstat -rn可以查看路由信息;
參數:
-t:TCP協議的相關連接,連接均有狀態;FSM
-u:UDP相關的連接
-w:raw socket相關的連接
-l:處於監聽狀態的連接
-a:所有狀態
-n:以數字格式顯示IP和Port
-e:擴展格式
-p:顯示相關的進程及PID
顯示接口的統計數據:
所有接口:netstat-i
指定接口:netstat-I<IFace>
ss命令:和netstat命令類似,可以顯示TCP和連接狀態的信息,不過它比netstat更快速高效,並且可以顯示socket統計信息;
ss命令用法:ss[options] [ FILTER ]
-t:TCP協議的相關連接,連接均有狀態;FSM
-u:UDP相關的連接
-w:raw socket相關的連接
-l:處於監聽狀態的連接
-a:所有狀態的連接
-n:以數字格式顯示IP和Port
-e:擴展格式
-p:顯示相關的進程及PID
-m:內存用量
-o:計時器信息
通過修改配置文件來修改網絡屬性:
/etc/sysconfig/networi-scripts/ifcfg-IFACE IFACE:接口名稱;
路由的相關配置文件:/etc/sysconfig/networi-scripts/route-IFACE
配置文件/etc/sysconfig/networi-scripts/ifcfg-IFACE通過大量參數來定義接口的屬性;其可通過vim等文本編輯器直接修改,也可以使用專用的命令進行修改(CentOS 6:system-config-network(setup),CentOS 7:nmtui)
ifcfg-IFACE配置文件參數:
DEVICE:此配置文件對應的設備的名稱;
ONBOOT:在系統引導中,是否激活此接口;
UUID:此設備的惟一標識
IPV6INIT:是否初始化IPV6
BOOTPROTO:激活此接口時使用什麼協議來配置接口屬性,常用的有dhcp、bootp、static、none;
TYPE:接口類型,常見的有Ethernet,Bridge;
DNS1:第一DNS服務器指向
DNS2:備用DNS服務器指向
DOMAIN:DNS搜索域;
DEFROUTE:是否是默認路由使用的接口
GATEWAY:默認網關
IPADDR:ip地址
NETMASK:子網掩碼;CentOS7支持使用PREFIX以長度方式指明子網掩碼
USERCTL:是否允許普通用戶控制此設備;
PEERDNS:如果BOOTPROTO的值爲"dhcp",是否允許dhcpserver分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向,默認爲允許
NM_CONTROLLED:是否使用NetworkManager服務來控制接口;
HWADDR:MAC地址