标签: network-interface

使用一致的网络设备命名创建 eth0

根据我的理解,Arch Linux 使用一致的网络设备命名,其中网络设备不再命名为 eth0、eth1 等。

我使用专有的 MATLAB 软件,该软件需要设备 eth0 才能激活。作为一种变通方法,他们建议在此处关闭一致的网络设备命名。我不认为这会在 Arch 中起作用,但也许我错了,即使它确实有效,我也不确定这是一个好主意。

是否可以创建一个虚拟的 eth0 设备来欺骗 MATLAB 激活软件?请注意,这并不打算,而且我认为它不会违反与 MATLAB/The MathWorks 的任何许可协议。

arch-linux devices network-interface

7
推荐指数
1
解决办法
1万
查看次数

区别tun/tap,是处理协议的接口还是操作系统?

我很难理解 tap 和 tun 界面之间的区别。我知道这是一个经常被问到的问题,对此我深表歉意。我在 stackoverflow 上问了同样的问题,有人告诉我试试这个论坛,所以我希望我在一个好地方。此外,我只是对网络感到好奇,但我不是网络学生或专业人士,所以如果我的问题对你来说太简单了,请原谅我。

我读了第 2 层的 tap 工作和第 3 层的 tun 工作。我还读到了 tap 用于桥接,而 tun 用于路由。我已经听说过诸如“路由器在第 3 层工作”或“桥在第 2 层工作”之类的东西:这对我来说很有意义,因为路由器操作第 3 层协议而桥接操作第 2 层协议?但是,因为 tap 和 tun 是“接口”,这意味着像“INTERFACES work at layer 3”这样的句子是有道理的,但我不明白它是什么:我的意思是接口不操作协议(操作系统会这样做,但是不是界面)所以听起来像tun界面==点击界面:

如果我使用两个位于不同网络(192.168.2.1/24 和 192.168.3.1/24)上的 ip 创建两个 tap 接口(使用 tunctl),然后我将它们链接到两个 kvm 虚拟机(一个 tap 接口匹配一个 VM)如果我在主机上启用路由,我的两个 VM 可以通信。

所以tap接口也可以用于路由:和tun有什么区别?也许一个水龙头也是一个 tun 界面?

我也可以使用 tunctl 命令创建一个 tap 接口,但是如何使用相同的命令创建一个 tun 接口(该命令称为 T​​UNctl 而不是 TAPctl ...)?

而且有人告诉我:

TUN 设备是虚拟以太网适配器,而 TAP 设备是虚拟点对点 IP 链接(如果这些没有意义,请询问您的搜索引擎点对点 ip 链接和以太网)

所以我研究点对点 ip 链接和以太网链接,我还有其他问题:

  1. 什么是“点对点IP链接”?在我看来,点对点链接是,当我们拥有多台机器的网络时,两台机器之间进行通信而其他机器不知道这一事实。所以我猜“点对点 ip 链接”是一种可以称为“第 …

ethernet tap network-interface

7
推荐指数
1
解决办法
4117
查看次数

如何以编程方式检查以太网电缆是否已插入?

如您所知,在 Windows 中,当我们插入网线时,网络符号会变为另一种状态。

如何通过 Linux 中的命令提示符知道电缆是否已插入?

command-line networking ethernet network-interface

7
推荐指数
2
解决办法
2万
查看次数

将 NetworkManager 设置为忽略 rfkill

我的笔记本没有硬件按钮来禁用无线。但是 NetworkManager 和 rfkill 将无线视为硬阻塞。Wicd 和 iwconfig 运行良好。

有没有办法在驱动程序或网络管理器中禁用硬块检查?或者让 rfkill 显示正确的状态?

司机是ath9k。无线网卡是Qualcomm Atheros AR9565

wifi drivers hardware networkmanager network-interface

7
推荐指数
1
解决办法
1722
查看次数

以编程方式确定与网络接口关联的 IRQ

给定接口名称(例如 eth0),以编程方式确定与网络接口关联的 IRQ 的最可靠方法是什么?

我对尽力而为的方法没问题,但我希望它适用于各种驱动程序/配置(即没有对每个驱动程序进行特殊处理),并且我想避免误报。我还想避免违反此处概述的与 sysfs 交互的规则,但我可以在必要时打破它们。我将在下面的示例中打破它们。

解析/proc/interrupts并不理想,因为与 IRQ 关联的名称是特定于驱动程序的,并且不可靠,因为没有什么可以阻止两个设备具有相同名称的 IRQ。

如果我可以执行以下操作,那就太好了:

$ ls /sys/class/net/eth2/device/msi_irqs | cat /sys/class/net/eth2/device/irq
61  62  63
Run Code Online (Sandbox Code Playgroud)

我已经使用/proc/interrupts.

但这并不适用于所有驱动程序。感兴趣的 IRQ 文件位于不同的位置,或者无处可寻。

vmxnet3 接口:

$ readlink -e /sys/class/net/eth2
/sys/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/net/eth2

$ ls $(readlink -e /sys/class/net/eth2)/../../msi_irqs
61  62  63
Run Code Online (Sandbox Code Playgroud)

