IP Unnumbered 接続について

PPPoE 方式で払い出される IP アドレスについて、 IP Unnumbered 方式があります。
元はシリアル回線で WAN 側接続にグローバル IP アドレスの払い出しをせず、
CPE(Customer Premises Equipment) 側でグローバル IP アドレスの消費を抑えることができます。
メリットだけ書くとこいつの動作原理がよくわからないと思うので対向ルータ側でも Unnumberd 設定とします。
そうするとルータ間が仮想的に 1 つのルータと同じように扱えるということで、3 つのネットワークが 2 つのネットワークに見えるわけですね。
つまり直接接続ルートとして見えるので双方でスタティックルートを設定すればインターネットに行けるというわけです。

でも私の手元の GNS3 で PoC したらルーティングテーブルに対向ルータのネットワークが見えなかった。
ip route しようにもインターフェースに IP があたってないのでできないかなあと思ったけどシリアル接続であればインターフェース指定の静的ルートも設定できるのを忘れていた。

そういや、当時は IP Unnumbered どうやって設定するのかわからずに涙目になりながらぐぐりまくってたなあ。

Topology

PoC with GNS3 2.1

R1

int f0/0
 ip address 192.168.1.1 255.255.255.0
int s0/0
 ip unnumbered FastEthernet0/0

R2

int f0/0
 ip address 192.168.2.1 255.255.255.0
int s0/0
 ip unnumbered FastEthernet0/0

この時点でのルーティングテーブル

R1

R1#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/0

R2

R2#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.2.0/24 is directly connected, FastEthernet0/0

直接接続ルートしか表示されていないことがわかる。

R1

ip route 192.168.2.0 255.255.255.0 Serial0/0

R2

ip route 192.168.1.0 255.255.255.0 Serial0/0

上記ルーティング設定突っ込んだ後のルーティングテーブル

R1#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/0
S    192.168.2.0/24 is directly connected, Serial0/0
R2#sh ip ro
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

S    192.168.1.0/24 is directly connected, Serial0/0
C    192.168.2.0/24 is directly connected, FastEthernet0/0

ping は通る

R1#ping 192.168.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 8/16/36 ms

PoC with Actual(実機)

アクセススイッチを VPC に見立てる。

ASW1

int vlan 1
ip address 192.168.1.2 255.255.255.0
exit
ip default-gateway 192.168.1.1

ASW2

int vlan 1
ip address 192.168.2.2 255.255.255.0
exit
ip default-gateway 192.168.2.1

R1, R2 間はバックツーバック接続のため、まず DCE, DTE を見極める必要がある。
まあ、ケーブルに思いっきり DCE, DTE って書いてあるからわかるんだけどね。。

