导航:首页 > 文件类型 > linux网卡设备文件

linux网卡设备文件

发布时间:2023-03-29 16:02:51

『壹』 linux上的物理网卡与虚拟网络设备

通过 ip link add 可以创建多种类型的虚拟网络设备,在 man ip link 中可以得知有以下类型的device:

Virtual Ethernet Port Aggregator。它是HP在虚拟化支持领域对抗Cisco的VN-Tag的技术。

解决了虚拟机之间网络通信的问题,特别是位于同一个宿主机内的虚拟机之间的网络通信问题。

VN-Tag在标准的协议头中增加了一个全新的字段,VEPA则是通过修改网卡驱动和交换机,通过发夹弯技术回注报文。

TUN是Linux系统里的虚拟网络设备,它的原理和使用在 Kernel Doc 和 Wiki 做了比较清楚的说明。

TUN设备模拟网络层设备(network layer),处理三层报文,IP报文等,用于将报文注入到网络协议栈。

应用程序(app)可以从物理网卡上读写报文,经过处理后通过TUN回送,或者从TUN读取报文处理后经物理网卡送出。

创建:

创建之后,使用 ip addr 就会看见一个名为”tun-default”的虚拟网卡

可以对tun-default设置IP:

使用open/write等文件操作函数从fd中进行读取操作,就是在收取报文,向fd中写入数据,就是在发送报文。

TAP是Linux系统里的虚拟网络设备,它的原理和使用在 Kernel Doc 和 Wiki 做了比较清楚的说明。

不同于TUN的是,TAP设备模拟链路层设备(link layer),处理二层报文,以太网帧等。

TAP设备的创建过程和TUN类似,在ioctl设置的时候,将类型设置为IFF_TAP即可。

TAP设备与TUN设备的区别在于:

有时我们可能需要一块物理网卡绑定多个 IP 以及多个 MAC 地址,虽然绑定多个 IP 很容易,但是这些 IP 会共享物理网卡的 MAC 地址,可能无迹蠢颂法满足我们的设计需求,所以有了 MACVLAN 设备,其工作方式如下:

MACVLAN 会根据收到包的目的 MAC 地址判断这个包需要交给哪个虚拟网卡。单独使用 MACVLAN 好像毫无意义,但是配合之前介绍的 network namespace 使用,我们可以构建这样的网络:

采摘

创建一个基于eth0的名为macv1的macvlan网卡:

macvlan支持三种模式,bridge、vepa、private,在创建的时候设置“mode XXX”:

bridge模式,macvlan网卡和物理网卡直接可以互通,类似于接入到同一个bridge。

vepa模式下,两个macvlan网卡直接不能直接通信,必须通过外部的支持“发夹弯”交换机才能通信。

private模式下,macvlan发出的广播包(arp等)被丢弃,即使接入了支持“发夹弯”的交换机也不能发现其它macvlan网卡,除非手动设置mac。

MACVTAP 是对 MACVLAN的改进,把 MACVLAN 与 TAP 设备的特点综合一下,使用 MACVLAN 的方式收发数据包,但是收到的包不交给 network stack 处理,而是生成一个 /姿郑dev/tapX 文件,交给这个文件:

由于 MACVLAN 是工作在 MAC 层的,所以 MACVTAP 也只能工档凳作在 MAC 层,不会有 MACVTUN 这样的设备。

ipvlan和macvlan的区别在于它在ip层进行流量分离而不是基于mac地址,同属于一块宿主以太网卡的所有ipvlan虚拟网卡的mac地址都是一样的。

[图片上传失败...(image-d98b6f-1597455459947)]

veth设备是成对创建的:

创建之后,执行 ip link 就可以看到新创建的veth设备:

注意veth设备前面的ID, 58: 和 59: ,一对veth设备的ID是相差1的,并且系统内全局唯一。可以通过ID找到一个veth设备的对端。

veth设备理解

