目录
检测当前主机到目标主机的网络状况 : traceroute命令、mtr命令
了解了Linux如何使用的基础上,我们来学习如何管理Linux,管理Linux和使用Linux是站在两个不同的角度上的,管理Linux是根据我们不同的需要来设置Linux相应的属性,就像Windows一样,拿到一台电脑后,需要上网,所以需要设置IP地址。Linux管理就像Windows一样,分为网络管理,软件包的安装,进程管理,内存管理,磁盘管理。
网络管理分为:网络状态查看、网络配置、路由命令、网络故障排除、网络服务管理、常用网络配置文件
网络状态查看
两种工具包可用:net-tools iproute2。
CentOS 7使用了一致性网络设备命名:
如果是板载网卡,CentOS 7 会起名为 eno1
如果是PCI-E插在接口上的网卡,CentOS 7 会起名为 ens33
如果是无法获取物理信息的PCI-E网卡,CentOS 7 会起名为enp0s3
如果CentOS 7检测以上的都不符,则使用eth0
缺点:当有成百上千的系统的时候,如果网卡的名字不同,很难进行批量化的操作,这时可以将其转换为原始的eth0的形式。
查看网络接口名称
ifconfig (特定的网卡)
ifconfig //root用户查看
/sbin/ifconfig //普通用户查看方式
网络接口命名修改
网卡命名的规则主要和 biosdevname 和 net.ifnames 两个参数的影响。
vim /etc/default/grub //打开grub配置文件
在第六条后面增加biosdevname 和 net.ifnames两个参数为0(在引号里面)
当我们编辑完成的时候不会立即生效,因为这个文件并不会被启动设置所读取到,而/boot/grub2/grub.cfg是被系统启动时真正读取到的,所以需要把刚才编辑好的文件转换为系统可以真正读取到的文件。
grub2-mkconfig -o /boot/grub2/grub.cfg
网卡在重启之后就会生效(可以使用reboot命令快速重启),再次查看网卡名称变为了eth0
两种参数不同的组合属性表示的网卡名不相同
biosdevname | net.ifnames | 网卡名 | |
---|---|---|---|
默认 | 0 | 1 | ens33 |
组合1 | 1 | 0 | em1 |
组合2 | 0 | 0 | eth0 |
查看网络情况命令
查看网卡物理连接情况:mii-tool eth0
查看网关:route -n(使用-n参数不解析主机名)
修改网络
语法格式:ifconfig 接口 IP地址 netmask 子网掩码
ifup 接口(启动网卡)
ifdown 接口(关闭网卡)
ifconfig eth0 10.0.2.16 netmask 255.255.255.0 //修改ip地址和子网掩码
修改网关
语法格式:route add default gw 网关ip
route add -host 指定ip gw 网关ip
route add -net 指定网段 netmask 子网掩码 gw 网关ip
步骤:1.删除 2.添加
例如将默认网关10.0.2.2修改为10.0.2.3
route del default gw 10.0.2.2 //删除默认的网关10.0.2.2
route -n //再去查看验证已被删除
route add default gw 10.0.2.3 //添加默认网关10.0.2.3
网络故障排除命令
检测当前主机和目标主机是否畅通 :ping命令
ping www.baidu.com //以百度为例检测是否畅通
Ctrl+c停止ping命令,packet loss为丢包率,time为到主机的延时
检测当前主机到目标主机的网络状况 : traceroute命令、mtr命令
traceroute -w 1 www.baidu.com //追踪目标主机
参数-w 1:如果超时最多等待1秒
如果中间的主机不支持追踪会以 * 号显示,如果主机在服务器上,会显示中间经过的路由。
mtr(my traceroute)会显示更详细的信息
查看域名对应的ip : nslookup命令
nslookup www.baidu.com //将百度域名解析为ip地址
检查端口连接状态命令 :telnet命令
如果没有telnet显示未找到命令 先使用 yum install telnet -y 进行安装
talent www.baidu.com 80 //检测当前主机到对方主机的80端口是否畅通
如果畅通会显示如图所示结果,如果不畅通会显示端口不可达。
更细致的分析数据包 : tcpdump命令
tcpdump -i any //抓取所有网卡里面的数据包
tcpdump -i any -n //解析域名显示
tcpdump -i any -n port 80 //指定80端口
tcpdump -i any -n host 10.0.0.1 //从本主机到10.0.0.1主机的tcp通信都会被捕获
tcpdump -i any -n host 10.0.0.1 and port 80
//捕获的数据包既是和10.0.0.1有关且满足端口为80的数据包
tcpdump -i any -n port 80 -w /tmp/file
//捕获的信息保存至/tmp/file文件下
查看服务监听地址netstat命令、ss命令
ss和netsta基本相同,两种形式不同
netstat常用参数:
-n | 显示ip地址,不显示域名 |
-t | 以tcp方式截取 |
-p | 把端口对应的进程显示出来 |
-l | 列出有在监听的服务状态 |
比如图中25端口的一行,25端口是一个邮件服务器,监听的端口是127.0.0.1,由一个叫master的程序控制着,发送邮件的时候只能对本机作为处理,如果想要所有人都能进行访问,需要修改相应的配置将监听地址由127.0.0.1修改为0.0.0.0。
网络服务管理
service network status //查看当前的网络状态
systemctl list-unit-files NetworkManager.service //对NetworkManager服务进行查看
network的禁用
chkconfig --list network //查看network
chkconfig --level 2345 network off //禁用2345
(chkconfig --level 2345 network on //启动2345)
NetworkManager的禁用
systemctl disable NetworkManager //禁用NetworkManager
systemctl enable NetworkManager //禁用NetworkManager
禁用后就不再随Linux系统启动。
网卡有关的配置文件
网卡有关的配置文件在/etc/sysconfig/network-scripts/中
ifcfg-开头的每一个文件默认对应一个网络接口
打开一个文件查看
基本设置的格式为:等号前面为设置项,等号后面为设置值
修改主机名
hostname //查看主机名
(查询结果为:主机名.域名)
hostname localhost.test1 //更改主机名(暂时生效)
hostnamectl set-hostname centos7.test //更改主机名(永久生效)
如果更改完主机名后,因为很多服务器需要依赖于主机工作,所以需要再/etc/hosts配置文件中将新的主机名写在127.0.0.1的对应关系中