これで、(商用)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を通過したいと考えています。これらのインターフェイスでトラフィックをルーティングし、tun0
toSNAT
を実行して動作させることができます10.9.10.6
。私はそれらにip10.9.10.7
とipを割り当てようとしましたが、それがipの場合にのみ応答トラフィックを受信します10.9.10.8
(これがSNATが機能する理由です)。tun0
src
10.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インターフェイスとは対照的)サーバーには静的ルーティングルールがあり、クライアント構成だけでは変更できません。