Intermediate Functional Block device,连接 ifb 中做了很详细的介绍。

『贰』 linux中网卡文件位置

网卡,即网络接口板,又称网络适配器或NIC (网络接口控制器),是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第1层。它使得用户可以透过电缆或无线相互连接。 每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。

一、环境

VirtualBox + CentOS6.5

二、问题

有时候在克隆服务器之后配置网络时,或者在维护别人建好的服务器时,会遇到这样一种情况。如下图所示:

即:在接口配置文件ifcfg-eth0中,配置的是网卡eth1的信息。

这种不一致有可能对强迫症造成一定的困扰,有时候我们更想要的是:在ifcfg-eth0文件中,配置的应该是网卡eth0的信息,而网卡eth1,则应该是在ifcfg-eth1中进行配置。

三、解决办法

要解决上面的问题,大致有两种方法:

1) 将接口配置文件的文件名由ifcfg-eth0修改为ifcfg-eth1;

2) 将网卡eth1的名称修改为eth0.

方法一:

该方法实测是可行的,如下图所示,修改完之后直接重启网络即可。

方法二:

这种方法的直观感觉是直接在ifcfg-eth0配置文件中将网卡名称由eth1修改为eth0,但是这样改的话,重启网络会出现Device eth0 does not seem to be present即:设备 eth0 不存在的错误,如下图所示,该问题的解决参考《L08-Linux解决Device eth0 does not seem to be present,delaying initialization问题》 。

所以还不能简单粗暴的这么改,因为,正如下图由ifconfig –a命令查询到的,服务器所识别的网卡依然是eth1,而不是eth0。

注:记住这里的mac地址08:00:27:74:39:02,在后面的实施步骤中可作为修改的依据,因为一台服务器的IP可以随意改变,但是mac地址是唯一的。

『叁』 linux的网卡配置文件

/etc/sysconfig/netowrk-scripts这个里面用ls查看 全是网卡的配置文件

『肆』 为什么linux下唯独没有网卡设备文件

你的系统是否安装了正确的网卡驱动?是否已经启用了网络。网卡配置文件是否正确?
如果你的系统安装的是以太网卡,那么设备名称为eth0开始,设备的配置文件保存在如下位置:
/etc/sysconfig/network-scripts/ifcfg-eth0
依此类推,第二块网卡,第三块网卡的设备配置文件保存在:
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-eth2
如果你需要一块网卡上配置多个IP地址,那么需要在在块网卡上开启虚拟网卡,即:
/etc/sysconfig/network-scripts/ifcfg-eth0:0
/etc/sysconfig/network-scripts/ifcfg-eth0:1
等等。这样就可以配置多个IP地址了。

『伍』 Linux网卡配置文件常用配置方法

安装完一套Linux发行版后,使用ifconfig命令会看到本机所有的网络接口,但此时往往还不能使用,还需要给这些网卡配置下才行。

比如在CentOS或者Fedora系统中,以太网卡的配置文件一般位于

/etc/sysconfig/network-scripts目录下,如果你有网卡eth0但是没有ifcfg-eth0文件灶颤,那么就新建一个ifcfg-eth0,对于eth1也是如此。有时候Linux系统的IP地址都是公司规划好的,因此需要给网卡激辩兄配置静态IP地址,那么此时ifcfg-eth0配置文件的内容如下:

DEVICE=网卡名称,比如eth0

ONBOOT=yes

BOOTPROTO=static表示配置的是静态IP

IPADDR=配置明袭规划好的IP地址

NETMASK=配置规划好的网络掩码

GATEWAY=配置规划好的网关

HWADDR=配置此台设备的MAC地址

『陆』 linux 网卡配置

# vim /etc/sysconfig/network-scripts/ifcfg-ens34

PING外网其它主机

这个桥键 ping 的是位于西二旗的在敏并巧 百蔽察度, 出现 未知域名或服务!shit!

允许网卡访问外网主机

编辑 /etc/hosts 文件

