下面举例如何配置一个简单的OSPF网络,我们假设以下网络:

例如网络包含3台路由器,并连接到10.10.1.0/24的网络里,每个路由器都添加了一个从属网段
IP地址配置如下,路由器R1:
[admin@MikroTikR1]/ip address add address=10.10.1.1/24 interface=ether1
[admin@MikroTikR1]/ip address add address=10.10.1.11/24 interface=ether2
[admin@MikroTikR1]/ip address add address=210.13.1.0/28 interface=ether3
路由器R2
[admin@MikroTikR2]/ip address add address=10.10.1.2/24 interface=ether1
[admin@MikroTikR2]/ip address add address=10.10.1.12/24 interface=ether2
[admin@MikroTikR2]/ip address add address=172.16.1.0/16 interface=ether3
路由器R3
[admin@MikroTikR3]/ip address add address=10.10.1.3 /24 interface=ether1
[admin@MikroTikR3]/ip address add address=10.10.1.13/24 interface=ether2
[admin@MikroTikR3]/ip address add address=192.168.1.0/24 interface=ether3
这里有3个OSPF配置的基本要素:
· 启用OSPF instance
· OSPF区域配置
· OSPF网络配置
基本信息配置在/routing ospf instance菜单下。对于高级的OSPF设置,需要运行多个OSPF instances,默认的instance配置是可以的,我只需要启用默认instance
R1:
[admin@MikroTikR1] /routing ospf instance> add name=default
R2:
[admin@MikroTikR2] /routing ospf instance> add name=default
R3:
[admin@MikroTikR3] /routing ospf instance> add name=default
显示OSPF instance信息:
[admin@MikroTikR1] /routing ospf instance> print
Flags: X - disabled
0 name="default" router-id=0.0.0.0 distribute-default=never
redistribute-connected=as-type-1 redistribute-static=as-type-1
redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no
metric-default=1 metric-connected=20 metric-static=20 metric-rip=20
metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in
out-filter=ospf-out
如同你看到的router-id是0.0.0.0,意思是路由器将使用其中一个路由器IP地址作为router-id。在大多事例中建议设置loopback(回路) IP地址作为router-id。Loopback IP地址是虚拟的,软件地址被用于网络识别,最大的好处是loopback地址总是存在且活动的,不会因为物理网卡连接断开而失效。 OSPF协议将它应用在路由器通信中,通过router-id识别路由器。Loopback接口配置如下:
创建一个bridge借口,并取名为“loopback”:
[admin@MikroTikR1] /interface bridge> add name=loopback
添加ip地址:
[admin@MikroTikR1] > ip address add address=10.255.255.1/32 interface=loopback
配置router-id:
[admin@MikroTikR1] /routing ospf instance> set 0 router-id=10.255.255.1
这个配置可以用于其它路由器R2和R3
下一步配置OSPF Area
注意:记住backbone area-id总是0.0.0.0
最后一步添加OSPF的network到对应的area
R1:
[admin@MikroTikR1] /routing ospf network> add network=210.13.1.0/28 area=backbone
[admin@MikroTikR1] /routing ospf network> add network=10.10.1.0/30 area=backbone
[admin@MikroTikR1] /routing ospf network> add network=10.10.1.4/30 area=backbone
你可以规划网段,通过设置相应的子网掩码,例如分配10.10.1.0/30, 10.10.1.4/30, 10.10.1.8/30的网段,可以规定OSPF路由的范围,你也可以这样设置OSPF的子网:
[admin@MikroTikR1] /routing ospf network> add network=10.10.1.0/'''24''' area=backbone
R2:
[admin@MikroTikR2] /routing ospf network> add network=172.16.1.0/16 area=backbone
[admin@MikroTikR2] /routing ospf network> add network=10.10.1.0/24 area=backbone
R3:
[admin@MikroTikR3] /routing ospf network> add network=192.168.1.0/24 area=backbone
[admin@MikroTikR3] /routing ospf network> add network=10.10.1.0/24 area=backbone
你可以核实你的OSPF操作是否生效:
- 查看OSPF interface菜单,确定动态项目已经被创建:
[admin@MikroTikR1] /routing ospf interface> print
- 检查你的OSPF neighbors,DR和BDR被选举
[admin@MikroTikR1] /routing ospf neighbor> print
- 创建路由器的路由表(确定OSPF路由存在,注意看前缀):
[admin@MikroTik_CE1] > ip route print