标签: network-interface

如何以简单的方式在网络中发现设备的 IP?

在我工作的初创公司,我们正在设置一个用于图像捕获和分析的设备。这是一个带有摄像头的盒子,嵌入了 Ubuntu Linux,假设我们不想将显示器连接到此设备进行配置。

有些人提出了在通过网线直接将设备连接到笔记本电脑时使用配置网页的解决方案,就像使用路由器或调制解调器一样,通过访问众所周知的 IP。

这听起来像是一个解决方案,但事实是该设备不是路由器,正如我所见,这是一个完全不同的上下文,该设备不会将地址委派给笔记本(使其成为路由器网络的一部分,它可以有一个众所周知的地址),因为它不是路由器。

所以我现在正在寻找一种类似于配置路由器体验的解决方案,但这不是路由器,它是用于我应该能够从众所周知的地址访问的设备。为此,我对 zeroconf/APIPA 进行了一些研究,但从 zeroconf RFC 3927 中,IP 地址必须是“使用伪随机数生成器,其均匀分布在 169.254.1.0 到 169.254.254.255 范围内”生成的.

我认为随机 IP 解决方案可能仍然有效,即使它不是一个众所周知的地址,以防万一有任何方法可以发现该设备拥有哪个 IP。

除此之外,这个设备应该使用 NetworkManager 来处理通过它设置的许多接口的连接。

所以,总结一下问题情况:

  • 设备必须通过本地网络进行配置。
  • 此设备已开启并使用网络管理器处理通过多个接口的连接,假设一个接口连接出现故障,它将选择另一个接口。
  • 我们正在考虑使用 eth0 别名来让 eth0 由网络管理器处理(在其他接口的上下文中)以及通过非托管(由网络管理器)别名进行固定 IP 访问。不确定这是否可能。
  • 这都是关于设备发现的,我也建议使用 nmap 来访问设备,但它有两个缺点:在大型网络上扫描速度很慢,而且不是简单的网页访问,必须构建使用 nmap 的客户端并用于执行以下操作发现。
  • 如果没有办法在众所周知的 IP 中进行简单访问,那么使用随机 IP 也是一种解决方案,因为可以像网络中的打印机或类似的东西一样发现设备。
  • 可以假设解决方案可以是通过网线配置直接连接到笔记本的设备并在设备的配置网页中获取访问权限的解决方案,也可以是笔记本连接到设备所在本地网络的解决方案也已连接,并且能够访问在网络中发现它的设备或通过替代的、外来的和固定的地址访问它。请注意,访问本地网络路由器或使用 nmap/arp 扫描不是一种选择。

应该研究什么问题来解决这个问题?人们对此是否有通用的方法?

根据我的经验,我记得配置我的设备,但没有一个适合问题:

  • 路由器:在众所周知的地址提供一个易于访问的配置网页,但它是路由器,它是网关,它将委派我自己的地址。
  • Cubox-i:我有这些设备之一,我必须在我的网络中使用 nmap 发现它并访问它的 ssh。
  • 打印机:我从来没有拥有过,所以我不知道它的设备发现/配置是如何工作的,但之前在网络上使用过它们,它们通常列在 Windows 机器的设备设置中。我还得看看“Avahi”、“UPnP”、“Zeroconf”等我从未接触过的领域中的名字。也许这是适合这种情况的例子。

如果有一个简单的工具可以在我的 Arch Linux 上运行,并让我的 Android 或 Windows 笔记本等其他设备发现它的 IP,我想知道。我也考虑过广播,但我不确定这是否适用于所有 LAN,因为广播可能会被阻止或不可靠(对此不确定)。

networkmanager avahi network-interface

5
推荐指数
1
解决办法
1563
查看次数

rtl8821ae Wifi 驱动程序

我的 wifi 连接(rtl8821ae 驱动程序)出现问题。我可以保持连接数小时(长达 6 小时),然后有时它会崩溃并且在重新启动时不起作用。我得等到第二天。

