NDN路由--OSPFN安装与配置
现在的IP网络的问题已经暴露的很多了,各种改进的网络架构与设想非常多,但其中以基于内容为中心的网络发展最为迅速,其中,NDN的架构最为完整,代码也比较成熟。OSPFN是基于CCNX的,所以之前要安装CCNX,简单的./configure make make install 就可以安装完成,自带很多例子可以跑跑。接下来安装OSPFN,由于还要配置,所以把过程记录在下面。
1.OSPFN安装
首先新建一个用户,并在/usr/local/etc下建两个目录:
$ sudo useradd quagga
$ cd /usr/local/etc/
$ sudo mkdir quagga
$ sudo chown quagga:quagga quagga
$ sudo chmod 775 quagga
$ sudo mkdir quagga-state
$ sudo chown quagga:quagga quagga-state
$ sudo chmod 775 quagga-state
之后,运行./configure,这里要注意,ubuntu12.04下,/var/run路径每次重启里面新建的quagga-state文件夹会消失,费了好长时间才发现这个问题,修改的./configure如下:
./configure --enable-opaque-lsa --disable-ipv6 --disable-ripd --disable-ripngd --disable-ospf6d --disable-bgpd --disable-bgp-announce --sysconfdir=/usr/local/etc/quagga --localstatedir=/usr/local/etc/quagga-state
然后,执行make 和install:
make
make install
至此,OSPFN安装完毕。
2.OSPFN配置
首先要得到GRE隧道的IP,由于没有加入到他们的testbed中,所以自己设置一个就好了。
Public IP: 141.225.11.150 Public IP:150.135.82.77
________________________ 10.0.1.10 10.0.1.9 ___________________
|netlogic.cs.memphis.edu |___________________|hobo.cs.arizona.edu|
------------------------ -------------------
上图是官网配的图,NDN testbed使用的是10.x.x.x的私有IP地址,因为没有加入进去,所以就还使用它们就好了。Public IP就是本机的IP,由于本地路由器,IP也是10.x.x.x的。。。但还是可以区分出来的~
sudo modprobe ip_gre
之后,在/etc/network/interfaces文件中添加如下:
auto lo
iface lo inet loopback auto netlogic
iface netlogic inet static
address 10.0.1.9
netmask 255.255.255.0
broadcast 10.0.1.255
up ifconfig netlogic multicast
pre-up iptunnel add netlogic mode gre local 10.0.0.104 remote 10.0.0.108 ttl 255
pointopoint 10.0.1.10
post-down iptunnel del netlogic
这里,本机IP是10.0.0.104,另一台机子IP是10.0.0.108,相应的两个隧道IP是10.0.1.9和10.0.1.10。现在ifconfig一下:
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:134812 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:134812 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:7722612 (7.7 MB) 发送字节:7722612 (7.7 MB) netlogic Link encap:未指定 硬件地址 C0-A8-00-66-30-30-30-30-00-00-00-00-00-00-00-00
inet 地址:10.0.0.10 点对点:10.0.0.9 掩码:255.255.255.255
inet6 地址: fe80::5efe:c0a8:66/64 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1476 跃点数:1
接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:0 错误:20 丢弃:0 过载:0 载波:20
碰撞:0 发送队列长度:0
接收字节:0 (0.0 B) 发送字节:0 (0.0 B) wlan0 Link encap:以太网 硬件地址 00:1f:3a:28:df:41
inet 地址:10.0.0.104 广播:10.0.0.255 掩码:255.255.255.0
inet6 地址: fe80::21f:3aff:fe28:df41/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:715225 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:474374 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:785890455 (785.8 MB) 发送字节:60896981 (60.8 MB)
发现有了netlogic。然后配置ospfd.conf文件。内容如下:
hostname netlogic_kl
password pwd
enable password pwd
log file /var/log/quagga/ospfd.log
!
!
!
interface netlogic
description link to netlogic_zero
!
access-list ospfn permit 10.0.0.0/8
access-list ospfn deny any
!
router ospf
ospf router-id 10.0.0.104
redistribute connected
distribute-list ospfn out connected
network 10.0.1.8/30 area 0.0.0.0
capability opaque
!
line vty
!
!end of configuration file hereog stdout
这个基本上就是官方文档的例子,只是把IP给改成相应的IP。
最后就是最关键的ospfn.conf文件。这个官网的说明文档中没有详细说明,我就把它放在/usr/local/etc/quagga目录下,经测试完全可用。目前OSPFN支持两个命令:ccnname和logdir。说明如下:
1. ccnname name_prefix op_id name_prefix : a name prefix, in URI format, to be advertised by this router.
op_id : the desired ID for this name LSA. The op_id must be unique among
the name prefixes advertised by the same router. 2. logdir dir dir : directory to write log files to
我的ospfn.conf内容如下:
ccnname /ndn/ustc.edu/1318/ 1
ccnname /ndn/ustc.edu/1316/ 2
logdir /usr/local/etc/
最后,开启应用:
$ sudo zebra -d $ sudo ospfd -d -a $ ccndstart $ ospfn
截图如下:
在/usr/local/etc里生成了log,log内容如下:
20130814220419:Connecting to OSPF daemon ............
20130814220419:Connection to OSPF established.
20130814220419:ccnname /ndn/ustc.edu/1318/ 1
20130814220419: OpaqueData:19/ndn/ustc.edu/1318/|||
20130814220419:Originating/updating LSA with counter=0...
20130814220419:done, return code is -7
20130814220419:ccnname /ndn/ustc.edu/1316/ 2
20130814220419: OpaqueData:19/ndn/ustc.edu/1316/|||
20130814220419:Originating/updating LSA with counter=1...
20130814220419:done, return code is -7
20130814220419:logdir /usr/local/etc/
20130814220419:lsa_read called
20130814220419:lsa_update_callback:
20130814220419:ifaddr: 0.0.0.0
20130814220419:area: 0.0.0.0
20130814220419:is_self_origin: 1
20130814220419: LSA Header
20130814220419: LS age 0
20130814220419: Options 2 (*|-|-|-|-|-|E|*)
20130814220419: LS type 1 (router-LSA)
20130814220419: Link State ID 10.0.0.104
20130814220419: Advertising Router 10.0.0.104
20130814220419: LS sequence number 0x80000001
20130814220419: LS checksum 0xd577
20130814220419: length 36
20130814220419: Router-LSA
20130814220419: # links 1
20130814220419: Link ID 10.0.1.10
20130814220419: Link Data 255.255.255.255
20130814220419: Type 3
20130814220419: TOS 0
20130814220419: metric 10
20130814220419:lsa_read called
20130814220419:lsa_update_callback:
20130814220419:ifaddr: 0.0.0.0
20130814220419:area: 0.0.0.0
20130814220419:is_self_origin: 1
20130814220419: LSA Header
20130814220419: LS age 0
20130814220419: Options 2 (*|-|-|-|-|-|E|*)
20130814220419: LS type 5 (AS-external-LSA)
20130814220419: Link State ID 10.0.0.0
20130814220419: Advertising Router 10.0.0.104
20130814220419: LS sequence number 0x80000002
20130814220419: LS checksum 0x5ae6
20130814220419: length 36
20130814220419:lsa_read called
20130814220419:lsa_update_callback:
20130814220419:ifaddr: 0.0.0.0
20130814220419:area: 0.0.0.0
20130814220419:is_self_origin: 1
20130814220419: LSA Header
20130814220419: LS age 0
20130814220419: Options 2 (*|-|-|-|-|-|E|*)
20130814220419: LS type 5 (AS-external-LSA)
20130814220419: Link State ID 10.0.1.10
20130814220419: Advertising Router 10.0.0.104
20130814220419: LS sequence number 0x80000002
20130814220419: LS checksum 0xea4b
20130814220419: length 36
转载请注明:转自:http://blog.csdn.net/littlethunder/article/details/9971469
NDN路由--OSPFN安装与配置的更多相关文章
- PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...
- FreeBSD从零开始---安装后配置(二)
系统优化及安全设置 上次说了FreeBSD基本的软件安装和配置,接下来会说系统的详细配置和安全性设置 一.系统优化设置 1.网络相关设置 网卡和IP地址设置: 如果在安装时没有设置IP ...
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- Centos6.5 Openvpn的安装与配置
一.安装准备 ? 1 2 yum -y install openssl-devel openssl yum -y install gcc gcc-c++ 二.OpenVPN服务端安装过程1.lzo下载 ...
- [转]OpenVPN 安装与配置
一.服务器端安装及配置 服务器环境:干净的CentOS6.3 64位系统 内网IP:10.143.80.116 外网IP:203.195.xxx.xxx OpenVPN版本:OpenVPN 2.3.2 ...
- ArchLinux安装与配置小结
最近无意间发现一个基于ArchLinux的发行版--BlackArch,主题十分炫酷(中二).当然渗透类的Linux 发行版已经有BackTrack和Kali了,不过都是源于Debian的,使用者众多 ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- Sharepoint 2013 安装部署系列篇 第三篇 -- 安装和配置网络负载均衡在前端web服务器
第一部分 系统集群安装 第二部分 SQL集群安装 第四部分 安装和配置sharepoint 场(三层拓扑部署) 接下来一步一步开始配置NLB吧, 以下开始讲解如何配置NLB集群作为sharepoint ...
- Asterisk 安装与配置
如果用来管理 1.4 版本的 Asterisk ,可能会存在未知的问题.通过集成 CentOS . Asterisk 和 FreePBX , Fonality 公司提供了一个完全傻瓜式的 Asteri ...
随机推荐
- SGU 148.B-Station
时间限制:0.25s 空间限制:4M 题目 在离著名的国家Berland不远的地方,有一个水下工作站.这个工作站有N层.已知:是第层装有Wi的水,最多可以容纳Li的水,恐怖分子炸毁第i的代价是Pi. ...
- Java多线程:Semaphore
Semaphore为并发包中提供用于控制某资源同时可以被几个线程访问的类 实例代码: // 允许2个线程同时访问 final Semaphore semaphore = new Semaphore(2 ...
- 『重构--改善既有代码的设计』读书笔记----Inline Class
如果某个类没有做太多的事情,你可以将这个类的所有特性搬移到另外一个类中,然后删除原类.可以看到,Inline Class正好和Extract Class相反,后者是将一个巨类分解成多个小类从而来分担责 ...
- 网页main中左边固定宽度,右边自适应。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 固定DIV样式
<!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- 【Linux】常用命令
一.文件结构 /: 根目录 /bin: 系统所需要的那些命令位于此目录. /boot: Linux的内核及引导系统程序所需要的文件目录,GRUB或LILO系统引导管理器也 ...
- 那些年被我坑过的Python——一夫当关 第十三章(堡垒机初步设计)
堡垒机架构 堡垒机的主要作用权限控制和用户行为审计,堡垒机就像一个城堡的大门,城堡里的所有建筑就是你不同的业务系统 , 每个想进入城堡的人都必须经过城堡大门并经过大门守卫的授权,每个进入城堡的人必 ...
- C++例题2:汉诺塔问题
#include<iostream>#include<stdlib.h>using namespace std;void Hanoi(int n,char A,char B,c ...
- 我的HttpClients工具
import java.io.IOException; import javax.ws.rs.core.MediaType; import org.apache.commons.httpclient. ...
- AES加密跨平台出现的问题
javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.provider.S ...