ネットワーク備忘録

アラフォーエンジニアのネットワーク系の備忘録。twitter:@deigo25374582

EIGRPの確認

EIGRPでちょっと気になったので確認

 

EIGRPはASが異なれば、ネイバーを張れないので経路交換はできないはず。
ただ、EIGRPの境界となるルータのIFが二つASに属する場合はどうなるのか気になったので検証。

f:id:klock_3rd:20150216225934p:plain

上記構成で、R2のルータでR1向き側のIFをAS2側のEIGRPの設定にも投入
 単純にネイバーが異なれば経路のやり取りはできないはずだけど、何となく出来そうな気がしなくもない。

R2のEIGRPの設定
router eigrp 1
network 192.168.1.0
network 192.168.3.0
router eigrp 2
network 192.168.3.0

上記を入れた後、R3側で、10.1.1.0の経路があるか確認
R3>show ip route | inc 10.
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.100.100.0/24 is directly connected, Loopback0
L 10.100.100.1/32 is directly connected, Loopback0

やっぱ経路は受け取れず。 知識が曖昧だったなぁ

 

 

MSSの設定

割と忘れがちなので、メモ

f:id:klock_3rd:20150203224310p:plain

【ip tcp adjust-mss】
TCP通信は最初に3wayハンドシェイクでコネクションを確立する。
その3wayハンドシェイク時にデータ長(MSS)のやり取りも行う。

PCは一般的にMTU 1500byteだから、3wayハンドシェイク時にはMSSを1460byteとして通知する。

「ip tcp adjust-mss」は、その3wayハンドシェイク時のmss長を変更する。

 

以下は、Ciscoルータで上記環境を検証

1、ルータにMSSの設定なし
PC-A → PC-BにTCP接続(今回はFTP)際のPC-B側のパケットキャプチャ結果

~~抜粋~~

Options: (20 bytes), Maximum segment size, No-Operation (NOP), Window scale, SACK permitted, Timestamps
Maximum segment size: 1460 bytes
 →MTU1500byeからIPヘッダ&TCPヘッダの40byteを引いた値「1460byte」になってる

 

2、ルータにMSSの設定投入

 a) PC-A側のIFに対し、「ip tcp adjust-mss 1400」を投入
 b) PC-A → PC-Bに1同様の方法でのキャプチャ結果

~~抜粋~~

Options: (20 bytes), Maximum segment size, SACK permitted, Timestamps, No-Operation (NOP), Window scale
Maximum segment size: 1400 bytes 

 →「ip tcp adjust-mss 1400」で投入した1400byteに変更されている。

 

これ、Ciscoのshow系コマンドでも確認できないかなぁ・・・

 

 

Net-SNMPへの拡張MIBインポート

Net-SNMPに拡張MIBを登録する場合はMIBファイルをインポートした上で、snmp.confも設定しないといけないんだけど、snmp.confを毎度忘れてしまうのでメモ。

"2016/09 一部修正"

 

今回は以下の環境で確認

CentOS release 6.5 (Final)

net-snmp-5.5-50.el6_6.1.i686
net-snmp-libs-5.5-50.el6_6.1.i686
net-snmp-utils-5.5-50.el6_6.1.i686

CISCOのMIBを例にインポートしてみる。
# mibファイルは保持済

 

MIBをインポートしない状態で上記サーバにて

snmptranslate -Tpのコマンド結果を確認すると、

Private(4)の enterprises(1) 配下に cisco(9) は存在しない。

 

MIBファイルを下記フォルダ配下に格納すると仮定

/usr/share/snmp/mibs/auto/mibs/v2

この場合snmp.confファイルを下記に作成

/etc/snmp/snmp.conf

snmp.confファイルにはMIB格納ディレクトリを定義する

#cat /etc/snmp/snmp/snmp.conf
MIBDIRS /usr/share/snmp/mibs:/usr/share/snmp/mibs/auto/mibs/v2
MIBS all

 

その後、再度snmptranslate -Tpで確認すると、

Private(4)の enterprises(1) 配下に cisco(9) が確認できるようになる。

 

LISP検証

仕事で使うかもしれないので簡易検証

構成

[RT-B]-------(10.0.1.0/30)-------[RT-A]-------(10.0.2.0/30)-------[RT-C]
   .2           .1   .1           .2


# 構成図のPPTを作るのを忘れたので、上で代用

上記の構成でのconfig

[RT-A]-------------------------------------------
interface FastEthernet0
ip address 10.0.1.1 255.255.255.252
!
interface FastEthernet1
ip address 10.0.2.1 255.255.255.252

----------------------------------------------------

[RT-B]-------------------------------------------
interface FastEthernet0
ip address 10.0.1.2 255.255.255.252
!
interface Loopback0
ip address 192.168.1.1 255.255.255.255
!
ip route 0.0.0.0 0.0.0.0 10.0.1.1

----------------------------------------------------