R1#sh controllers s0/0/0
Interface Serial0/0/0
Hardware is GT96K
DCE V.35, clock rate 2000000
idb at 0x66C0E020, driver data structure at 0x66C1583C
wic_info 0x66C15E68
Physical Port 0, SCC Num 0
MPSC Registers:
MMCR_L=0x00030400, MMCR_H=0x00000000, MPCR=0x00000000
CHR1=0x00FE007E, CHR2=0x00000000, CHR3=0x0000064A, CHR4=0x00000000
CHR5=0x00000000, CHR6=0x00000000, CHR7=0x00000000, CHR8=0x00000000
CHR9=0x00000000, CHR10=0x00002003
SDMA Registers:
SDC=0x00002201, SDCM=0x00000000, SGC=0x0000C000
CRDP=0x161D2CC0, CTDP=0x161D2F00, FTDB=0x161D2F00
Main Routing Register=0x0003FFF8 BRG Conf Register=0x00490013
Rx Clk Routing Register=0x76543218 Tx Clk Routing Register=0x76543210
GPP Registers:
Conf=0x430002  , Io=0x464050  , Data=0x7F57FFA9, Level=0x80004
Conf0=0x430002  , Io0=0x464050  , Data0=0x7F57FFA9, Level0=0x80004
0 input aborts on receiving flag sequence
0 throttles, 0 enables
0 overruns
R2#sh controllers s0/0/0
Interface Serial0/0/0
Hardware is GT96K
DTE V.35 clocks stopped.
idb at 0x66BF7960, driver data structure at 0x66BFF17C
wic_info 0x66BFF7A8
Physical Port 0, SCC Num 0
MPSC Registers:
MMCR_L=0x00030400, MMCR_H=0x00000000, MPCR=0x00000000
CHR1=0x00FE007E, CHR2=0x80000000, CHR3=0x0000064A, CHR4=0x00000000
CHR5=0x00000000, CHR6=0x00000000, CHR7=0x00000000, CHR8=0x00000000
CHR9=0x00000000, CHR10=0x00002003
SDMA Registers:
SDC=0x00002201, SDCM=0x00000000, SGC=0x0000C000
CRDP=0x15BDD060, CTDP=0x15BDD2A0, FTDB=0x15BDD2A0
Main Routing Register=0x0003FFF8 BRG Conf Register=0x00480000
Rx Clk Routing Register=0x76543218 Tx Clk Routing Register=0x76543219
GPP Registers:
Conf=0x30002   , Io=0x64050   , Data=0x7F1FFFAD, Level=0x0
Conf0=0x30002   , Io0=0x64050   , Data0=0x7F1FFFAD, Level0=0x0
0 input aborts on receiving flag sequence
0 throttles, 0 enables
0 overruns

DCE 側のR1にクロックレートを供給する設定を入れてやる。

R1

int f0/0
ip address 192.168.1.1 255.255.255.0
no shut
int s0/0/0
clock rate 64000
ip unnumbered FastEthernet0/0
no shut

R2

int f0/0
ip address 192.168.2.1 255.255.255.0
no shut
int s0/0/0
ip unnumbered FastEthernet0/0
no shut

現時点でのインタフェースの状態とルーティングテーブルを確認する。

R1#sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.1.1     YES manual up                    up
FastEthernet0/1            unassigned      YES NVRAM  administratively down down
Serial0/0/0                192.168.1.1     YES TFTP   up                    up
R2#sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.2.1     YES manual up                    up
FastEthernet0/1            unassigned      YES NVRAM  administratively down down
Serial0/0/0                192.168.2.1     YES TFTP   up                    up
R1#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, FastEthernet0/0
L        192.168.1.1/32 is directly connected, FastEthernet0/0
R2#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.2.0/24 is directly connected, FastEthernet0/0
L        192.168.2.1/32 is directly connected, FastEthernet0/0

ルーティングを追加する。

R1

ip route 192.168.2.0 255.255.255.0 s0/0/0

R2

ip route 192.168.1.0 255.255.255.0 s0/0/0
R1#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, FastEthernet0/0
L        192.168.1.1/32 is directly connected, FastEthernet0/0
S     192.168.2.0/24 is directly connected, Serial0/0/0
R2#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

S     192.168.1.0/24 is directly connected, Serial0/0/0
      192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.2.0/24 is directly connected, FastEthernet0/0
L        192.168.2.1/32 is directly connected, FastEthernet0/0

直接接続ルートとして認識されている。

エンドツーエンドで疎通確認

ASW1#ping 192.168.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 25/31/34 ms
ASW2#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 25/30/34 ms

OK!!

まとめ

PPPoE であれば Dialer インタフェース、 pp インタフェースを指定すればいいんじゃないかな。
当然ですが、 VyOS(Vyatta) でもできましたし、 YAMAHA ルータでもできます。

References

ネットワークエンジニアとしてのサイトにはいつもわかりやすい説明で助けられています。
しかも用語の違いをちゃんと説明してくださっているので。

  1. unnumbered(アンナンバード)とは

