新しい職場に新しいクラスターをセットアップしていますが、最後の職場で別のクラスターを管理しています。基本的に、最初の構成を「コピー」して、新しい構成をセットアップします。
今、私は家にいます。両方のVPN接続を次々にではなく同時に使用したいと思います。 -)両方のクラスターに同時にアクセスします。私の意見ではこれは不可能ですが、誰かがアイデアを持っているかもしれませんか?
1つのVPN接続はOpenVPNを使用し、もう1つはCiscoVPNクライアントを使用します。それとも、ルートルールを試してそれを取得することは可能ですか?私はネットワーキングの経験があまりありません。
route -n
を使用して、さまざまなサブインターフェイスのルールを再定義しようとしています。 VPNがアクティブでない場合に得られるものは次のとおりです。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.0.1 0.0.0.0 UG 0 0 0 eth0
10.1.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
ここで、Cisco VPN(VPN1)をオンにすると、次のようになります。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 xxx.xxx.xxx.117 0.0.0.0 UG 0 0 0 cscotun0
10.1.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
xxx.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 cscotun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.yy.yy.22 10.1.0.1 255.255.255.255 UGH 0 0 0 eth0
OpenVPN(VPN2)を起動した場合:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.0.1 0.0.0.0 UG 0 0 0 eth0
10.1.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.1.0 192.168.2.17 255.255.255.0 UG 0 0 0 tun0
192.168.2.17 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
zzz.zzz.zz.zz 10.1.0.1 255.255.255.255 UGH 0 0 0 eth0
そして今、両方をオンにすると(最初にvpn2、次にvpn1):
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 xxx.xxx.xxx.117 0.0.0.0 UG 0 0 0 cscotun0
10.1.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
xxx.xxx.xxx.0 0.0.0.0 255.255.255.0 U 0 0 0 cscotun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.yy.yy.22 10.1.0.1 255.255.255.255 UGH 0 0 0 eth0
192.168.2.17 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
理想的には、xxx.xxx.xxx.0のすべての要求は、VPN1のみがアクティブな場合(cscotun0)のように送信され、192.168.2.0のすべての要求は192.168.2.17(tun0)を通過し、他の要求はeth0を通過する必要があります...
私はルーティングに慣れていないので、助けていただければ幸いです。
編集:route
コマンドで遊んで設定を正しくセットアップしようとしている答えに触発されました。
より明確にするために、上記のルートテーブルを編集して、より有益なroute -n
コマンドの結果を反映しました。また、自宅に10.1.0.0 nm 255.255.255.0
IPアドレスを持つように自宅のルーターを変更しました。
私がよく理解している場合、VPN2(tun0)のみがアクティブな場合、それは私の家のデフォルトゲートウェイ(10.1.0.1)を使用し、いくつかの新しいルートを定義します。間違っていると理解した場合は教えてください。
192.168.1.0 192.168.2.17 -> this says "everything for 192.162.1.0 network (vpn2 network), then pass through official gateway 192.168.2.17 "
192.168.2.17 0.0.0.0 -> this says "everything for Host 192.168.2.17, goes to default gateway (0.0.0.0) " , which is currently pointing to my home rooter"
zzz.zzz.zz.zz 10.1.0.1 -> this says "everything for zzz.zzz.zz.zz . pass through my home router (10.1.0.1)
VPN1のみをオンにすると、デフォルトゲートウェイが独自のゲートウェイ(xxx.xxx.xxx.53)で上書きされ、すべてがこれにリダイレクトされます。これは、ホームネットワークが表示されない理由でもあります(私が正しい場合)。
ここで、両方のVPNをオンにすると、デフォルトゲートウェイがVPN1(xxx.xxx.xxx.53)のいずれかにリダイレクトされることがわかります。また、次のように求めています。ルールを設定するにはどうすればよいですか。
私はroute add
とroute del
で遊んでみましたが、多かれ少なかれ試行錯誤してやろうとしているので、自分が何をすべきかを理解したほうがいいでしょう。ここで適用したいのは正しいか基本的に愚かです...
編集2:MariusMatutiaeの提案に従って、両方のVPNがオンの場合のifconfigの結果をここに追加します。
cscotun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:xxx.xxx.xxx.117 P-t-P:xxx.xxx.xxx.117 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1380 Metric:1
RX packets:21 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:4007 (4.0 KB) TX bytes:3789 (3.7 KB)
eth0 Link encap:Ethernet HWaddr 00:21:cc:6b:3e:ae
inet addr:10.1.0.226 Bcast:10.1.0.255 Mask:255.255.255.0
inet6 addr: fe80::221:ccff:fe6b:3eae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28245 errors:0 dropped:0 overruns:0 frame:0
TX packets:29039 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14287030 (14.2 MB) TX bytes:5521200 (5.5 MB)
Interrupt:20 Memory:f3a00000-f3a20000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9928 errors:0 dropped:0 overruns:0 frame:0
TX packets:9928 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4962141 (4.9 MB) TX bytes:4962141 (4.9 MB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.2.18 P-t-P:192.168.2.17 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:719 errors:0 dropped:0 overruns:0 frame:0
TX packets:764 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:103523 (103.5 KB) TX bytes:56000 (56.0 KB)
編集3:
動作しないものの説明:両方のVPNをオンにした後、VPNtun0に到達できません。 xxx.xxx.xxx.0以外の何かをping
しようとすると、ping: sendmsg: Operation not permitted
が表示されます。
理想的には、VPN(VNPネットのDNSが機能しない場合は、直接IPで管理できますが、問題はありません)と理想的にの両方にアクセスしたいと思います。 -)私のローカルLANへのアクセスも...
残念ながら、私はiptablesの専門家では、自分のやり方を理解するのに十分ではありません。
前もって感謝します
確かに、複数のVPNを同時に使用できます。これを調整する際の主な問題は、ルーティングテーブルが正しいことを確認することです。これは、すべてのVPNが、同じことを実行するVPNが他にもあると想定せずにルーティングテーブルを変更しようとするためです。
基本的にVPNを使用してリモートLANにアクセスし、すべてのトラフィックをリダイレクトするのではないため、シナリオは非常に単純です。最後の構成では、より複雑なセットアップが必要でしたが、あなたの場合は、はるかに少ない作業で済ませることができます。
これが機能するための前提条件は、すべてのサブネットが異なることです:自宅と2つの職場です。
これをすでに調整しているとすると、OpenVPNのクライアント構成ファイルに次のステートメントが含まれていることを確認する必要がありますnot
redirect-gateway def1
サーバー構成ファイルにはnot次のステートメントが含まれています。
Push "redirect-gateway def1 bypass-dhcp"
2つのVPNでの作業にのみ関心があるため、これで問題はすでに解決されています。他のVPNがデフォルトルートを取得した場合でも、ルーティングテーブルにデフォルトルートが1つあり、これで完了です。
ただし、Cisco VPNは、デフォルトではデフォルトルートを取得しません。だからあなたは大丈夫なはずです。確認するには、route -nの出力に次のような行がいくつか含まれていることを確認してください。
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.73.1 0.0.0.0 UG 0 0 0 eth0
ここで、192.168.73.1はホームのデフォルトルーターです(ルーターが192.168.73.1でない場合は、必要に応じて変更してください)。
この問題は、両方のVPNを介してすべてのトラフィックを同時にリダイレクトしたい場合は、はるかに楽しいものでした(はい、実行できます)。
編集:
必要に応じて、さまざまなネットワークインターフェイスでOpenVPNを使用することもできます。例として、次のようにイーサネットカードに基づいて仮想インターフェイスを起動できます。
ip link add link eth0 mac0 address 56:61:4f:7c:77:db type macvlan
ip link set mac0 up
dhclient mac0
次に、仮想インターフェイスmac0のIPアドレスを次のように確認します。
ip addr show
次に、openvpnクライアント構成ファイルでステートメントを導入できます
local IP_address_of_mac0
また、OpenVPNサーバーに接続すると、接続はインターフェースmac0にのみバインドされます。次に、リモートLANにアクセスするには、すべてのアプリケーションを同じインターフェイスmac0とそのIPアドレスにバインドすることを忘れないでください。たとえば、この方法でssh経由でPCにアクセスするには、次のように言う必要があります。
ssh -b IP_address_of_mac0 user@remote_LAN_pc
等々。 pingの場合は、
ping -i IP_address_of_mac0 remote_LAN_pc
複数のVPNを同時に実行することは完全に可能です。
セットアップにいくつか問題があります-
実行しようとしていることに応じて、VPNサーバーがデフォルトルートを公開しないようにする必要があります(または、無視するか、正しいメトリックに対してより低いメトリックを使用します)。そうしないと、VPNが相互にルーティングしようとして、壊れてしまいます。もちろん、これは、VPNを使用して特定のネットワーク/ルートにのみ到達していることを意味します
2番目の問題(ネットマスク255.255.255.0の重複する192.168.1.0ネットワークに注意)は、到達しようとしている両方のネットワークが192.168.1.xにあるようです。カーネルはどちらを参照しているのかわからないため、これは問題です。正しい解決策は、ネットワークの1つに番号を付け直して、別のネットワークブロックに配置することです。 (iptablesやhostsファイルを使ってシステム上でこれをエミュレートするためにできる恐ろしい、恐ろしい、恐ろしいハックがあるかもしれませんが、その非常に専門的で壊れやすく、お勧めできません)。
ところで、ルートテーブルを作成するときは、一般に「-n」スイッチを使用して、マシン名を解決しようとするよりもIPを表示する方がよいでしょう。マシン名は私たちにとって何の意味もありません!!!
VirtualBoxでW7 VMを設定し、それを介して2番目のVPNを使用し、ホストとゲスト間で双方向のフォルダー共有を使用するだけではどうでしょうか?シンプルさ:)