在我工作的初创公司,我们正在设置一个用于图像捕获和分析的设备。这是一个带有摄像头的盒子,嵌入了 Ubuntu Linux,假设我们不想将显示器连接到此设备进行配置。
有些人提出了在通过网线直接将设备连接到笔记本电脑时使用配置网页的解决方案,就像使用路由器或调制解调器一样,通过访问众所周知的 IP。
这听起来像是一个解决方案,但事实是该设备不是路由器,正如我所见,这是一个完全不同的上下文,该设备不会将地址委派给笔记本(使其成为路由器网络的一部分,它可以有一个众所周知的地址),因为它不是路由器。
所以我现在正在寻找一种类似于配置路由器体验的解决方案,但这不是路由器,它是用于我应该能够从众所周知的地址访问的设备。为此,我对 zeroconf/APIPA 进行了一些研究,但从 zeroconf RFC 3927 中,IP 地址必须是“使用伪随机数生成器,其均匀分布在 169.254.1.0 到 169.254.254.255 范围内”生成的.
我认为随机 IP 解决方案可能仍然有效,即使它不是一个众所周知的地址,以防万一有任何方法可以发现该设备拥有哪个 IP。
除此之外,这个设备应该使用 NetworkManager 来处理通过它设置的许多接口的连接。
所以,总结一下问题情况:
应该研究什么问题来解决这个问题?人们对此是否有通用的方法?
根据我的经验,我记得配置我的设备,但没有一个适合问题:
如果有一个简单的工具可以在我的 Arch Linux 上运行,并让我的 Android 或 Windows 笔记本等其他设备发现它的 IP,我想知道。我也考虑过广播,但我不确定这是否适用于所有 LAN,因为广播可能会被阻止或不可靠(对此不确定)。
我的 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) 在 Linux 中,如何从命令行(或 shell 脚本)仅检索活动网络接口的名称?如果有多个活动接口,我只想要一个(任意选择)。
我正在尝试更改无线网卡(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 link;iwconfig wlan0我通过glances. 然而,这些命令似乎对比特率没有任何影响。 …
我正在尝试删除 eth0.x 并保留 eth0。虽然ifconfig列出了 eth0.1 和 eth0.500,但我没有找到它们的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.x。
我试过了ifconfig eth0.1 down,它奏效了。但是重新启动网络后,eth0.1 和 eth0.500 都回来了。
有没有办法永久删除这两个接口?
我已经在 Macbook Pro 12,1 上安装了 Debian Jessie 进行双启动。到目前为止,我还没有能够正确设置我的 WiFi 驱动程序。我以这种方式遵循了此处的说明:
BCM43602 14e4:43ba
.bin的文件通过克隆库 和移动文件,我的芯片组(brcm/brcmfmac43602-pcie.bin和brcm/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。
在重新启动,司机似乎并不奏效。有任何想法吗?
我知道在旧版本的 linux 中,我能够从 重命名网络接口/etc/udev/rules.d/70-persistent-net.rules,但是在 Ubuntu 16.04 中缺少这个文件。
如果我将 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) 1.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: …
我最近开始使用 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)
我的盒子正确启动,它也可以通过定义的 …