--ifconfig
ポイントツーポイントトンネルインターフェイスのローカルおよびピアIPアドレスを設定するオプション。必須構成オプションです。オープンVPN。では、ローカルおよびピアのIPアドレスは何に使用されますか?私が考えることができる唯一の目的は、これらのIPアドレスを使用してトラフィックをトンネルにルーティングできることです。たとえば、ピアIPアドレスはどこにありますかip route add 10.10.3.0/24 via 192.168.1.2 dev tun0
?192.168.1.2
ただし、ポイントツーポイントリンクでは、トラフィックを直接インターフェイスにルーティングすることが可能でなければなりませんip route add 10.10.3.0/24 dev tun0
。
答え1
歴史的に、IPv4 では番号付けされていないインターフェイスは不可能でした。ポイントツーポイントインターフェイスを設定する唯一の方法は、ローカルアドレスとリモートアドレスを使用することです。問題のポイントツーポイントインターフェイスを介して別のIPアドレスをルーティングする唯一の方法は、インターフェイスのリモートアドレスをゲートウェイとして使用してパスをインストールすることです(route
コマンドまたはカーネルにはインターフェイス名でターゲットを指定するオプションはありません)。 )。その当時は、SLIP接続でインターフェイスアドレスとして使用される貴重なIPアドレスがたくさん見られました。
今でも、IPv4インターフェイスは、そのインターフェイスで発生するICMPエラーのソースアドレスとして機能する場合にのみ、少なくともどの種類のアドレスを設定する必要があります(これはルータがどのインターフェイスを通過しているかをtraceroute
検出する方法です)。
しかし、あなたはできる今やるべきことは(歴史的にはできなかったこと)インターフェイスを番号なしで作ることです。これは、システムの他のインターフェイスと同じIPアドレスを提供することを意味します。通常、信頼性が高く常にオンになっているインターフェイス(ループバックインターフェイスまたはルータの「プライマリ」インターフェイス)は、IPアドレスプロバイダとして機能します。リモートIPアドレスはまったく提供する必要はありません(ただし、次の段落を参照)。ご存知のように、リモートIPアドレスが指定されていない場合は、ip route ... dev <interface>
代わりにip route ... via <address>
インターフェイスにトラフィックを転送するために使用できます。全体として、IPアドレスを大幅に節約できます。 (余談ですが、UNIXではローカルIPアドレスが一意ではないという事実に番号のないインターフェイスが暗示されていますが、Cisco IOSなどの他のオペレーティングシステムでは非常に明示的です。コマンドはですip unnumbered <donor-interface-name>
。
それにもかかわらず、OpenVPNでは、リモートIPアドレスを指定することはオプションではないようです。ただし、任意のリモートアドレスを指定できます。たとえば、トンネルの反対側の端が別のルータである場合、リモートルータのループバックまたは「デフォルト」IPアドレス(デフォルトではリモート側の番号付けされていない設定を反映)を使用してトンネルのIPアドレスを消費しないことがあります。 。ルーティングテーブルを少し見苦しく見せたい場合は、実際に完全に偽のIPアドレスをifconfigリモートアドレスとして使用できます。すべてがうまく機能し、偽のアドレスはどこにも表示されません(トラッキングパスでも)。