Linux网络配置及状态查询
1、虚拟网卡的三种模式
1.1、Bridged(桥接模式)
什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。其网络结构如下图所示:
1.2、NAT(地址转换模式)
刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:
1.3、Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:
2、网卡命名eth0、ens33、ens160、eno1、enp0s*?
首先说明下eth0与ens33的关系,主流网卡为使用以太网络协定所开发出来的以太网卡 (Ethernet),主机上面有一张以太网卡,则主机的网络接口就是 eth0 (第一张为 0 号开始)。新的 CentOS 7 开始对于网卡的编号有另一套规则,网卡的界面代号与网卡的来源有关,网卡名称会是这样分类的:
en
打头:以太网接口,即代表以太网网卡。
wl
打头:wlan接口,即代表无线局域网网卡。
ww
打头:wwan接口,即代表无线广域网网卡。
接下来的
o
表示板载网卡
s
表示热插拔插槽。
p
表示PCI地理位置。
eno1
:代表由主板 BIOS 内置的网卡。
ens1
:代表由主板 BIOS 内置的 PCI-E 界面的网卡。
enp2s0
:代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有 s0, s1… 的编号。
eth0
:如果上述的名称都不适用,就回到原本的默认网卡编号
- centos6之前版本网卡名称:
以太网:eth[0,1,2,...]
ppp:ppp[0,1,2,...]
网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules
查看网卡:dmesg | grep -i eth
或ethtool -i eth0
卸载网卡驱动:modprobe -r e1000
或rmmod e1000
装载网卡驱动:modprobe e1000
临时修改网卡名称:ip link set eth0 down && ip link set eth0 name abc && ip link set abc up
网络配置命令
静态指定
ifconfig,route,netstat,
ip {link,addr,route},ss,tc,
system-config-network-tui,setup
ifconfig来自于net-tools包,建议使用ip代替
rpm -qi net-tools
rpm -q net-tools
rpm -ql net-tools
ifconfig
ifconfig ens224 1.1.1.1/24
ifconfig ens224 0
ifconfig ens224 down
ifconfig -a
ifconfig ens224:1 1.1.1.8/24
ifconfig -s
ifconfig -s ens224
service network restart
查看ip配置是否生效
ip addr
查看网关配置是否生效
route -n
查看dns配置是否生效
cat /etc/resolv.conf
修改网卡名为ethX形式的命名规则
vim /etc/default/grub 在GRUB_CMDLINE_LINUX配置项后面添加 net.ifnames=0
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
3、linux查看 全部网卡 虚拟网卡 物理网卡
- 查看全部网卡:目录 /sys/class/net/
ls /sys/class/net/
- 查看虚拟网卡:目录 /sys/devices/virtual/net/
ls /sys/devices/virtual/net/
- 查看物理网卡
ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net/`"
4、network.service和NetworkManager.service
![](https://i-blog.csdnimg.cn/blog_migrate/44e77c823000f5afb212f090b4a8116f.png)
===NetworkManager服务和network.service服务有冲突,只能开启一个哦!
systemctl start NetworkManager 开启Net
systemctl stop NetworkManager 关闭Net
systemctl status NetworkManager 查看NetworkManager状态
systemctl restart NetworkManager 重新启动Net(PID值会发生变化)
systemctl reload NetworkManager 重新加载Net(PID值不会发生变化)
systemctl is-enabled NetworkManager 查看Net是否开机自启动
systemctl enable NetworkManager 设置Net开机自启动
systemctl disable NetworkManager 关闭Net开机自启动
===启动network服务 (vm 下安装 centos 可用 nmcli c reload 命令启动)
systemctl start network
systemctl enable network
systemctl status network
systemctl stop network && systemctl restart NetworkManager
4.1、Network 服务
对网卡的配置,network的制御网络接口配置信息改动后,网络服务必须重新新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。
4.2、NetworkManager 服务
![](https://i-blog.csdnimg.cn/blog_migrate/c5b1e55d48f27d262a870aca713f0416.png)
是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。
关于NetworkManager一些命令整理如下:
1、使用nmcli命令前还需要查看NetworkManager是否接管网络设置
nmcli network 查看是否接管网络配置(或者nmcli n)
nmcli n on 设定接管网络配置
nmcli n off 设定取消接管网络配置
3、使用nmcli查看网络连接状态
nmcli network connectivity (或者nmcli n c)
full 网络正常连接
limited 网络连接,但是无法上网
portal 网络连接,但是需要认证才可以上网
none 无网络连接
unknown 无法识别网络
3、使用nmcli查看详细网络连接状态
nmcli general status (或者nmcli g s)
STATE 显示网络是否连接(con表示已连接)
CON 同nmcli n c 命令
WIFI-HW WIFI硬件开关是否开启
WIFI WIFI软件开关是否开启
WWAN-HW WWAN硬件开关是否开启
WWAN WWAN软件开关是否开启
3、使用nmcli显示所有网络连接信息
nmcli connection show (或者nmcli c s)
nmcli c s -a 显示当前启动的连接(--active)
nmcli c s 网卡名 显示特定网卡的详细连接信息
3、显示被NetworkManager识别到的设备及其状态
nmcli device status (或者nmcli d s)
4、使用nmcli配置网卡基本信息
c是connection,m是modify的缩写
nmcli c m 网卡 ipv4.address 192.168.10.1/24 配置IPv4地址
nmcli c m 网卡 ipv4.method manual 设置IP地址为静态配置(默认为auto)
nmcli c m 网卡 ipv4.getway 192.168.10.254 修改默认网关
nmcli c m 网卡 ipv4.dns 192.168.10.254 配置DNS服务器
nmcli c m 网卡 +ipv4.dns 192.168.20.1 添加一个DNS服务器
nmcli c m 网卡 connection.autoconect yes 设置为开机启动
nmcli c up 网卡 启用网卡连接
nmcli c down 网卡 关闭网卡连接
nmcli c reload 网卡 启网卡