感兴趣的 msi_irqs 是从 /sys/class/net/eth2 符号链接向上的两个目录。msi_irqs 三个目录上面都跟我无关。

虚拟界面:

$ readlink -e /sys/class/net/eth1
/sys/devices/pci0000:00/0000:00:03.0/virtio0/net/eth1

ls $(readlink -e /sys/class/net/eth1)/../../../msi_irqs
26  27  28
Run Code Online (Sandbox Code Playgroud)

感兴趣的 msi_irqs 是从 /sys/class/net/eth1 符号链接向上的三个目录。此层次结构中没有其他 msi_irqs 文件。

hv_netvsc 接口:

$ readlink -e /sys/class/net/eth0
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:07/VMBus:00/vmbus_0_11/net/eth0
Run Code Online (Sandbox Code Playgroud)

IRQ …

devices interrupt sysfs network-interface

7
推荐指数
1
解决办法
3695
查看次数

英特尔以太网连接 I219-V 在 ASUSPRO B 笔记本电脑上的 Linux 下无法运行,e1000e 驱动程序报告:“NVM 校验和无效”

我的ASUSPRO B8430UA 笔记本电脑有问题:当我使用 Ubuntu 16.04(或 NixOS 16.03)启动它时,以太网端口不工作。使用的驱动程序是e1000e,它报告:

$ dmesg | grep e1000e
[    5.643760] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    5.643761] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    5.644308] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    5.877838] e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
[    5.907340] e1000e: probe of 0000:00:1f.6 failed with error -5
Run Code Online (Sandbox Code Playgroud)

在 Windows 7 以太网端口下工作正常:我可以连接到 Internet。根据 Windows,我有Intel(R) 以太网连接 I219-V

我搜索了“官方” Linux 驱动程序 …

hardware ethernet asus intel network-interface

7
推荐指数
2
解决办法
3万
查看次数

Debian - 更新/升级后网络接口不再工作

最近我做了通常的更新 + 升级 .. 但是这样做之后,我的网络接口拒绝工作。( 无连接 )

发生了什么 ?我怎样才能打开我的网络接口?...我正在运行一个 debian - 伸展。

(在 debian-derivates 上可能会发生同样的问题,例如 Ubuntu)

linux debian upgrade network-interface

7
推荐指数
1
解决办法
2万
查看次数

使用 NetworkManager / nmcli 删除辅助 IP

我尝试使用 nmcli 为我的 Ubuntu 16.04 服务器分配一个静态 IP,该 IP 有效,但它仍将原始 IP 保留为“辅助”IP。我不知道如何摆脱它。10.163.148.36 是服务器的原始 IP,10.163.148.194 是我希望它切换到的新 IP。我使用以下 nmcli 命令来设置 IP 地址:

nmcli connection modify 'Wired connection 1' ipv4.addresses '10.163.148.194/24' ipv4.gateway '10.163.148.2' ipv4.method 'manual' ipv4.ignore-auto-dns 'yes' connection.autoconnect 'yes' ipv4.dns '10.10.10.10 10.20.10.10'
Run Code Online (Sandbox Code Playgroud)

请注意 ens160 接口的两个 IP 地址。

aruba@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu networkmanager network-interface nmcli

7
推荐指数
2
解决办法
2万
查看次数

docker0 网络接口搞砸了我的网络

我已经在 Ubuntu 16 上安装了 docker。现在我无法再连接到我的有线网络:ubuntu 正在使用 docker0 以太网接口连接到网络(wifi 接口仍然有效)

要解决该问题,我必须关闭 docker 守护进程,然后关闭 docker0 接口:

$ sudo link set docker0 down
Run Code Online (Sandbox Code Playgroud)

但是,如果我再次启动 docker 守护进程,它会设置 docker0 接口,并且我会失去本地网络连接。

docker0 接口有什么问题?我该如何解决这个问题?

谢谢 :)

ubuntu ethernet docker network-interface

6
推荐指数
1
解决办法
1万
查看次数

Linux 上的网络接口名称有哪些限制(如果有)

/sf/ask/1745252071/中,有人询问网络接口名称可以有多长(显然是 16 个字节)。然而,该问题的答案似乎没有链接到有关该名称的其他限制的任何信息,例如:

\n
    \n
  • 字符集(例如,ip link我能够将;rm-f作为有效名称,但它似乎无法解析带有空格的名称(尽管这可能只是其参数解析器的产物,实际上并不是一种保护)针对有问题的价值观))。
  • \n
  • 最小长度(1 字节名称有效)
  • \n
  • 编码(在我的终端中创建\xce\xb1显示__,并且不能通过名称删除\xce\xb1
  • \n
\n

是否有关于接口可以被调用的内容以及在哪一层强制执行的文档(例如在内核、iproute2、libc 中)?

\n

上下文:编写一个接受将存储在数据库中的接口名称的 CLI 命令,我想确定可以对坏名称进行多少过滤,而不会导致奇怪命名(尽管可能不是敌意)接口的问题。

\n

linux networking linux-kernel iproute network-interface

6
推荐指数
1
解决办法
786
查看次数