小编Les*_*zek的帖子

多个接口上的相同IP

网络大师您好,

我有一个 Linux(内核 3.14)服务器,它充当消费电子设备群(机顶盒 - STB)的 TFTP、NFS 和 HTTP 服务器。这些设备使用 TFTP 来引导它们的内核,然后从我们机器上的 NFS 服务器上挂载它们的根 FS,等等。

现在,出于一个深奥的技术原因,我不会在这里深入研究(相信我:),每个 STB 都必须位于自己的、物理上独立的 LAN 中。所以网络设置ATM的方式是:

服务器有 1 个网卡,用于访问世界其他地方。它还为它所服务的每个 STB 配备 1 个网卡 - 每个网卡都连接到一个小型路由器,STB + 一些其他设备连接到该路由器并形成一个 LAN。

目前连接了 3 个 STB,LAN 分别为 172.16.50.0/24、172.16.51.0/24 和 172.16.52.0/24。它的所有工作都很好。

然而:事实上,我们有 3 个不同的 LAN,这意味着必须访问相同的服务器,如来自 STB1 的 172.16.50.1、来自 STB2 的 172.16.51.1 和来自 STB3 的 172.16.52.1 - 这意味着我们有一点不同的环境每个 STB 以及每次我们 - 比如说 - 上传要在 STB 上使用的新 RootFS 时,我们需要手动编辑一些配置文件并放置正确的 IP,服务器必须从这个特定的 STB 访问。不是很方便,容易出错!

这让我想到:如果我们简单地将这三个 LAN 配置为完全相同的 172.16.50.0/24 会怎样?从 STB(以及 LAN 中的其他设备)的角度来看,一切都应该没问题,但是从服务器的角度来看呢?

Linux 服务器是否可以有 N …

linux linux-networking

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

在 RAM 中创建块设备

我的日常任务之一是使用我们的软件创建 USB 闪存盘的可启动映像。映像必须包含两个分区,第一个分区为 FAT32,第二个为 EXT3。首先,我们将 Linux 内核和一个小的启动脚本放在我们要启动的设备上的引导加载程序中,并在启动时读取。

在第二个分区上,我们放置了 rootfs。

现在,这是我的做法:

  1. 将 USB 随身碟插入我的 Linux comp。找出它的设备文件(这里假设/dev/sdx)

  2. 将它的前 600 MB 清零:dd if=/dev/zero of=/dev/sdx bs=1M count=600

  3. 创建两个分区,第一个 10 MB 和第二个 500 MB: sfdisk /dev/sdx --unit S << EOF ,20000,c ,1000000,83 EOF

    mkfs.vfat /dev/sdx1 mkfs.ext3 /dev/sdx2

(假设扇区大小为 512 字节!)

  1. 将内核和启动脚本复制到 /dev/sdx1
  2. 将预编译的 RootFS 解压到 /dev/sdx2
  3. 将U盘中的现成镜像复制回我们的硬盘:dd if=/dev/sdx of=usb.img bs=1M count=520
  4. 压缩它并发送给测试这个软件的人。
  5. 然后人们解压缩,用 dd if=usb.img of=/dev/sdx 刷入他们的 U 盘并插入他们的设备并测试。

现在,所有这些都有效。明显的改进是创建一个脚本来自动完成这一切。这也可以完成,但仍然需要一个手动步骤:插入 USB 随身碟。

我在想,我们可以使用 RAM 中的块设备来代替实际的 USB 磁盘。这样不仅可以省去手动插入U盘的步骤,而且速度也会更快。

所以我需要的是 RAM 中的普通块设备。可以像物理 USB 笔式驱动器一样分成多个分区。

我刚刚研究了这个话题,似乎唯一的选择是

  1. tmpfs 和 …

linux memory

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

标签 统计

linux ×2

linux-networking ×1

memory ×1