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
此处不再给大家做演示,大家可自行修改。
网络属性配置的“三大家族”就总结到此,希望对初学者有所帮助,大学相互学习。