VyOS・富士通 Si-R G200・NEC IX2105を組み合わせて、簡単なOSPFを構築しました。
ネットワーク構成
ネットワークは以下の図のように構築します。エリア分割は行いません。
構築
各ルーターの設定をしていきます。
VyOS
set interfaces ethernet eth0 address '10.0.1.1/24'
set interfaces ethernet eth1 address '10.0.2.1/24'
set interfaces loopback lo address '10.2.10.1/32'
set protocols ospf area 0 network '10.0.1.0/24'
set protocols ospf area 0 network '10.0.2.0/24'
set protocols ospf area 0 network '10.2.10.1/32'
以下のコマンドでOSPFを使用したいインターフェースを指定します。
注意点としては、上のコンフィグで言うとインターフェースの指定には10.0.0.0/8のように、複数のインターフェースを包括するような設定はできません。
set protocols ospf area <エリアID> network <X.X.X.X/X>
IX2105
ip router ospf 1
passive-interface GigaEthernet1.0
area 0
network 10.0.0.0/16 area 0
network Loopback0.0 area 0
!
interface GigaEthernet0.0
ip address 10.0.2.2/24
no shutdown
!
interface GigaEthernet1.0
ip address 10.0.3.1/24
no shutdown
!
interface Loopback0.0
ip address 10.3.10.1/32
!
以下のコマンドででOSPFの設定モードに入ります。
ip router ospf <プロセスID>
以下のコマンドでOSPFを使用するインターフェースを指定します。インターフェースの指定にはIPアドレス・インターフェース名が使えます。IPアドレスで指定する場合は10.0.0.0/16
のようにGE0.0
とGE1.0
を一括で指定できます。
network <X.X.X.X/X | インターフェース名> area <エリアID>
以下のコマンドでOSPFの経路として広告したいが、OSPFパッケットの送受信はしたくないインターフェースをパッシブインターフェースとして設定します。
passive-interface <インターフェース名>
Si-R
ether 1 1 vlan untag 1
ether 2 1 vlan untag 2
lan 0 ip address 10.0.1.2/24 3
lan 0 ip ospf use on 0
lan 0 vlan 1
lan 1 ip address 10.0.4.1/24 3
lan 1 ip ospf use on 0
lan 1 ip ospf passive on
lan 1 vlan 2
ospf ip area 0 id 0.0.0.0
loopback ip address 0 10.1.10.1
loopback ip ospf use on 0
まず以下のコマンドで使用するエリアIDを定義します。エリアIDは入力時はVyOSやIXのように10進数表記で設定できますが、X.X.X.Xの形式で登録されます。
ospf ip area <エリア定義番号> id <エリアID>
以下のコマンドでOSPFを使用するlanを設定します。VyOSやIXとは違い各LAN情報の設定コマンドに含まれています。最後の引数は「エリアID」ではなく上で設定した「エリア定義番号」になります。
lan <lan定義番号> ip ospf use on <エリア定義番号>
パッシブインターフェースの設定は以下のコマンドです。
lan <lan定義番号> ip ospf passive on
動作確認
一通り設定が完了したら動作確認を行っていきます。
ルーティングテーブル
各ルーターのルーティングテーブルは以下のようになりました。ルートが認識できていることが確認できます。いずれの機種もshow ip route
で表示できます。
O 10.0.1.0/24 [110/1] is directly connected, eth0, weight 1, 02:54:13
C>* 10.0.1.0/24 is directly connected, eth0, 03:53:34
O 10.0.2.0/24 [110/1] is directly connected, eth1, weight 1, 02:54:13
C>* 10.0.2.0/24 is directly connected, eth1, 03:53:35
O>* 10.0.3.0/24 [110/2] via 10.0.2.2, eth1, weight 1, 01:01:40
O>* 10.0.4.0/24 [110/2] via 10.0.1.2, eth0, weight 1, 00:52:34
O>* 10.1.10.1/32 [110/2] via 10.0.1.2, eth0, weight 1, 02:21:09
O 10.2.10.1/32 [110/0] is directly connected, lo, weight 1, 02:20:02
C>* 10.2.10.1/32 is directly connected, lo, 04:05:15
O>* 10.3.10.1/32 [110/2] via 10.0.2.2, eth1, weight 1, 00:59:44
10.0.0.0/8 is subnetted, 7 subnets
O 10.0.1.0/24 [110/2] via 10.0.2.1, GigaEthernet0.0, 1:03:19
C 10.0.2.0/24 [0/0] is directly connected, GigaEthernet0.0, 4:30:30
C 10.0.3.0/24 [0/0] is directly connected, GigaEthernet1.0, 1:12:30
O 10.0.4.0/24 [110/3] via 10.0.2.1, GigaEthernet0.0, 0:54:09
O 10.1.10.1/32 [110/3] via 10.0.2.1, GigaEthernet0.0, 1:03:19
O 10.2.10.1/32 [110/1] via 10.0.2.1, GigaEthernet0.0, 1:03:19
C 10.3.10.1/32 [0/0] is directly connected, Loopback0.0, 4:08:04
FP Destination/Mask Gateway Distance UpTime Interface
--- ------------------ --------------- -------- --------- ------------------
*C 10.0.1.0/24 10.0.1.2 0 04:10:55 lan0
*O 10.0.2.0/24 10.0.1.1 110 02:51:06 lan0
*O 10.0.3.0/24 10.0.1.1 110 01:04:59 lan0
*C 10.0.4.0/24 10.0.4.1 0 00:55:53 lan1
*C 10.1.10.1/32 10.1.10.1 0 04:10:55 lo0
*O 10.2.10.1/32 10.0.1.1 110 02:23:16 lan0
*O 10.3.10.1/32 10.0.1.1 110 01:02:58 lan0
疎通確認
PC1 から PC2への疎通確認を行います。
# ping 10.0.4.20
PING 10.0.4.20 (10.0.4.20): 56 data bytes
64 bytes from 10.0.4.20: seq=0 ttl=61 time=3.507 ms
64 bytes from 10.0.4.20: seq=1 ttl=61 time=1.111 ms
64 bytes from 10.0.4.20: seq=2 ttl=61 time=1.236 ms
pingが通ることが確認できます。
traceroute
# traceroute -n 10.0.4.20
traceroute to 10.0.4.20 (10.0.4.20), 30 hops max, 46 byte packets
1 10.0.3.1 0.542 ms 0.331 ms 0.318 ms
2 10.0.2.1 0.594 ms 0.347 ms 0.326 ms
3 10.0.1.2 0.769 ms 0.491 ms 0.493 ms
4 10.0.4.20 0.872 ms 0.782 ms 0.691 ms
OSPFを設定したルーターでルーティングすることができました!