问题标签 [olsrd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

bash - Bash:如何从 olsrd 配置中读取多行选项(类似 nginx)

您如何解析(和修改)以下配置:(从 olsrd.conf 中提取)

我需要这种格式的配置(存储在 bash 变量中):

并且还需要这个从这种格式写回 olsrd.conf 文件。

(它类似于 nginx 配置,只是括号从下一行开始。)

经过一番研究,我想出了使用 grep 在 olsrd.conf 中查找“Hna4”的行号,然后从这一点开始找到第一个右括号的行号,然后获取这两个行号之间的所有行,然后解析内容..

有没有其他(更好的)方法来实现这一目标?

0 投票
1 回答
215 浏览

adhoc - 在 emane 上模拟预测 OLSR 协议

最近几周,我正在学习使用EMANE来模拟使用预测 OLSR路由协议的 Ad hoc 网络。

在计算 P-OLSR 中的 ETX 度量时,会考虑无人机所在位置的位置,这使得它与普通 OLSR 不同。我在将无人机的位置数据传输到 P-OLSR 核心时遇到了麻烦。我从上面提到的链接下载的补丁文件在协议中添加了一个gpsreceiver插件,用于从 P-OLSR 接收位置数据,然后将其传输到 P-OLSR。而在olsrd.conf.example文件中,我应该为插件设置一个接口,一个多播IP地址和一个端口,我在使用EMANE仿真平台时不知道如何设置这些东西。我尝试将多播 IP 地址和端口设置为与eventservicegroup属性的值相同。但它不可能是正确的,因为数据格式不一致。

EMANE 使用一个名为eelgenerator的应用程序,它可以生成位置事件来传递无人机的位置数据,但数据是 eel 日志文件格式,而不是gpsreceiver想要的NMEA格式。EMANE还有一个叫gpsd location agent的应用程序,它可以处理位置事件,并将位置数据转换成NMEA格式,但是gpsd location agent的输出只能直接连接到GPSd或者连接到GPSd的伪终端. GPSd 可以从 NMEA 格式的位置数据中获取纬度、经度和高度信息,并通过 localhost 的 2947 端口服务于其他应用程序。

那么,如何将位置数据传输到 P-OLSR 核心?如果通过gpsreceiver,我应该如何设置olsrd.conf,我需要自己编写程序吗?如果不使用gpsreceiver插件,我可以让P-OLSR核心通过GPSd获取位置数据吗?如果可以,如何准确地实现这一点?

PS:我的 EMANE 版本是 emane-0.9.3。我机器内核的版本是4.2.3-300.fc23.x86_64。

0 投票
2 回答
1298 浏览

networking - 使用OpenWRT和OLSR连接使用海航的路由器

你可能会认为我需要一点帮助。

我有四个路由器(TP-Link WDR3600) 需要用来创建Ad-Hoc网络。目前,为了简单起见,我只处理四个路由器中的两个。所有路由器都安装了OpenWRT Chaos Calmer 15.05 OS,并且都运行OLSR 路由协议。我的问题非常简单,但答案让我难以捉摸,我希望在这件事上有一些方向。

如何使用HNA(主机和网络关联)和上面指定的设置让这两个(最终是四个)路由器相互通信?

编辑:它们也需要无线连接。结束编辑。

我已经按照 T 的这个特定指南进行操作,但是一旦进入“如何执行第 4 步”,该指南就会在应用程序方面崩溃,因为它们指向的文件 (/etc/olsrd.conf) 在我的设置中不存在. 无论如何继续并运行“olsrd start”时,它会吐出:这个错误注意它是如何说“找不到特定的配置文件/etc/olsrd/olsrd.conf”,以及它与之前要求我修改“/etc/olsrd”时的不同之处.conf"

此外,如果您想知道,文件夹“/etc/olsrd”也不存在。我对此感到茫然。有人对此事有意见吗?我确定我错过了一些简单的东西。

提前致谢。

0 投票
0 回答
283 浏览

ubuntu - Ubuntu 中的 OLSRD

我安装了 Olsrd 版本 0.9.0.3,当我在根目录下运行 Olsrd 时,我得到以下结果:

你能告诉我如何配置接口吗?先感谢您,

0 投票
0 回答
61 浏览

docker - Docker swarm 中的 Weave 子网在运行 Olsrd 后不会相互隔离

这是我的工作流程:

1. 搭建一个由 3 台主机组成的 Docker swarm 集群:

2. 设置 Weave 网络

我按照https://github.com/weaveworks-guides/old-guides/blob/master/docker-legacy/part-2.md的说明进行操作

3、部署6个容器,组成树状拓扑

4. 测试 #1:子网在运行路由之前运行良好

Node1 有 4 个网络接口,如下所示:

它通过 ethwe0 成功 ping 到 10.10.0.2/28(由 node0 拥有)-> 太好了!此外,node4 (10.10.0.51/28) 无法从 node0 访问 -> 这正是我所期望的,这意味着这些子网络是相互隔离的。这是 node1 中的路由表:

5.测试#2:运行Olsrd后,子网不再相互隔离

为了启用多跳连接(例如,node1->node0->node2->node4),我在每个容器上运行 Olsrd。这是 node1 中的 Olsrd.conf:

然后,node1 能够 ping 到 node4。但是,问题是 node1 可以直接 ping 到 node4 而无需通过 node0 和 node2。这是 node1 中的路由表:

这是我在 node1 中运行 traceroute 10.10.0.51 时的输出。来自 Node1 (10.10.0.3/28) 的数据包甚至可以直接到达 node2 (10.10.0.51/28),尽管它们不在同一个子网中。

另外,当我运行 tcpdump 记录 node1 的 ethwe0 上接收到的所有流量时,我发现它接收到了其他子网的所有广播数据包。这是 tcpdump 的日志:

总之,我的问题是在我运行路由软件(在本例中为 Olsrd)后,子网没有相互隔离。有没有人有任何想法来处理这个问题?提前致谢