OpenvSwitchにGREトンネルを設定
OpenvSwitchでもGREトンネルを利用することができます。環境は下図を参考にしてください。OSは全てUbuntu12.04になります。
モジュールの確認
GREトンネルの利用にはgreモジュールが必要となります。以下のようにgreモジュールが存在して、それをOpenvSwitchが参照している必要があります。
# lsmod |grep gre gre 12990 1 openvswitch
GRE用NIC間での疎通確認
下図において、ルータを挟んだ左右のNICでpingが疎通することを確認します。
# ping 20.1.1.10 PING 20.1.1.10 (20.1.1.10) 56(84) bytes of data. 64 bytes from 20.1.1.10: icmp_req=1 ttl=62 time=0.726 ms 64 bytes from 20.1.1.10: icmp_req=2 ttl=62 time=0.688 ms
OVSの設定(下図右側)
OVSとの接続に用いられるNIC(eth0)はadd-portしますが、GREトンネルの両端のNIC(eth1)はadd-portしないように設定します。GRE用のポートには対向のNICのIPアドレスを指定します。
ovs-vsctl add-br br100 ovs-vsctl add-port br100 eth0 ovs-vsctl add-port br100 gre1 -- set interface gre1 type=gre options:remote_ip=10.10.10.10 options:pmtud=true
OVSの設定(下図左側)
OVSとの接続に用いられるNIC(eth0)はadd-portしますが、GREトンネルの両端のNIC(eth1)はadd-portしないように設定します。GRE用のポートには対向のNICのIPアドレスを指定します。
ovs-vsctl add-br br100 ovs-vsctl add-port br100 eth0 ovs-vsctl add-port br100 gre1 -- set interface gre1 type=gre options:remote_ip=20.1.1.10 options:pmtud=true
トンネルの設定の確認
下のコマンド結果(一部抜粋)から、GREトンネルがOVSの論理ポートの1番に作成されていることが確認できます。
# ovs-ofctl show br100 OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000000000003 n_tables:254, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE 1(gre1): addr:52:d9:1a:f4:e9:77 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max