IPv6

  1. 対応ページ: pp.440-473
  2. 対応試験: CCNPv2.0 Routing and Switching 300-101J ROUTE
  3. カテゴリ: IPv6
  4. サブカテゴリ: なし
  5. IOS: c3725-adventerprisek9-mz.124-15.T14.bin
  6. Cisco ISR 1841, IOS: c1841-adventerprisek9-mz.151-4.M10.bin

グローバルユニキャストアドレス 2000::/3
ユニークローカルユニキャストアドレス FC00::/7 Effectively FD00::/8
リンクローカルユニキャストアドレス FE80::/10

インターフェイスID

EUI-64
64bit Extended Unique Identifier

MACアドレス(EUI-48)

U/L(Universal/Local) ビット

匿名アドレス(一時アドレス) RFC3041
RFC 3041 – Privacy Extensions for Stateless Address Autoconfiguration in IPv6

マルチキャストアドレス

FF00::/8

エニーキャストアドレス

最も近いノードとの通信。

IPv6 ルート集約

IPv6 アドレスの割り当て

手動設定

ステートレスアドレス自動設定(オートコンフィギュレーション)

RFC2462

ネットワークに接続するとルータからプレフィックスが通知される。

近隣探索プロトコル(NDP; Neighbor Discovery Protocol) を使用する。
RS/RA

Router Solicitation

Router Advertisement

主要なプロトコル

ICMPv6

RFC2463
RFC2470
RFC2461

近隣探索プロトコル(NDP)

Neighbor Discovery Protocol

RFC4861

Router Solicitation(RS)
Router Advertisement(RA)

Neighbor Solicitation(NS)
Neighbor Advertisement(NA)

要請ノードマルチキャストアドレスへの参加義務

R1(config)#do sh run | i ipv6
ipv6 unicast-routing
ipv6 cef
R1(config)#ipv6 unicast-routing
R3#sh run | i ipv6
no ipv6 cef
R2(config)#ipv6 unicast-routing
en
conf t
int f0/0
no shut
int f0/1
no shut
end


en
conf t
int f0/0
no shut
end

en
conf t
int f0/0
no shut
end

en
conf t
int f0
no shut
end

en
conf t
int f0
no shut
end

IPv6 の有効化

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ipv
R1(config)#ipv6 unica
R1(config)#ipv6 unicast-routing
R1(config)#int f0/0
R1(config-if)#ipv
R1(config-if)#ipv6 ena
R1(config-if)#ipv6 enable
R1(config-if)#do sh ipv
% Ambiguous command:  "do sh ipv"
R1(config-if)#do sh ipv6 int
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::21B:2AFF:FE77:66D2
  No Virtual link-local address(es):
  No global unicast address is configured
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FF77:66D2
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds (using 30000)
  ND advertised reachable time is 0 (unspecified)
  ND advertised retransmit interval is 0 (unspecified)
  ND router advertisements are sent every 200 seconds
  ND router advertisements live for 1800 seconds
  ND advertised default router preference is Medium
  Hosts use stateless autoconfig for addresses.

グローバルユニキャストアドレスの設定

R1(config-if)#ipv6 address 2001:1:1:1::/64 eui-64
R1(config-if)#do sh ipv6 int
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::21B:2AFF:FE77:66D2
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:1:1:1:21B:2AFF:FE77:66D2, subnet is 2001:1:1:1::/64 [EUI]
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FF77:66D2
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds (using 30000)
  ND advertised reachable time is 0 (unspecified)
  ND advertised retransmit interval is 0 (unspecified)
  ND router advertisements are sent every 200 seconds
  ND router advertisements live for 1800 seconds
  ND advertised default router preference is Medium
  Hosts use stateless autoconfig for addresses.

リンクローカルアドレスをわかりやすいアドレスに変更する。

f0/0 において FE80::1 としよう。

