记录一下,免得以后忘记怎么做

开局先来一首歌

假设我们有以下拓扑:

第一步呢就是给我们所有的Router设定IP地址:

R1:

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip addr 192.168.0.1 24
[R1-GigabitEthernet0/0/0]int loopback0
[R1-LoopBack0]ip addr 11.1.1.1 24

R2:

[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip addr 192.168.0.2 24
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip addr 192.168.1.1 24
[R2-GigabitEthernet0/0/0]int loopback0
[R2-LoopBack0]ip addr 22.2.2.2 24

R3:

[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip addr 192.168.1.2 24
[R3-GigabitEthernet0/0/1]int loopback0
[R3-LoopBack0]ip addr 33.3.3.3 24

设定完各个interface的ip位址之后,就可以开始设定OSPF了!
先把所有router退回到system-view

R1:

[R1]ospf router-id 11.1.1.1  #设定router-id
[R1-ospf-1]area 0            #设定区域,这儿是区域0
[R1-ospf-1-area-0.0.0.0]network 11.1.1.0 0.0.0.255    #宣告网路
[R1-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255

R2:

[R2-LoopBack0]ospf router-id 22.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 22.2.2.0 0.0.0.255

R3:

[R3]ospf router-id 33.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 33.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]

那这样大概就搞完了一个最原始的OSPF,
查看一下路由表看看是不是生效了:

R1的路由表:

[R1-ospf-1-area-0.0.0.0]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 3        Routes : 3        

OSPF routing table status : <Active>
         Destinations : 3        Routes : 3

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       22.2.2.2/32  OSPF    10   1           D   192.168.0.2     GigabitEthernet0/0/0
       33.3.3.3/32  OSPF    10   2           D   192.168.0.2     GigabitEthernet0/0/0
    192.168.1.0/24  OSPF    10   2           D   192.168.0.2     GigabitEthernet0/0/0

OSPF routing table status : <Inactive>
         Destinations : 0        Routes : 0

[R1-ospf-1-area-0.0.0.0]

R2的路由表:

[R2-ospf-1-area-0.0.0.0]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 2        Routes : 2        

OSPF routing table status : <Active>
         Destinations : 2        Routes : 2

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       11.1.1.1/32  OSPF    10   1           D   192.168.0.1     GigabitEthernet0/0/1
       33.3.3.3/32  OSPF    10   1           D   192.168.1.2     GigabitEthernet0/0/0

OSPF routing table status : <Inactive>
         Destinations : 0        Routes : 0

[R2-ospf-1-area-0.0.0.0]

R3的路由表:

[R3-ospf-1-area-0.0.0.0]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 3        Routes : 3        

OSPF routing table status : <Active>
         Destinations : 3        Routes : 3

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       11.1.1.1/32  OSPF    10   2           D   192.168.1.1     GigabitEthernet0/0/1
       22.2.2.2/32  OSPF    10   1           D   192.168.1.1     GigabitEthernet0/0/1
    192.168.0.0/24  OSPF    10   2           D   192.168.1.1     GigabitEthernet0/0/1

OSPF routing table status : <Inactive>
         Destinations : 0        Routes : 0

[R3-ospf-1-area-0.0.0.0]

这样子就应该通了,不信的话可以试试看从11.1.1.1tracert到33.3.3.3看看

[R1-LoopBack0]tracert 33.3.3.3

 traceroute to  33.3.3.3(33.3.3.3), max hops: 30 ,packet length: 40,press CTRL_C to break 

 1 192.168.0.2 70 ms  60 ms  60 ms 
 2 192.168.1.2 130 ms  60 ms  90 ms 
[R1-LoopBack0]

看,这不就通了吗?

So, what is OSPF?
这个问题就不说了,请看-> 开放式最短路径优先
说一下设定时候的坑:

1、设定ospf的时候如果可以的话要尽量手动分配一个router-id
虽然就算不设定大都会自动分配一个就是了
但是据说手动分配一个的话会运行得稳一点(师兄说的)

2、区域一定要好好设定啦,比如现在用的是area-0
如果区域不对的话ospf报文是不会被接受的

3、宣告网路的话就是先把router-id和区域什么的都设定好之后,
network <网络号> <反掩码>,是反掩码噢!!!
比如我要宣告192.168.0.1-255/24这一段的话,就是network 192.168.0.0 0.0.0.255
相反比如说我只想精准宣告192.168.114.514/24这一个IP位址的话,
就是network 192.168.114.514 0.0.0.0 (迷惑发言 不管了反正就是这样就对了
如果还想再详细一点的话,大概可以这样子理解↓
把IP位址和掩码转成二进制的话,就是这样子的

IP(DEC)            IP(BIN)                               MASK(BIN)
192.168.1.1/24     11000000.10101000.00000001.00000001   11111111.11111111.11111111.00000000
192.168.1.9/24     11000000.10101000.00000001.00001001   11111111.11111111.11111111.00000000
192.168.254.9/24   11000000.10101000.11111110.00001001   11111111.11111111.11111111.00000000

把IP地址和掩码打竖排起来看就是这样子的:

11111111.11111111.11111111|.00000000  255.255.255.0
11000000.10101000.00000001|.00000001  192.168.1.1/24
11000000.10101000.00000001|.00001001  192.168.1.9/24
11000000.10101000.11111110|.00001001  192.168.254.9/24

我想表达的意思是mask的1有多少位后面的IP地址的前多少位是一样的话那他们就是在用一个段里
嗯就是这样的意思
然后就照着宣告就对了(。