我正在运行 Arch Linux(内核 4.17.2-1-ARCH #1 SMP PREEMPT Sat Jun 16 11:08:59 UTC 2018 x86_64 GNU/Linux)。使用 USB 网络共享时,我在 SpeedTest.net 上的速度一直很慢。
作为故障排除的一部分,我在同一位置使用具有相同设置的同一 Android 手机(甚至相同的 USB 电缆),并在 Windows 10 笔记本电脑上测试了 USB 系留速度。(两台笔记本电脑都是 ThinkPad。一台运行 Arch Linux,一台运行 Windows 10。)
我注意到 Windows 10 上的 USB 网络共享速度明显更快。下一步,我想调整 Linux 上的连接参数,以匹配我在 Windows 10 上看到的速度。步骤是什么?
我还在寻找确定 Windows 上的连接参数的步骤。Windows 命令:
netsh interface ipv4 show subinterfaces
Run Code Online (Sandbox Code Playgroud)
显示 MTU 为 1500,因此没有什么特别的。在 Linux 上,ip a还显示系留接口的 MTU 为 1500。如果速度差异不是由 MTU 造成的,那么还有什么可能会影响它呢?
顺便说一句,Linux 笔记本电脑在所有接口(有线和无线)上都具有非常好的互联网速度,适用于除 USB 网络共享之外的所有连接。USB 网络共享的连接不是问题。这是缓慢的速度。我的运营商说我没有受到限制,Windows 上的测试也证实了这一点。因此,USB 网络共享速度慢与 Linux 有关,但这并不是所有网络的普遍问题。它仅限于 USB 网络共享。
我正在使用 hostapd 通过我的树莓派零和 wifi 卡共享另一个 wifi 连接。树莓派启动后,我可以在手机中看到我的 SSID,甚至可以连接到它并使用它几秒钟。然后 SSID 就消失了。
\n\nhostapd的状态显示没有任何错误:
\n\npi@raspberrypi:~ $ sudo service hostapd status\n\xe2\x97\x8f hostapd.service - LSB: Advanced IEEE 802.11 management daemon\n Loaded: loaded (/etc/init.d/hostapd; generated; vendor preset: enabled)\n Active: active (running) since Sun 2018-08-05 16:55:06 UTC; 6min ago\n Docs: man:systemd-sysv-generator(8)\n Process: 557 ExecStart=/etc/init.d/hostapd start (code=exited, status=0/SUCCESS)\n CGroup: /system.slice/hostapd.service\n \xe2\x94\x94\xe2\x94\x80597 /usr/sbin/hostapd -B -P /run/hostapd.pid /etc/hostapd/hostapd.conf\n\nAug 05 16:55:04 raspberrypi systemd[1]: Starting LSB: Advanced IEEE 802.11 management daemon...\nAug 05 16:55:06 raspberrypi hostapd[557]: Starting advanced IEEE 802.11 management: …Run Code Online (Sandbox Code Playgroud) 当我在网络脚本中将 dhcp 更改为 static 然后重新启动服务时systemctl restart NetworkManager。静态 IP 设置应该更新,但没有更新。所以我尝试
ip link set dev enp0s3 down进而up
没有更新ip
然后我尝试用ifdown enp0s3thenifup enp0s3
有效
为什么它与 一起工作ifup?
我有两个网络接口:eth0 和 p2p1。我的默认区域设置为公共。我想永久将 p2p1 设置为可信。
为了实现这一点,我运行:
sudo firewall-cmd --permanent --change-zone=p2p1 --zone=trusted
Run Code Online (Sandbox Code Playgroud)
之后我得到这个:
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
Run Code Online (Sandbox Code Playgroud)
(我有netplan控制我的网络。)要检查一切是否正常,我执行以下操作:
sudo firewall-cmd --get-active-zones
public
interfaces: eth0
trusted
interfaces: p2p1
Run Code Online (Sandbox Code Playgroud)
但重启后一切都消失了。我怎样才能制作这根棍子?
更新:我发现这个“要将eth0网络接口永久分配给内部区域(在 /etc/firewalld/zones 目录中创建一个名为internal.xml 的文件...”
root@me:~# nmcli con show | grep p2p1
netplan-p2p1 44db1fb7-b83f-36aa-8dd1-faa6fb97f6c4 ethernet p2p1
p2p1 3ad65062-db85-4ba6-9104-76644e78a5c4 ethernet --
p2p1 c3297794-7641-4033-9f68-156f26ffe024 ethernet --
root@me:~# nmcli con mod "netplan-p2p1" connection.zone trusted
root@me:~# nmcli con up "netplan-p2p1"
Connection successfully activated (D-Bus …Run Code Online (Sandbox Code Playgroud) 我在 Odroid HC2 上运行 Armbian Buster。实际上,我的接口名称看起来像这样:enx001e0632c19dforeth0和wlx503eaa4a712afor wlan0。
我不想使用预测接口名称来获取 eth0 和 wlan0。
所以我在以下位置创建了 2 个文件/etc/systemd/network/:
# ls -l /etc/systemd/network/
total 2
-rw-r--r-- 1 root root 54 Sep 2 00:32 10-eth.link
-rw-r--r-- 1 root root 55 Sep 2 00:32 10-wlan.link
Run Code Online (Sandbox Code Playgroud)
这是 eth0 的内容:
# cat 10-eth.link
[Match]
MACAddress=00:1e:06:32:c1:9d
[Link]
Name=eth0
Run Code Online (Sandbox Code Playgroud)
对于 wlan0 :
# cat 10-wlan.link
[Match]
MACAddress=50:3e:aa:4a:71:2a
[Link]
Name=wlan0
Run Code Online (Sandbox Code Playgroud)
然后,我看到一个我必须做的主题(为什么我的 systemd 链接文件被忽略? ):
update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了。
但它仍然不起作用... …
我尝试将两个接口绑定为一个,创建了bond0,但发现效果并不令人满意。/etc/network/interfaces然后,我恢复了对和 ran所做的所有更改systemctl restart networking.service,但绑定接口仍然存在(显示在ifconfig和ip link命令中),我必须运行ip link set bond0 down或ifconfig bond0 down强制将其踢出。如何在不重新启动服务器的情况下完全删除该接口?
我在 Debian Buster。该文件原本是这样的:
auto eno1
iface eno1 inet static
# regular network settings like address, netmask, gateway etc.
auto eno2
iface eno2 inet static
# regular network settings like address, netmask, gateway etc.
Run Code Online (Sandbox Code Playgroud)
我将这两个接口变成了一个键,将其更改为:
auto eno1
iface eno1 inet manual
bond-master bond0
auto eno2
iface eno2 inet manual
bond-master bond0
auto bond0
iface bond0 inet …Run Code Online (Sandbox Code Playgroud) 我需要在 Linux 上创建第二个单独的虚拟接口。
我选择dummy。并执行以下步骤:
$ cat /etc/modules-load.d/dummy.conf
# Load dummy.ko at boot
Run Code Online (Sandbox Code Playgroud)
假的
$ cat /etc/sysconfig/network-scripts/ifcfg-ethdummy1
NAME=ethdummy1
DEVICE=ethdummy1
MACADDR=00:22:22:ff:ff:ff
IPADDR=10.10.10.1
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
NM_CONTROLLED=no
Run Code Online (Sandbox Code Playgroud)
似乎一切正常。但在网上我看到人们也这样做:
$ cat /etc/modprobe.d/dummy.conf
install dummy /sbin/modprobe --ignore-install dummy; /sbin/ip link set name ethdummy1 dev dummy0
Run Code Online (Sandbox Code Playgroud)
这条线有什么意义?谢谢。
我正在尝试为我的 Debian 容器(在 LXD 上运行)配置静态 IPv6 地址,但系统始终忽略我的配置。
\n目前我的/etc/network/interfaces样子是这样的:
auto eth0\niface eth0 inet dhcp\niface eth0 inet6 dhcp\n\nauto eth1\niface eth1 inet static\n address 10.1.0.10/16\n gateway 10.1.0.1\niface eth1 inet6 static\n address fd01::10/64\n gateway fd01::1\n autoconf 0\nRun Code Online (Sandbox Code Playgroud)\n静态 IPv4 配置和 IPv6 的 DHCP 选项(在 eth0 上)工作正常,如命令ip addr所示:
76: eth0@if77: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000\n link/ether 00:16:3e:53:50:bc brd ff:ff:ff:ff:ff:ff link-netnsid 0\n inet 10.0.0.10/16 brd 10.0.255.255 scope global dynamic eth0\n …Run Code Online (Sandbox Code Playgroud) 我想连接两个设备,第一个是带有 ubuntu 的笔记本电脑(通过 wifi 连接到互联网),第二个是带有用 yocto 编译的 Linux 发行版的设备。这两个设备通过以太网电缆相互连接。我想要第二台设备上的互联网访问权限。在笔记本电脑上,我在 eth 接口上设置了静态 IP (192.168.3.254),并且我允许其他计算机使用 wifi 共享选项(对于 eth iface 也是如此)。在第二个设备中,我有以下等/网络/接口:
auto eth0
iface eth0 inet static
address 192.168.3.22
netmask 255.255.255.0
network 192.168.3.0
gateway 192.168.3.254
Run Code Online (Sandbox Code Playgroud)
现在我可以启动 ssh 会话,但在第二台设备上唯一有效的 ping 是 192.168.3.254。我尝试 ping 8.8.8.8 或 1.1.1.1 但没有任何结果!我做错了什么?
我有一台 MacBook Pro 15" 2018(Touch Bar)。我看到它有很多网络接口。我想知道它们是什么/它们做什么。我做了一些研究,但我无法真正弄清楚所有他们,这是我从这个答案SCNetworkInterfaceInfo.UserDefinedName中找到的信息:
截至我发布此问题时,Unix 和 Linux StackExchange 的搜索引擎已离线。提前致谢。
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
status: active
ap1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
status: active
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
status: inactive …Run Code Online (Sandbox Code Playgroud)