R1(config-if)#ipv6 address FE80::1 link-local
R1(config-if)#do sh ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::1
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:1:1:1::1, subnet is 2001:1:1:1::/64 [EUI]
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FF00:1
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds (using 30000)
  ND advertised reachable time is 0 (unspecified)
  ND advertised retransmit interval is 0 (unspecified)
  ND router advertisements are sent every 200 seconds
  ND router advertisements live for 1800 seconds
  ND advertised default router preference is Medium
  Hosts use stateless autoconfig for addresses.

上記トポロジのように設定してみる。
インターフェイス名はちょっと違うのでご注意。

conf t
int f0/0
ipv6 enable
ipv6 address 2001:1:1:1::/64 eui-64
ipv6 address FE80::1 link-local
int f0/1
ipv6 enable
ipv6 address FE80::1:1 link-local
end

conf t
int f0/0
ipv6 enable
ipv6 address 2001:1:1:1::/64 eui-64
ipv6 address FE80::2 link-local
end

conf t
int f0/0
ipv6 enable
ipv6 address FE80::3 link-local
end

conf t
int f0
ipv6 enable
ipv6 address FE80::1:4 link-local
end

conf t
int f0
ipv6 enable
ipv6 address FE80::1:5 link-local
end

設定が終わったこのとき、 IPv6 ネイバーテーブルを確認すると空っぽ。

R2#sh ipv6 neighbors

ping を打ってみる。

リンクローカルアドレスは出力インターフェイスも指定する必要がある。

出力インターフェイス名は省略形ではなくスペース無しで完全なインターフェイス名を書く必要があるようだ。

R2#ping FE80::1
Output Interface:
% Interface required
R2#ping FE80::1 ?
data specify data pattern
repeat specify repeat count
size specify datagram size
source specify source address or name
timeout specify timeout interval
verbose verbose output

R2#ping FE80::1
Output Interface: f0/0
% Invalid interface. Use full interface name without spaces (e.g. Serial0/1)
Output Interface: FastEthernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::1, timeout is 2 seconds:
Packet sent with a source address of FE80::2%FastEthernet0/0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/8 ms

出力の例を見ると % 記述でつなげて出力インターフェイス名を指定できるみたいだ。
YAMAHA でもそんな感じでできた気がする。

R2#ping FE80::1%f0/0
% Unrecognized host or address, or protocol not running.

R2#ping FE80::1%FastEthernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::1, timeout is 2 seconds:
Packet sent with a source address of FE80::2%FastEthernet0/0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/4 ms

R2#sh ipv6 neighbors
IPv6 Address Age Link-layer Addr State Interface
FE80::1 0 001b.2a77.66d2 REACH Fa0/0

対向の R1 でもネイバーテーブルにキャッシュされる。

R1#sh ipv6 neighbors
IPv6 Address Age Link-layer Addr State Interface
FE80::2 3 0024.c431.126e STALE Fa0/0

グローバルユニキャストアドレス、ならびにユニークローカルユニキャストアドレスは出力インターフェイスを指定する必要はない。

R1#sh ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
No Virtual link-local address(es):
Global unicast address(es):
2001:1:1:1::1, subnet is 2001:1:1:1::/64 [EUI]
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds (using 30000)
ND advertised reachable time is 0 (unspecified)
ND advertised retransmit interval is 0 (unspecified)
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.

R2#sh ipv6 int
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::2
No Virtual link-local address(es):
Global unicast address(es):
2001:1:1:1::2, subnet is 2001:1:1:1::/64 [EUI]
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:2
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds (using 30000)
ND advertised reachable time is 0 (unspecified)
ND advertised retransmit interval is 0 (unspecified)
ND router advertisements are sent every 200 seconds
ND router advertisements live for 1800 seconds
ND advertised default router preference is Medium
Hosts use stateless autoconfig for addresses.

R1#ping 2001:1:1:1::2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:1:1:1::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/8 ms

こうするとグローバルユニキャストアドレスも IPv6 ネイバーテーブルにのるようになる。