sugar@hostname:~$ uname -v
#1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17)

sugar@hostname:~$ lspci -vnn | grep Network
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. 
RTL8821AE 802.11ac PCIe Wireless Network Adapter [10ec:8821]

sugar@hostname:~$ sudo iwconfig
eth0      no wireless extensions.

wlan0     IEEE 802.11abgn  ESSID:"Bravotelecom_9947"  
  Mode:Managed  Frequency:2.462 GHz  Access Point:     E8:CC:18:F7:81:50   
  Bit Rate=6.5 Mb/s   Tx-Power=20 dBm   
  Retry short limit:7   RTS thr=2347 B   Fragment thr:off
  Encryption key:off
  Power Management:off
  Link Quality=70/70  Signal level=-24 dBm  
  Rx invalid nwid:0  Rx invalid crypt:0 …
Run Code Online (Sandbox Code Playgroud)

wifi debian realtek network-interface

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

仅检索活动网络接口的名称

在 Linux 中,如何从命令行(或 shell 脚本)仅检索活动网络接口的名称?如果有多个活动接口,我只想要一个(任意选择)。

linux command-line networking network-interface

5
推荐指数
1
解决办法
6977
查看次数

无法更改无线网络接口的默认比特率

我正在尝试更改无线网卡(AR9565 驱动程序:ath9k_htc)的比特率以进行实验。我正在运行 Ubuntu 14.04 LTS,我的卡详细信息如下:

wlan0     IEEE 802.11abgn  ESSID:"FACULTY-STAFF-N"  
             Mode:Managed  Frequency:5.24 GHz  Access Point: C4:0A:CB:2D:75:5A   
             Bit Rate=240 Mb/s   Tx-Power=17 dBm   
             Retry short limit:7   RTS thr:off   Fragment thr:off
             Power Management:off
             Link Quality=38/70  Signal level=-72 dBm  
             Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
             Tx excessive retries:2  Invalid misc:0   Missed beacon:0
Run Code Online (Sandbox Code Playgroud)

要修复比特率(在这种情况下为 9Mbps,但我检查了多个比特率),我使用以下命令:

sudo iw dev wlan0 set bitrates legacy-5 9
Run Code Online (Sandbox Code Playgroud)

或者

sudo iwconfig wlan0 rate 9M
Run Code Online (Sandbox Code Playgroud)

我通过以下方式检查 wlan0 使用的最大比特率iw dev wlan0 linkiwconfig wlan0我通过glances. 然而,这些命令似乎对比特率没有任何影响。 …

linux wifi network-interface

5
推荐指数
1
解决办法
9629
查看次数

如何在 CentOS 中永久删除 eth0.x

我正在尝试删除 eth0.x 并保留 eth0。虽然ifconfig列出了 eth0.1 和 eth0.500,但我没有找到它们的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.x

我试过了ifconfig eth0.1 down,它奏效了。但是重新启动网络后,eth0.1 和 eth0.500 都回来了。

有没有办法永久删除这两个接口?

networking ethernet network-interface ifconfig

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

WiFi 不适用于 Broadcom 43ba 驱动程序

我已经在 Macbook Pro 12,1 上安装了 Debian Jessie 进行双启动。到目前为止,我还没有能够正确设置我的 WiFi 驱动程序。我以这种方式遵循了此处的说明:

  1. 使用上面文档中的表格找到了我的芯片组

    BCM43602 14e4:43ba

  2. 下载需要.bin的文件通过克隆 和移动文件,我的芯片组(brcm/brcmfmac43602-pcie.binbrcm/brcmfmac43602-pcie.ap.bin)进入/etc/firmware/brcm

我还没有完成以下步骤:

对于 SDIO 驱动程序,您需要为您的系统复制 nvram 并将其放置在 /lib/firmware/brcm 中。