[RT-C]-------------------------------------------
interface FastEthernet0
ip address 10.0.2.2 255.255.255.252
!
interface Loopback0
ip address 192.168.2.1 255.255.255.255
!
ip route 0.0.0.0 0.0.0.0 10.0.2.1

----------------------------------------------------

この状態だと、RT-B、RT-C上で作成したloop0への経路がRT-Aのルーティングテーブルには存在しないため、RT-B〜RT-Cのloop0同士の通信は出来ない。

これを、LISPを使用して通信できるようにする。

 

LISP関連Config】

[RT-A]-------------------------------------------
vrf definition lisp
!
address-family ipv4
exit-address-family
!
router lisp
site sitea
description sitea
authentication-key sitea
eid-prefix 192.168.1.0/24
!
site siteb
description siteb
authentication-key siteb
eid-prefix 192.168.2.0/2
!
ipv4 map-server
ipv4 map-resolver
ipv4 alt-vrf lisp
!
----------------------------------------------------

[RT-B]-------------------------------------------
router lisp
database-mapping 192.168.1.0/24 10.0.1.2 priority 1 weight 100
ipv4 itr map-resolver 10.0.1.1
ipv4 itr
ipv4 etr map-server 10.0.1.1 key sitea
ipv4 etr
----------------------------------------------------

[RT-C]-------------------------------------------
router lisp
database-mapping 192.168.2.0/24 10.0.2.2 priority 1 weight 100
ipv4 itr map-resolver 10.0.2.1
ipv4 itr
ipv4 etr map-server 10.0.2.1 key siteb
ipv4 etr
----------------------------------------------------

 

【確認】
[RT-A]-------------------------------------------

#sho lisp site
LISP Site Registration Information

Site Name  Last   Up    Who Last   EID Prefix
      Register      Registered
sitea    00:00:51  yes    10.0.1.2    192.168.1.0/24
siteb    00:00:23  yes    10.0.2.2    192.168.2.0/24
----------------------------------------------------

RT-CからのPing

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

 

考え方的にはDNSにちょっと近いような印象。
ただ、LISPで使われる用語の意味や仕組みがまだ自分の中で消化できていないので要勉強

OSPF SPF Delay

f:id:klock_3rd:20141103202829p:plain

上記でRT1、RT2、RT3でOSPFを構成。(各ルータのHello-intervalは1秒に設定)

この状態でRT3からRT1へPingを打ちながらRT1〜RT2のリンクを抜線

 

192.168.1.1→RT上のLoop0

RT3#ping 192.168.1.1 repeat 10000 timeout 1

Success rate is 99 percent (9992/10000), round-trip min/avg/max = 1/1/24 ms
→8パケロス


断時間を短くするため、全ルータのSPF計算の待時間を1秒に変更

router ospf 1

timers throttle spf 1000 10000 10000

 

そして、Pingで確認

RT3#ping 192.168.1.1 repeat 10000 timeout 1

Success rate is 99 percent (9995/10000), round-trip min/avg/max = 1/1/24 ms

→5パケロス

 

試しに、10秒に変更した場合は・・・

router ospf 1

timers throttle spf 10000 10000 10000

 

RT3#ping 192.168.1.1 repeat 10000 timeout 1
Success rate is 99 percent (9986/10000), round-trip min/avg/max = 1/1/20 ms

→14パケロス

 

 

 

MTU長不一致でOSPFのネイバーが張れない

他システムと接続する際にOSPFを使う事はあんまりないので、他システム担当者と会話する際に意識していないと忘れてしまうのでメモ

以下で検証(左、RA 右,RB)

f:id:klock_3rd:20141018214304p:plain

まずは、普通にOSPFで隣接関係を構築

RA#sho ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.1       1   FULL/DR         00:00:03    192.168.1.1     FastEthernet0
 →まぁ、普通

 

今度は↑図の左のルータのMTU長を1000に変更&OSPFプロセス再起動

RA(config-if)#ip mtu 1000
RA#clear ip ospf process
Reset ALL OSPF processes? [no]: yes

 

・・・・再起動後のOSPFの状態は・・・


*Oct 18 13:30:38.439: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on FastEthernet0 from EXSTART to DOWN, Neighbor Down: Too many retransmissions
*Oct 18 13:31:38.439: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on FastEthernet0 from DOWN to DOWN, Neighbor Down: Ignore timer expired

#sho ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.1       1   EXSTART/BDR     00:00:03    192.168.1.1     FastEthernet0

 →OSPFのStateがEXSTARTのままFULLにならない

 

解決策は2つ

・MTU長を揃える

・ip ospf mtu-ignore コマンドを使う

 

<ip ospf mtu-ignore の場合>

RA(config-if)#ip ospf mtu-ignore

*Oct 18 13:39:21.107: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on FastEthernet0 from LOADING to FULL, Loading Done
 →コマンド投入後にFULLに変わった

 

RA#show ip ospf nei
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.1       1   FULL/BDR        00:00:03    192.168.1.1     FastEthernet0

おわり