サブネット トポロジを使用するようにクライアントを構成する OpenVPN では、「inet プレフィックスが必要ですが、10.66.10.6/-1 ではありません」が発生します。

サブネット トポロジを使用するようにクライアントを構成する OpenVPN では、「inet プレフィックスが必要ですが、10.66.10.6/-1 ではありません」が発生します。

これで、(商用)VPNサーバーに接続するたびにtunインターフェイスが表示され、アドレスinetとともにアドレスが割り当てられますpeer(どういうわけか)。

root@mininet-vm:/etc/openvpn# ip -4 a show dev tun0
33: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    inet 10.9.10.6 peer 10.9.10.5/32 scope global tun0
       valid_lft forever preferred_lft forever

2つの仮想インターフェイスがあり、そのインターフェイス上のすべてのトラフィックがVPNを通過したいと考えています。これらのインターフェイスでトラフィックをルーティングし、tun0toSNATを実行して動作させることができます10.9.10.6。私はそれらにip10.9.10.7とipを割り当てようとしましたが、それがipの場合にのみ応答トラフィックを受信します10.9.10.8(これがSNATが機能する理由です)。tun0src10.9.10.6

tun0そのサブネットに複数のクライアントを展開し、NATに依存せずにそれを実行できるように通常のサブネットに切り替えることができるかどうか疑問に思います。

openvpnのマニュアルページでトポロジオプションが見つかりましたが、そのオプションはサーバーによってプッシュされているようです。

subnet -- Use a subnet rather than a point-to-point topology by 
          configuring the tun interface with a local IP address and 
          subnet mask, similar to the topology used in --dev tap and 
          ethernet bridging mode.

次のコマンドでオーバーライドしようとしましたが、/usr/sbin/openvpn --topology subnet --pull-filter ignore "topology" ...IPの追加に失敗しました。

Fri Dec 28 01:52:47 2018 /sbin/ip addr add dev tun0 10.66.10.6/-1 broadcast 255.255.255.254
Error: an inet prefix is expected rather than "10.66.10.6/-1".

動作させる他の方法はありますか? (残念ながら私はこの商用VPNサーバーを制御できません)

答え1

サーバーを制御しないと、これはできません。

TUNインターフェース処理3階パケット(レイヤ2を処理するTAPインターフェイスとは対照的)サーバーには静的ルーティングルールがあり、クライアント構成だけでは変更できません。

関連情報