tunnelインタフェースの使われ方 〜IPアドレス設定やVPNのトンネリング、OSPFのVirtual-Linkの代替、等〜

tunnelインタフェースとは

tunnelインタフェースとは、間に複数のネットワーク機器が挟まれた状態のネットワーク機器同士をあたかも直結しているかのように見せる、論理インタフェースです。サイト間VPNのトンネリングを実現するために使われることが多いです。

具体的には、以下のようにルータAの物理インタフェースGi0/0とルータDの物理インタフェースGi0/0を以下のように設定するとします。

すると、ルーティングテーブルを見ると直結インタフェースとしてトンネルインタフェースが見えるようになります。

R1# show ip route
C 10.1.14.0 is directly connected, Tunnel1
C 10.1.12.0 is directly connected, GigabitEthernet0/0
C 10.1.1.0 is directly connected, GigabitEthernet0/1
S 10.1.34.0 [1/0] via 10.1.12.2

PC1からPC2への通信を通常のルーティングで行うと以下のようになりますが、

スポンサーリンク

トンネルインタフェースを使ったスタティックルートにすると以下のようになります。

R1からR4までの間は、オリジナルのIPパケットを、GRE(Generic Route Encapsulation)というプロトコルにカプセル化します。送信元IPと宛先IPはsourceとdestinationで指定したIPです。

カプセル化方式(トンネリング方式)はデフォルトでGREになっていますが、IPIP や IPsec 等にも設定できます。

R1(config-if)# tunnel mode ipip

また、Cisco のトンネル確認コマンドは、以下のようにtunnelインタフェースの状態を見ることです。『Tunnel1 is up, line protocol is up』と表示されればOKです。

R1# show interface tunnel 1
Tunnel1 is up, line protocol is up

tunnel インタフェースにIPアドレスは必要か?

tunnelインタフェースにはIPを振ることができますが、これにはあまり意味がありません。理由は、tunnelインタフェースは point-to-point インタフェースであり、serialインタフェース等と同様、ルーティング時のNextHopはIP指定は不要で、NextHopとしてtunnelインタフェースのみを指定すれば良いからです。

なのでserialインタフェースと同様、IP unnumbered で他のインタフェースのIPから借りることもできます。

R1(config-if)# ip unnumbered GigabitEthernet 0/0

tunnel インタフェースのUp Down

先程のケースで注意すべきは、tunnelインタフェースでOSPF等の動的ルーティングを有効化し、sourceやdestinationのIPをtunnelインタフェース経由で学習してしまわないようにすることです。

例えば以下のような設定をしてはいけません。

スポンサーリンク

Gi0/0インタフェースとtunnelインタフェースのIPが一緒なので、『 network 10.1.12.0 0.0.0.255 area0 』のコマンドで両インタフェースでOSPFが有効になってしまうからです。

この場合、以下のようにtunnel インタフェースがUp Downを繰り返し、その結果OSPFのネイバーもUp Downを繰り返します。

*Mar  1 01:35:11.067: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
*Mar  1 01:35:15.831: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on Tunnel1 from LOADING to FULL, Loading Done
*Mar  1 01:35:30.067: %TUN-5-RECURDOWN: Tunnel1 temporarily disabled due to recursive routing
*Mar  1 01:35:31.067: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
*Mar  1 01:35:31.067: %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on Tunnel1 from FULL to DOWN, Neighbor Down: Interface down or detached

このような場合はOSPFをインタフェース単位で設定するようにしましょう。

R1(config)# interface GigabitEthernet 0/0
R1(config-if)# ip ospf 1 area 0

Virtual Link の代替手段としての Tunnel インタフェース

tunnelインタフェースの他の使い道として、OSPFのVirtual-Linkの代替手段とすることができます。特にstubエリアではVirtual-Linkは使えないので、以下のようにすることでstubエリアを跨いだOSPFルート配布が可能となります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする