linux 网络管理常用命令总结
01. ifconfig
用于配置或显示网络接口信息,配置网卡信息时必须以root用户的身份来执行。如果没有ifconfig命令,安装命令为 yum -y install net-tools 。
显示当前系统开启的所有网络接口信息
显示指定网卡的信息
显示所有网卡的信息
开启或关闭指定网卡
临时修改网卡对应的IP地址,重启则会失效
为网卡配置别名IP,实际上就是为一个网卡配置多个IP地址
临时修改MAC地址,重启则失效
注意:所有ifconfig的设置,重启都会失效。除非修改对应的配置文件。
网卡对应的物理文件位置:
第一个网卡eth0:/etc/sysconfig/network-scripts/ifcfg-eth0
第一个网卡别名eth0:0:/etc/sysconfig/network-scripts/ifcfg-eth0:0
第二个网卡eth1:/etc/sysconfig/network-scripts/ifcfg-eth1
重启网卡服务,配置生效
02. ifup、ifdown
激活网络接口,禁用网络接口
注意:会扫描网卡的相关物理配置文件ifcfg-eth*,以及network文件
03. route
管理linux系统的路由表,route命令主要用来设置静态路由。静态路由需要使用route命令或手动添加配置。动态路由不需要设置,由路由器之间协商规定。
查看当前系统的路由表信息
注意:Flags标记
- U :当前路由为启动状态。
- H :目标路由是一个IP,而非网络。
- R :使用动态路由时,恢复路由信息标识
- G :需要外部主机来转接传递数据
- M :路由已经被修改
- D :已经由服务设定为动态路由
- !:这个路由不会被接收(用来阻挡不安全的网络)
删除和添加默认网关
配置网络路由(不同网段之间的访问,10 想要访问 192)
临时方式,重启失效,每台10服务器都要执行:
route add -net 192.168.1.0/24 gw 10.0.0.254
或
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
或
route add -net 192.168.1.0/24 dev eth1
删除网络路由
route del -net 192.168.1.0/24 dev eth1
注意:如果在网关服务器上添加,则整个10网段都可以访问192网段了。
永久生效,需要配置路由文件
# 方式1
vim /etc/sysconfig/network-scripts/route-eth1
# 重启网络或重启系统都会生效
192.168.1.0/24 via 10.0.0.254
# 方式2
vim /etc/sysconfig/static-routes
# 重启网络或重启系统都会生效
any net 192.168.1.0/24 gw 10.0.0.254
# 方式3
vim /etc/rc.local
# 只有在系统重启时才会生效
route add -net 192.168.1.0/24 gw 10.0.0.254
# 如果配置默认网关,可以直接在网卡配置文件中配置 ifcfg-eth*
添加和删除主机路由(即去往某个主机地址的路由)
# 添加路由
route add -host 192.168.2.213 dev eth2
route add -host 202.81.11.91 dev lo
# 删除路由(keepalived高可用服务器之间检测心跳,就需要单独网卡设置主机路由)
route del -host 192.168.2.213 dev eth2
04. arp
相关知识点:网络传输过程中的三张表(MAC地址表、arp缓存表、路由表)。交换机通过mac地址传输;arp表存放了ip与mac表的对应关系;路由器通过ip地址传输。
显示arp缓存中的所有条目
查询指定arp的条目
静态绑定IP地址与MAC地址
删除静态的arp绑定
05. ip
显示网卡eth0的属性
关闭和激活网络设备
修改网卡MAC地址
查看网卡信息
添加或删除辅助IP(浮动IP,VIP)
注意:删除主IP,会删除网卡上的所有IP;删除浮动IP,则不会删除网卡上的其他IP。
创建或删除别名IP
添加或删除路由表
显示(网络邻居),添加,删除arp静态项
CentOS 7开始推广ip命令,用于替代ifconfig和route命令。
06. netstat
用于显示本机网络的连接状态,运行端口和路由表信息。
显示所有连接信息
监听状态详解
- LISTEN:侦听来自远方的TCP端口的连接请求
- SYN-SENT:再发送连接请求后等待匹配的连接请求
- SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
- ESTABLISHED:代表一个打开的连接
- FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
- FIN-WAIT-2:从远程TCP等待连接中断请求
- CLOSE-WAIT:等待从本地用户发来的连接中断请求
- CLOSING:等待远程TCP对连接中断的确认
- LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
- TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
- CLOSED:没有任何连接状态
显示所有正在监听的tcp和udp协议的连接
显示当前系统的路由表
显示网络接口状况
07. ss
ss是类似并将取代netstat的工具。
显示所有socket的连接信息
显示所有正在监听的tcp和udp协议连接
相关连接信息的宏观统计
08. ping
测试主机之间的网络连通性。使用ICMP协议,发出要求回应的信息,如果远端网络没有问题,就会回应该信息,因而得知该主机运行正常。
测试到目标主机的网络连通性
09. traceroute
显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况。
查看某主机的路由情况
加快查询时间(使用icmp协议,域名不解析)
10. arping
测试目标主机是否存活(只能测试局域网中),没有存活需要ctrl+c停止,arp包(是一个要求返回的广播包,一般不能跨路由器)
重要示例:大多数高可用软件出现宕机,切换到新的负载IP上时,由于所有用户以及客户端的arp缓存里对应的仍是宕机时负载均衡器的IP,短时间内用户访问可能依然不正常,此时,使用arping命令让所有客户端缓存失效。
arping -c 1 -I eth0 -s 192.168.71.160 192.168.71.2
# 192.168.71.160 是VIP
# 192.168.71.2 是网关
11. telnet
判断远程服务器端口是否开放。
如果没有开放,检查远程防火墙,端口是否被屏蔽,是否无权访问等等。
12. nc
安装:
yum -y install nc
关闭防火墙,关闭selinux
[root@ufo130 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@ufo130 ~]#
[root@ufo130 ~]# getenforce
Disabled
模拟TCP连接并传输文本内容(远程复制)(qq聊天,不定向文件即可)
窗口1:
# 监听端口123456,并将内容写入文件
nc -I 123456 > ufo_in.txt
# 执行完上边命令,当前窗口挂起
窗口2:
# 使用nc命令向192.168.71.130的123456端口传输ufo.sql文件
nc 192.168.71.130 123456 < ufo.sql
# 传输完成后自动终止
利用nc进行端口扫描
# 指定22端口
nc -z 192.168.71.130 22
# 指定端口范围
nc -z 192.168.71.130 20-30
# -v 输出信息更详细
nc -z -v 192.168.71.130 20-30
13. ssh
远程连接,类似于命令行版的Xshell等连接工具
[root@ufo130 ~]# ssh 192.168.71.130
# 等价于 ssh -p 22 [email protected]
远程执行命令
[root@ufo130 ~]# ssh 192.168.71.130 "free -m;df -Th"
14. wget
命令行下载工具
下载并重命名
限制网速下载
断点续传(异常停止后,wget -c 再执行即可)
后台下载(进度日志 wget-log)
15. mailq
邮件传输队列(略)
16. mail
发送和接收邮件(略)
17. nslookup,dig,host
域名查询工具,最好是连网的。
默认是从该文件下读取DNS服务器地址
查询百度域名对应的IP地址
18. nmap
默认扫描目标主机的前1-1000的端口,哪些是开放的(**关闭的端口可以用作他用,例如nc远程复制文件等等)
nmap 192.168.71.160
扫描主机指定的端口
nmap -p 1024-65535 192.168.71.160
扫描局域网内的所有IP
namp 192.168.71.130/24
扫描目标主机的服务和操作系统的版本(不在指纹库中会无法识别)
namp -O -sV 192.168.71.130
19. tcpdump
【tcpdump抓包工具介绍】
https://editor.csdn.net/md/?articleId=110943738