原因是因为我认为计算机不会使用 SDIO 驱动程序,而是使用 PCIE 驱动程序。我不确定这一点。第二个原因是我在/sys/firmware/efi/efivars之后找不到 nvram 文件mount -t efivarfs none /sys/firmware/efi/efivars

在重新启动,司机似乎并不奏效。有任何想法吗?

wifi drivers debian broadcom network-interface

5
推荐指数
1
解决办法
840
查看次数

Ubuntu 16.04 - 更改接口名称

我知道在旧版本的 linux 中,我能够从 重命名网络接口/etc/udev/rules.d/70-persistent-net.rules,但是在 Ubuntu 16.04 中缺少这个文件。

linux networking ubuntu udev network-interface

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

是否可以在 Linux 的虚拟接口(eth0:1 接口)上实现 IPv6?

如果我将 IPV6 地址分配给创建的虚拟接口eth0:1,那么它会自动分配给它的真实接口eth0

在 IPv4 上一切正常,但我也需要在虚拟接口上使用 IPv6。我尝试了在物理接口上工作的所有内容,但无法为eth0:1接口显示任何 IPv6 。

eth0      Link encap:Ethernet  HWaddr 00:04:9f:02:81:97  
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fc00:1234:1::10/120 Scope:Global
          inet6 addr: fc00:1234:1::70/120 Scope:Global
          inet6 addr: fc00:1234:1::42/120 Scope:Global
          inet6 addr: fc00:1234:1::40/120 Scope:Global
          inet6 addr: fe80::204:9fff:fe02:8197/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:5528 (5.3 KiB)
          Base address:0xe000 

eth0:1    Link encap:Ethernet  HWaddr 00:04:9f:02:81:97  
          inet …
Run Code Online (Sandbox Code Playgroud)

linux ipv6 network-interface virtual-interface

5
推荐指数
1
解决办法
2829
查看次数

为什么 netcat 不使用与 IP 关联的正确接口?

  • 我有两个网络接口, A1.2.3.4和 B 1.2.3.99。(在ifconfig)
  • 我跑去nc -l 1.2.3.99 20101 -v监听接口 B。
  • 我跑nc -v 1.2.3.99 20101 -s 1.2.3.4 -4是因为我想使用界面A

它连接但当我检查时wireshark,没有来自A或的数据包B,仅在lo...

为什么它不使用具有关联 IP 的接口?我该怎么做才能强制他们使用关联的界面?

编辑:

在遵循帕特里克的建议之后:

ip route add local 1.2.3.99 dev B table main
ip route del local 1.2.3.99 dev B table local
ip route add 1.2.3.99 dev B table local
Run Code Online (Sandbox Code Playgroud)

我运行nc -l 1.2.3.99 20101但在创建 tcp 服务器时出现错误Ncat: bind to 1.2.3.99:20101: …

networking netcat network-interface

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

流浪者配置eth0

我最近开始使用 Vagrant 来快速安装虚拟机。我注意到我的网络配置并不完美,但我无法正确设置。

这是我的流浪文件:

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'

Vagrant.configure("2") do |config|

  config.vm.box = "debian/jessie64"
  config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
  config.vm.provider "libvirt" do |lv|
        lv.driver = "kvm"
  end #config.vm.provider
  #how many hosts to deploy?
  n = 1
  (10..n+9).each do |i|
        config.vm.define "#{i}" do |vs|
                vs.vm.hostname = "vs-#{i}"
                vs.vm.network "private_network", ip: "10.0.0.#{i}"
        end #config.vm.define
  end #loop

  #copy local ssh key to vm with ansible
  config.vm.provision :ansible do |ansible|
        ansible.playbook = "vagrant-provision.yml"
        ## Debugging
        #ansible.verbose =  true
        #ansible.verbose="vvvvv"
  end

end #Vagrant.configure
Run Code Online (Sandbox Code Playgroud)

我的盒子正确启动,它也可以通过定义的 …

linux networking vagrant network-interface

5
推荐指数
0
解决办法
1128
查看次数