假设我们有无线接口wlan0。什么是ip link set wlan0 up/down真正做到?给网卡上电和断电?网上很多网络配置指南都漫不经心地把它描述为简单的“调出界面”,但这到底是什么意思?
在Linux中,有什么区别离职后ip link down-condition和真正的链接不存在(例如交换机的端口被烧毁,或者有人绊到电线)。
我所说的差异是指系统中可以用来区分这两种情况的一些标志。
例如,在这两种情况下路由表是否相同?将ethtool或其他东西显示相同的东西?是否有一些工具/实用程序可以区分这些条件?
我运行的是 Debian 9.13。我试图检查auto eth1和allow-hotplug eth1之间有什么区别/etc/network/interfaces。我有eth1通过连接的网络接口USB。我尝试重新启动、运行systemctl restart networking和插入/拔出,似乎allow-hotplug和之间的主要区别auto在于,如果接口标记为auto,则命令在未连接systemctl restart networking时失败。eth1这得出的结论allow-hotplug实际上在所有情况下都是更可取的,除了我知道接口不会消失的情况(瞧,内置接口)。
这是对的吗?还有其他区别吗?
当我的 Ubuntu 14.04 机器从休眠状态唤醒时,有时网络被禁用并且启用它不会使其再次工作。跑步
sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)
仅靠它并不能解决问题。但
sudo ifconfig wlan0 down && sudo ifconfig wlan0 up
Run Code Online (Sandbox Code Playgroud)
倾向于解决 wlan 连接的问题。
但是,除非我重新启动,否则它无法通过 3G 或 GPRS 启动 PPP 连接。重新启动用作调制解调器的智能手机在这里没有帮助。
如何在不重新启动的情况下重新启动所有网络模块?
更多信息:
本机通过 USB 电缆连接到智能手机。我正在使用网络管理器和 nm-applet 来启动连接。
这是一个长期存在的问题,在早期版本中它已经是一个问题。
我不会输入休眠后网络被禁用的原因。我相信在某处有关于如何处理这个错误的信息。然而,这对我来说并不是什么大问题。
sudo lsmod | grep ppp
ppp_deflate 12950 0
ppp_async 17413 1
crc_ccitt 12707 1 ppp_async
sudo lsmod | grep usb
usb_serial_simple 17386 2
usbserial 45141 6 usb_serial_simple
usb_storage 66545 1 uas
Run Code Online (Sandbox Code Playgroud) 我用wpa-confin/etc/network/interfaces让WLAN接口自动连接AP:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Run Code Online (Sandbox Code Playgroud)
实际上,我刚刚在某个 wiki 上找到了它。这似乎没有记录在 interfaces(5) 或任何其他手册页中。
那么,什么是该wpa-conf关键字?一种扩展?或者它内置于ifup?我在哪里可以获得我可以使用的所有命令的列表/etc/network/interfaces?
添加或删除硬件时,不应更改可预测的网络接口名称。这不是命名方案的全部意义吗???
我的无线接口被命名为 wlp3s0。
我在空闲的 PCI 插槽中安装了华硕 Xonar DX 7.1 通道 PCI Express x1 接口声卡,我的无线接口名称更改为 wlp5s0。
无线网卡在安装声卡之前是在同一个PCI插槽中,为什么接口名称会改变?!
主板是技嘉GA-970A-UD3,无线网卡是华硕PCE-N15。该系统正在运行带有库存内核的 Arch Linux。
我正在寻找一个合理的解释,解释为什么在这种情况下接口名称会改变。如果接口名称更改没有充分理由,我应该在哪里提交错误报告/向谁投诉?
这没什么大不了的,我需要更改的唯一配置是 netctl 的网络配置文件。我只是认为如果一个“可预测”的网络接口名称是不可预测的,那么他们的工作就完全失败了,这个命名方案是无用的垃圾!/咆哮
/etc/networking/interfaces使用“可预测的网络接口名称”时如何重置?
早于 15.10 的 Ubuntu 版本使用网络适配器名称,例如:
eth0 eth1eth2更换网卡或将虚拟机移动到新的管理程序,会导致 Linux 增加接口编号。删除/etc/udev/rules.d/70-peristent-net.rules将使 Linux 重用eth0。
Ubuntu 15.10 和更新版本使用“可预测的网络接口名称”。网络适配器名称源自 mac 地址。
ens3ens32ens192迁移虚拟机时,网络不会启动,因为/etc/network/interfaces仍然引用旧的不存在的网络适配器。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens32
iface ens32 inet dhcp
pre-up sleep …Run Code Online (Sandbox Code Playgroud) 我已经发现在 Linux 上我可以列出网络设备
(cd /proc/net/dev_snmp6/ && for device in *; do echo $device; done|sort)
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能获得设备的 ipv4 地址呢?
我没有安装ifconfig/ip - 我想保持这种方式。
逻辑上我的意思是命令中的所有合法内容
ip link,例如:
ip link add link dum0 name dum0.200 type vlan protocol 802.1Q id 200
Run Code Online (Sandbox Code Playgroud)
其中逻辑类型是“vlan”。所有有效类型都是,引用手册页:
VLAN | veth | vcan | 假人 | 如果 | macvlan | macvtap | 可以| 桥| ipoib | ip6tnl | ipip | 坐| vxlan |gre | 格雷普 | ip6gre | ip6gretap | vti
请注意,这显然不是本问题中所问的物理设备类型(如以太网、wifi、ppp 等),它确实包含对物理类型的引用,这使我对其进行了测试:
find /sys/class/net ! -type d | xargs --max-args=1 realpath |
while read d; do
b=$(basename $d) ; n=$(find $d -name type) ; echo …Run Code Online (Sandbox Code Playgroud) I recently noticed I am only getting 100Mbit/s of througput on my gigabit home network.
When looking into it with ethtool I found my ArchLinux Box was using 100baseT/Half as link speed instead of 1000baseT/Full which its NIC and the switch connected to it support.I am not sure why but the NIC seems to not be advertising its link-modes according to ethtool:
Settings for enp0s31f6:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported …Run Code Online (Sandbox Code Playgroud)