web-dev-qa-db-ja.com

OSPF:OpenVPNサーバーのサブネットをアドバタイズする方法は?

すべてのHPProCurve7102ルーターとほとんどの内部LinuxルーターでOSPFを正常に構成しました。ルートが宣伝され、すべてが桃色です。

さまざまなOpenVPNサービスおよび会社内の他のVPN接続によって処理されるサブネットへのルートを除きます。会社のネットワークの一部を示す下の写真を検討してください。

enter image description here

赤い矢印はVPN接続です。下部の青い領域は、他のすべてのオフィスのルーターで構成されるOSPF領域0(バックボーン)を示しています。ピンクの領域は、いずれかのオフィスのOSPF領域177を示しています。オレンジ色の長方形は、問題のOpenVPNネットワークであり、矢印の付いた青いアイコンで示されるLinuxルーターでホストされています。

10.177.0.0/16サブネットは、他のすべてのOSPFエリアに適切にアドバタイズされます。ただし、ネットワーク10.180.1.0/24がOSPF構成に含まれ、インターフェイスtun0がエリア177に(パッシブインターフェイスとして)含まれているにもかかわらず、このサブネットはアドバタイズされません。

これは実際には外部ルートだからですか?もしそうなら、OSPFデーモンにそのルートをアドバタイズするようにどのように指示しますか?

2
wolfgangsz

最初に頭に浮かぶのは、Quagga/Zebra OSPFで接続されたルートに加えて、カーネルルートを再配布する必要があるということです。 OpenVPNはルート自体を追加するため、構成に「redistribute static」しかない場合、Zebraはルートを再配布しません。

私はOSPF環境でもOpenVPNを使用していますが、すべてが正常に再配布されます。

注:アドバタイズされるべきではない他のカーネルルートの再配布を防ぐために、いくつかの再配布リストフィルターを追加する必要がある場合があります。

もう1つのオプションは、10.180.1.0/24がnullまたはループバックデバイスになるための静的ルートをZebraに追加することです。

2
Wim Kerkhoff

「カーネルと静的ルートを取り除く」乱交の後、私は同様の問題に直面しました。

私の場合の解決策は、OpenVPNネットワークを別のOSPFエリアに配置し、サーバーのエンドポイントアドレスに関連付けられた/ 32プレフィックスを/ 24サブネットプレフィックスに置き換えるという巧妙なトリックを使用することです。例えば.

192.168.22.0/24は、私のFreeBSD 10.3-PRERELEASEOpenVPNサーバー上のOpenvVPNサブネットです。

Openvpn.conf内:

dev tun
server 192.168.22.0 255.255.255.0

OpenVPNが開始されると、tun0インターフェースは次の設定を行います。

munchkin# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    inet6 fe80::222:15ff:fe4b:7e10%tun0 prefixlen 64 scopeid 0x1c 
    inet 192.168.22.1 --> 192.168.22.2 netmask 0xffffffff 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    Opened by PID 2746

Ospfd.conf内:

router ospf
...
network 192.168.11.0/24 area 0.0.0.0
network 192.168.22.0/24 area 0.0.0.1
area 0.0.0.1 range 192.168.22.1/32 substitute 192.168.22.0/24

次に、OSPFは192.168.22.1/32ではなく192.168.22.0/24をアドバタイズします

N.B。これはエリアの境界を越えてのみ機能します。

0
Dave