配置网卡设备文件添加DNS域名解析服务器地址

『柒』 linux操作系统为什么王卡等网络设备没有映射到文件系统

Linux操作系统中,网卡等网络设备并没有映射到文件系统中,是因为Linux的设计哲学中,一切皆文件(Everything is a file)的思想并不是绝对的,只是一种方便的抽象。在Linux中,文件是最基本的数据单元,每个文件都有自己的inode节点,用来记录文件的元数据信息,比如权限、所有者、大小等。但是对于设备这样的硬件资源,它们并不是文件,没有对应的inode节点,也无法使用文件的相关系统调用,比如read()和write()等,进行读写操作。
相对于将设备映射为文件,Linux采用了一种称为设备文件(Device file)的抽象方式。设备文件是一种特殊的文件,它们被用来与硬件设备通信。在Linux中,设备文件以/dev目录下的文件形式存在。设备文羡没件与设备的主、次编号相对应,主编号用来指定设备的类型,而次编号则用来唯一标识设备。这样,用户可以通过打开设备文件来访问硬件禅派脊设备,从而实现对设备的读写操作。
对于网卡等网络设备来说,贺渗它们是虚拟的设备,并不是真正的硬件设备。Linux通过网络协议栈来实现网络通信,将网络设备抽象为一个接口,通过设备驱动程序与硬件设备进行交互,将数据发送到网络中。因此,对于网络设备来说,并没有对应的设备文件,而是通过协议栈来实现对设备的访问。

『捌』 linux 查看当前的网络配置

linux 查看当前的网络配置

1、执行 ifconfig命令,结果如下可以查看到ip、mac地址等相关网络配置

配置说明

『玖』 linux网卡配置文件

配置文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE="Ethernet"

BOOTPROTO="none"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

IPV6_PRIVACY="no"

NAME="ens33"

UUID="1909802d-4b18-49a7-a0f5-39a1ce414c03"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.68.101"

PREFIX="24"

GATEWAY="192.168.68.254"

DNS1="8.8.8.8"

IPV4_FAILURE_FATAL="no"

DEFROUTE="yes"

PROXY_METHOD="none"

BROWSER_ONLY="no"

TYPE=Ethernet接口类型,常见的有ETHERNET(以太网)、Bridge(桥接接口)

BOOTPROTO=dhcp激活此接口使用什么协议来配置接口属性:dhcp,boot,static,none

PEERDNS=yes如果BOOTPROTO的值为“dhcp”,是否允许dhcp

DNS1:第一DNS服务器指向;若/etc/resolve的配置文件也有,则此处优先

DNS2:备用DNS服务器指向;

IPV6_ADDR_GEN_MODE=stable-privacy

DEVICE=ens33此配置文件对应的设备名称

ONBOOT=yes操作系统启动时,在系统引导过程中,是否激活此接口

NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

GATEWAY:默认网关;

USERCTL:是否允许普通用户控制此设备

阅读全文

与linux网卡设备文件相关的资料

热点内容
恢复文件软件免费版手机 浏览:648
lg怎么隐藏文件 浏览:836
苹果免费读书app推荐 浏览:497
刘骏微信 浏览:113
书旗旧版本80 浏览:467
教编程考什么证 浏览:990
下载编程猫后哪里有客服 浏览:13
如何编辑歌曲文件格式 浏览:638
cf无限领取cdk工具 浏览:350
如何让手机文件保存到电脑上 浏览:459
sa数据库默认密码是多少 浏览:191
电脑正在查找文件 浏览:541
一个文件盒省内寄顺丰多少钱 浏览:41
诛仙62坐骑怎么升级到63 浏览:926
linux以日期查看日志记录 浏览:446
工业大数据是什么东西 浏览:881
魅族note3怎么重置网络 浏览:510
c语言程序设计模 浏览:92
儿童怎么做可编程机 浏览:603
数据计算属于什么统计学 浏览:921

友情链接