第4回 EIGRPとOSPFをパケットトレーサー で再配布してみた

今まではクラウド中心に記事を書いてましたが、今回はちょっと内容を変えてネットワーク現場でよく見かける定番のルーティングプロトコルの**OSPFとEIGRPの再配布**に関してパケットトレーサーの仮想環境も添えて構築していきます！

##再配布とは？
異なるネットワーク領域に対し、プロトコルの内容を変換して送信する技術です。
大企業では全国にネットワークを構成するためWAN内では**EIGRPやBGP**などのプロトコルを使用し
社内などの中規模LAN内では**OSPF**を使用するなど、一つのプロトコルのみを使用してネットワークを構成するのはほぼ不可能になっています。
そういう時に、LANからWANに向かって**プロトコルの変換**を実現してくれる技術が
**再配布(redistribute)**です。

### OSPF
**Open Shortest Path First**の略語で、RFCで標準化されている
小規模から大規模ネットワーク向けの※**リンクステート型**ルーティングプロトコルです。
IPv4アドレス対応の**OSPFv2**とIPv6アドレス対応の**OSPFv3**の2種類があります。

※**リンクステート型**
どのルータとどのルータが隣接(リンク)しているかという接続情報（リンクステート）を交換し合い、この情報の集合に基づいてどこにパケットを送るかの経路を選択する方式です。

### EIGRP
**Enhanced Interior Gateway Routing Protocol**の略語で
※**ディスタンスべクト型**とリンクステート型の両方の利点を備えた、シスコ独自のルーティングプロトコルです。
もちろんIPv6にも対応しており、名称は**EIGRP for IPv6**と言います。

※**ディスタンスべクタ型**
ネットワーク内でほかのルーターに対してのディスタンス(距離)とベクタ(方向)の要素を加味して最適なルートを選択する方式です。


## パケットトレーサー で実際に環境を作ってみよう
完成図
<img width="650" alt="第4回ブログ完成図.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559536/a247ec6b-ea4e-c604-5324-11c9027928bc.png">

##IPアドレス設定時の注意
ルータは異なるネットワーク (ネットワークアドレスが異なるネットワーク) を接続するものなので、同じネットワーク帯のIPアドレスを**Fa0/1とSe1/0など異なるインターフェイス**に設定することはできません。

RouterA～RouterBの間で**11.0.0.1~11.0.0.254**までのアドレス帯を使用してしまったので、RouterA～PCの間でIPアドレスを設定する際は**11.0.1.1~11.0.1.254**を設定します。

| セグメント|使用可能最小IPアドレス |使用可能最大IPアドレス|
|:-----------------|------------------:|:------------------:|
| RouterA～RouterBの間 |11.0.0.1|11.0.0.254|
| RouterA～PCの間 |11.0.1.1|11.0.1.254|

同じくRouterB～RouterCの間では**192.168.1.1~192.168.1.254**までのアドレス帯を使用してしまったので、RouterC～PCの間でIPアドレスを設定する際は**192.168.11.1~192.168.11.254**までのをアドレスを設定します。

| セグメント|使用可能最小IPアドレス |使用可能最大IPアドレス|
|:-----------------|------------------:|:------------------:|
| RouterB～RouterCの間 |192.168.1.1|192.168.1.254|
| RouterC～PCの間 |192.168.11.1|192.168.11.254|

## 投入コンフィグ

```ruby:RouterA
interface FastEthernet0/1
 ip address 11.0.1.1 255.255.255.0
no shutdown

interface Serial1/0
 ip address 11.0.0.2 255.255.255.0
no shutdown

router eigrp 100　←EIGRPを設定
 network 11.0.0.0
```
```ruby:RouterB
interface Serial1/0
 ip address 192.168.1.1 255.255.255.0
no shutdown

interface Serial1/1
 ip address 11.0.0.1 255.255.255.0
no shutdown

router eigrp 100
 distance eigrp 90 100
 redistribute ospf 2 metric 100000 100 255 1 1500 ←OSPFをRouterAに再配布
 network 11.0.2.0 0.0.0.255
 network 11.0.0.0

router ospf 2
 router-id 3.3.3.3
 log-adjacency-changes
 redistribute eigrp 100 metric-type 1 subnets ←EIGRPをRouterCに再配布
 network 192.0.0.0 0.255.255.255 area 0
```
```ruby:RouterC
interface FastEthernet0/0
 ip address 192.168.11.1 255.255.255.0
no shutdown

interface Serial1/0
 ip address 192.168.1.2 255.255.255.0
no shutdown

router ospf 2　←OSPFの設定
 router-id 2.2.2.2
 log-adjacency-changes
 network 192.0.0.0 0.255.255.255 area 0
```

## コンフィグ設定の結果

```ruby:RouterA
RouterA#show ip route 
C - connected　直接つながっているルーティング
D - EIGRP　EIGRPの設定
EX - EIGRP external
→EIGRPが外部から再配布により外部柄取得した外部エリアのルーティング情報
Gateway of last resort is not set
→デフォルトルートが設定されていないですという意味
 11.0.0.0/24 is subnetted, 2 subnets
C 11.0.0.0 is directly connected, Serial1/0
C 11.0.1.0 is directly connected, FastEthernet0/1
D EX 192.168.1.0/24 [170/20537600] via 11.0.0.1, 00:02:37, Serial1/0
D EX 192.168.11.0/24 [170/20537600] via 11.0.0.1, 00:02:37, Serial1/0
※viaは次に経由するのルーターのアドレス
```

```ruby:RouterB
RouterB#show ip route 
C - connected　直接つながっているルーティング
D - EIGRP　
O - OSPF　OSPFの設定
省略
Gateway of last resort is not set
11.0.0.0/24 is subnetted, 2 subnets
C 11.0.0.0 is directly connected, Serial1/1
D 11.0.1.0 [90/20514560] via 11.0.0.2, 00:03:15, Serial1/1
C 192.168.1.0/24 is directly connected, Serial1/0
O 192.168.11.0/24 [110/65] via 192.168.1.2, 01:06:11, Serial1/0
```

```ruby:RouterC
RouterC#show ip route 
O - OSPF　
E1 - OSPF external type 1　
省略
Gateway of last resort is not set
 11.0.0.0/24 is subnetted, 2 subnets
O E1 11.0.0.0 [110/84] via 192.168.1.1, 00:00:19, Serial1/0
O E1 11.0.1.0 [110/84] via 192.168.1.1, 00:00:19, Serial1/0
C 192.168.1.0/24 is directly connected, Serial1/0
C 192.168.11.0/24 is directly connected, FastEthernet0/0
```

RouterAとCはRouterBを経由して外部の経路情報を受け取ったことがルーティングテーブルに記載されているので構築成功です。

##次回予告
次回は現場で行われた**ペーパーレス化**に関して投稿予定です。