问题提出:
今天晚上在进行知识复习回顾的时候,打开虚拟机Centos7竟然发生了无法识别网卡的问题,之前在VMware安装centos 7(网络连接采取Nat方式),于是,我一步步排查,终于找到了原因,并解决了识别不出网卡问题。
知识点:
上面列出的lo(loopback)网卡是用于环回地址的,virbr0表示是网桥的网卡。
在这篇博客中,我将完成两件事:
1、解决上网问题
2、涉及到的基础知识进行整理,巩固基本功。
解决上网问题:
ifconfig没有显示网卡
[root@localhost ~]# ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback) RX packets 448 bytes 38976 (38.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 448 bytes 38976 (38.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
解决思路:
(1)先输入“systemctl status networkmanager”
原来问题是在于NetworkManager和network冲突的问题,造成的网卡无法显示。
知识点:
先了解一下network和NetworkManager之间的区别,还有他们分别代表了什么。
1、Network
对网卡的配置
2、NetworkManager
这个服务由几个部分组成;一个是管理系统网络连接;一个是允许用户管理网络连接的客户端程序,使用它可以更好的管理网络
我们先要知道这两个服务之间会出现冲突
注意:linux下还是不要习惯了使用图形界面,因为图形界面可能会出现以下未知的问题无法解决,使用命令行界面还是比较稳定的
(2)输入指令“systemctl stop NetworkManager”关闭
(3)最后输入:“systems disable NetworkManager ”永久关闭,防止下次自动重启。
涉及到的基础知识:
(1)如果你是帮他人解决的问题,用到的第一个指令:history(查看输入的命令记录)
history和bash_histroy区别
history查看输入的命令,bash_history保存之前输入命令的文件(通常在用户目录下,如(home/user),kali 直接在root下),通过cat .bash_history 或者vim 查看。
但是history是实时的,会查看之前输入的所有命令,但是bash_history却只能查看到上次结束bash时之前的命令,就是说当前在bash输入的命令会在关闭terminal后存在bash_history中。
可以通过history -c删除bash历史, 但是.bash_history里仍会有历史记录
常用命令
history N 显示最近的N条命令,例如history 5
history -d N 删除第N条命令,这个N就是前面的编号,例如history -d 990
history -c 清空命令历史
history -a 将当前会话中的命令历史写入指定文件
echo $HISTFILE 使用此命令查看环境变量
echo $HISTFILESIZE 查看最大保存数目
export HISTTIMEFORMAT=’%F %T ’ 让history可以有时间戳显示
(2)第二个指令是IPaddr
熟悉Linux操作系统的同学对于ip addr命令应该不陌生,知道它是用来查看本地IP地址的,除了IP地址,其它额外的信息有必要了解一下。
root@test:~# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaultlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ffinet 10.10.11.92/24 brd 10.100.122.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::f816:3eff:fec7:7975/64 scope linkvalid_lft forever preferred_lft forever
我的机器上命令结果显示两部分,lo和eth0,如果有多块网卡,每块网卡都会显示一部分。
1. lo:全称loopback,是回环地址,经常被分配到127.0.0.1地址上,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。
2.eth0:网卡名,如果有多块网卡,会有多个eth 或其它名称。
link/ether:这个是MAC地址,唯一的,一块网卡一个MAC。
inet:网卡上绑定的IP地址,通常所说的IPV4,一块网卡可以绑定多个IP地址。在绑定IP地址时注意:windows主机会提示IP地址冲突,而linux主机无任何提示,在添加新的IP地址时务必检测一下新地址是否和原有地址冲突,避免造成访问不可用。常用检测命令:ping或arping IP;
inet6:IPV6地址,暂时没有,预留。
3.网络设备状态标识:<BROADCAST,MULTICAST,UP,LOWER_UP>
UP:网卡处于启动状态。
BROADCAST:网卡有广播地址,可以发生广播包。
MULTICAST:网卡可以发生多播包。
LOWER_UP:L1是启动的,即网线是插着的。