R2#sh ipv6 neighbors
IPv6 Address                              Age Link-layer Addr State Interface
2001:1:1:1::1                               0 001b.2a77.66d2  REACH Fa0/0
FE80::1                                     9 001b.2a77.66d2  DELAY Fa0/0

Windows の GNS3 で Cisco ルーターの設定を初期化する

GNS3 上でトポロジを構成する際、誤ったコンフィグを投入してしまって、あまつさえ保存してしまったとします。
こういった場合設定を初期化したいのですが、 erase startup-config だけだとルーターのホスト名の設定やロギングの挙動の調整といった、
ルーター初回起動時に投入される便利なコンフィグが読み込まれません。
最低限ルーター名だけでも最初から投入してくれないとわかりにくくて大変です。
GNS3 のドキュメント探してみましたが相当するようなドキュメントが見つからなかったので結構苦労しました。

トポロジを構成するルーターが 1, 2 台ならプロジェクト作り直せばいいかで済むんですが、 5 台以上になってくると大変です。
トポロジを作るのに加えてインターフェイスのラベルの位置とか微調整しているので作り直しってなったら発狂したくなります。

つーか、 Mac 版だと コンフィグ消したら NVRAM が勝手に初期化されたから、 Windows 版のバグのような気がしないでもない。

R1#erase startup-config
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
R1#
*Mar  1 00:00:26.751: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram

誰か教えて下しあ。。。
GNS3 のドキュメントに載ってるのかな。。
今度腰を据えて GNS3 のドキュメント読もうかな。
というか GNS3 2.0 RC2 までいったようで、熱いね。
もうリリース間近といった感じ。

Releases · GNS3/gns3-gui

以下は Windows 版でのみの話し

ルーター上で

erase startup-config

これでルーターを再起動しても初回起動時に投入されるコンフィグは入らない。
ホスト名も設定されていない完全にまっさらに初期化されたルーターが起動される。
まあ、物理的なルーターの動作としてはこれが正しいんだが、コンセプトを理解したい場合は違う、そうじゃないとなる。

次に、ルーターを停止させる。これ重要。

右クリックでコンフィグをインポートする。

Windows なら

C:\Users\wnoguchi\GNS3\configs\ios_base_startup-config.txt

Mac なら

/Users/wnoguchi/GNS3/configs/ios_base_startup-config.txt

Linux なら(エスパーしている)

/home/GNS3/configs/ios_base_startup-config.txt

ちなみにコンフィグは以下のような感じになっていた。

!
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname %h
!
ip cef
no ip domain-lookup
no ip icmp rate-limit unreachable
ip tcp synwait 5
no cdp log mismatch duplex
!
line con 0
 exec-timeout 0 0
 logging synchronous
 privilege level 15
 no login
line aux 0
 exec-timeout 0 0
 logging synchronous
 privilege level 15
 no login
!
!
end

%h の部分がホスト名に置換されているわけですな。

プライベートコンフィグは読み込まなくて良い。

そしてルーター起動。

これで OK 。

OSPF 認証 インターフェイス認証

  1. 対応ページ: pp.222-225
  2. 対応試験: CCNPv2.0 Routing and Switching 300-101J ROUTE
  3. カテゴリ: OSPF
  4. サブカテゴリ: OSPF 認証 インターフェイス認証
  5. IOS: c3725-adventerprisek9-mz.124-15.T14.bin

OSPF認証について

OSPF認証タイプ

  • タイプ0 Null 認証
  • タイプ1 シンプルパスワード認証
  • タイプ2 MD5 認証

ネイバー認証の設定対象

  • インターフェイス
  • エリア
  • 仮想リンク

トポロジ

GNS3 プロジェクトファイルダウンロード

OSPF 認証設定前までやってあります。

GNS3 1.5.x では Windows, Mac 間の portable project のエクスポート、インポートがうまくいかない | | wnoguchi’s diary

Windows

ospf-authentication-interface

Mac

TODO

基本設定

R1

conf t
int f0/0
ip addr 10.0.12.1 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 1.1.1.1
network 10.0.0.0 0.255.255.255 area 0
end
wr

