本文主要以通过N2N组二层网并在其上运行OSPF动态路由,最终效果使得运行N2N的各个节点下的子网可以经路由实现互通。
Chapter 0: 这个运行N2N的节点均为OpenWRT设备,因为OpenWRT官方源已经没有N2N软件了,所以先基于N2N 2.8的源代码编译了N2N for OpenWRT, 交叉编译的Makefile以及预编译的ipk安装包可以在此下载: Github hiplon/openwrt-n2n-latest
Chapter 1:
N2N的配置比较简单,Supernode部分以及Edge的基础部分可以参考 Github ntop/n2n ,不过由于此次需要经过N2N的虚拟网络作数据包的转发以及动态路由,所以需要启动Enable packet forwarding功能以及Accept multicast MAC addresses,具体可以参考以下配置文件:
cat /etc/n2n/edge.conf
-d=n2ntun0
-c=myn2nnetwork
-k=mysecret
-a=10.1.0.5
-f
-r # Enable packet forwarding 【启用N2N包转发需要】
-E # Accept multicast MAC addresses 【启用动态路由需要】
-l=supernode.ntop.org:7777
Chapter 2:
配置OSPF动态路由:
配置OSPF动态路由的拓扑可以参考我之前关于Zerotier + RIP的文章
安装quagga-ospfd
编辑ospf路由(以其中一个节点为例) /etc/quagga/ospfd.conf
password zebra
!
interface br-lan
!
interface n2ntun0
!
router ospf
ospf router-id 10.1.0.5
network 192.168.14.0/24 area 0.0.0.2
network 10.1.0.0/24 area 0.0.0.0
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
access-class vty
然后重启quagga进程 /etc/init.d/quagga restart
发布于: Thursday 10 December 2020 分享至微博
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。