5.7. IrDA 网络邻居

5.7.1. 笔记本电脑-打印机-PDA

您可以稍微了解一下 拖放内容,这样您就可以将文件拖放到您的 PDA(使用 IrOBEX)或将文件拖放到您的打印机(使用 IrLPT)等。

5.7.2. 桥接/路由

James 写道:“... 有一种更好的桥接方式,那就是路由。这完全是用户态的,不需要任何内核补丁。但是 IrLAN 协议不再由 Linux/IrDA 核心团队维护。”

它分为两个部分(您可能只需要其中一部分,您的里程可能会有所不同...)第一部分称为 irdaipcfg,它执行以下操作

1) 第一部分以 irdaipcfg ifeth ifirlan 守护进程方式执行,然后在 ifirlan 上查找 ARP 数据包,检查 arp 是否不是由其运行的机器生成的。arp 包含 irlan 另一端机器的 ip 地址(它是由 irlan 代码中的免费 arp 生成的)。然后,该程序通过 ifirlan 设置到此 ip 地址的主机路由,为其添加到 ifeth 的代理 arp,并在 ifeth 上生成免费 arp。它将客户端的 ip 地址写入 /var/run/host.ifirlan,以便您可以轻松地从脚本中撤消所有这些操作。

2) 第二部分以 gratarp ifirlan 执行。有时免费 arp 似乎在管道工作中丢失了,gratarp 守护进程化并喷出大量的 arp...

我按如下方式使用它们:(您可以使用它们来做任何您喜欢的事情)

在我的主机(连接到我的本地网络的机器)上,irlanx 通过我的 ifup 脚本从 /etc/irda/network 通过 irattach 以 10.192.0.1 启动,子网掩码为 255.255.255.255,广播地址为 10.192.0.1。然后 /etc/irda/network 运行 irdaipcfg eth0 irlanx,这会进行路由。

从 /etc/irda/network

"start")
    echo 1 >/proc/sys/net/ipv4/conf/all/forwarding
    ./ifup ifcfg-${device}
    /sbin/irdaipcfg ${localnet} ${device}
    ;;
"stop")
    host=`cat /var/run/host.${device}`
    if [ .$host != . ]; then
      /sbin/arp -d ${host} dev ${localnet}
      /sbin/route delete ${host} dev ${device}
    fi
    ./ifdown ifcfg-${device}
    /sbin/ifconfig ${device} down
    ;;
在客户端上,我将 IrLAN 设置为使用我的普通子网 10.32.32.51 上的地址,但子网掩码为 255.255.255.255(不是我常用的子网掩码)。我有一些静态路由,即主机 10.192.0.1 dev irlan 和网络默认网关 10.192.0.1 dev irlan。我从 /etc/irda/network 运行 gratarp,我可以漫步在我的房子周围而不会丢失 telnet 和 ssh 会话……”

5.7.3. IPv6

据我所知,IPv6 具有邻居发现机制,但我没有关于 Linux/IrDA 与 IPv6 一起使用的信息。请参阅邮件列表存档,了解主题为“patch-2.2.7-ac1-irda4”的讨论。

5.7.4. DHCP

我收到报告称可以使用 dhcpcd 与 IrLAN。请使用最新的 DHCP 软件。但目前 IrLAN 协议不再由 Linux/IrDA 核心团队维护。