R2(ABR)

conf t
int f0/0
ip addr 10.0.12.2 255.255.255.0
no shut
int s0/0
ip addr 10.1.23.2 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 2.2.2.2
network 10.0.0.0 0.0.255.255 area 0
network 10.1.0.0 0.0.255.255 area 1
end
wr

R3

conf t
int s0/0
ip addr 10.1.23.3 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 3.3.3.3
network 10.0.0.0 0.255.255.255 area 1
end
wr

VPCs

なし

設定前の動作確認

なし

設定

R1

conf t
int f0/0
ip ospf authentication
ip ospf authentication-key CISCO

R2(ABR)

conf t
int f0/0
ip ospf authentication
ip ospf authentication-key CISCO
int s0/0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ROUTE

R3

conf t
int s0/0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ROUTE

検証

インターフェイスで認証が有効になっていることを確認する。

シンプルパスワード認証

R2#sh ip ospf int f0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 10.0.12.2/24, Area 0
  Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 2.2.2.2, Interface address 10.0.12.2
  Backup Designated router (ID) 1.1.1.1, Interface address 10.0.12.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:07
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 1.1.1.1  (Backup Designated Router)
  Suppress hello for 0 neighbor(s)
  Simple password authentication enabled

MD5 認証

R2#sh ip ospf int f0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 10.0.12.2/24, Area 0
  Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 2.2.2.2, Interface address 10.0.12.2
  Backup Designated router (ID) 1.1.1.1, Interface address 10.0.12.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:07
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 1.1.1.1  (Backup Designated Router)
  Suppress hello for 0 neighbor(s)
  Simple password authentication enabled

ネイバーテーブルを確認して所望のネイバーが認識されていることを確認する。

R2#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/BDR        00:00:37    10.0.12.1       FastEthernet0/0
3.3.3.3           0   FULL/  -        00:00:33    10.1.23.3       Serial0/0

おことわり

これは「徹底攻略Cisco CCNP Routing & Switching ROUTE教科書[300-101J]対応 徹底攻略シリーズ」に掲載されているサンプルトポロジのコンフィグを自分で考えて、インターフェイスの対応等微妙に変えて GNS3, あるいは VIRL のプロジェクトファイルとしています。
具体的な説明はここではせず、箇条書き程度の自分用のメモ、コンフィグ、実際の出力結果を載せています。
詳細なコンセプトの説明はこのテキストを参照するか、他のサイトをあたることをおすすめします。

追記

コンフィグやトポロジに誤りがありましたら指摘いただけるとうれしいです!

なんでこんなこと書いているか

Cisco の試験に限らないですけど、私の基本的なスタンスを書いてあります。
随時アップデートしていくので興味あったら覗いてみてください。

Cisco の技術者認定試験における私のスタンス | wnoguchi’s diary

参考書紹介

こちらのテキストを使用させていただいております。
いつもありがとうございます。

個人的なおすすめはテキストは紙版と Kindle 版両方買っておいて、ウォークスルー的なテキストの読み込みは
クロスリファレンスが必要なときは紙の本をざっと開くのがおすすめです。
問題集は紙版さえあればいいかなと思ってますが、もしかすると Kindle 版のほうが効率いいのかも。
どうなんだろ。

GNS3 1.5.x では Windows, Mac 間の portable project のエクスポート、インポートがうまくいかない

ご注意: GNS3 1.5 系のポータブルプロジェクトファイルは私が試した限り Windows と Mac 間では互換性がありません。

それと Windows 間のインポートだとエクスポート元で GNS3 VM 上で実行していたやつでも、インポート先だとローカルの Dynamips で実行されてしまうっぽい。。。
設定の問題なのかなあ。。。

最初この事実を知った時、うーんって感じでした。
まあ、マルチプラットフォームの難しさは推して量るべしですが・・・。
こういったコミュニティに積極的にコミットできるようになりたい。