質問: vpn接続経由のssh aws ec2サーバーがあり、オフィスネットワーク内からのみ(ssh経由で)アクセスできるように構成されています。明らかに、これは、誰かがec2インスタンスに接続する必要があり、出張中など、オフィスの外でリモートで作業しているリモート配置には理想的ではありません。pptp=を介してvpnをセットアップし、オフィスネットワークに接続できます(wlan0からのローカルipとppp0からのローカルipの2つがあります)。どこにいても関係ありません。ただし、 ec2インスタンスにsshで接続しても、ネットワークの外部からまだsshを実行しようとしていることがわかっているため、引き続き拒否されます。問題は、sshトラフィックをvpnを経由するようにルーティングできないことです。これをどのように達成できるかについてのアイデアはありますか?私のもう1つのオプションは、オフィスネットワーク内のマシンにsshを実行し、そのマシンを使用してec2インスタンスにsshを実行することですが、過度に見えるため、これを行うのをためらっていました。
回答: awsがssh経由でip "your.ec2.ip.address"に到達できると仮定しましょう。いくつかのnat変換を適用するルーターを介してオフィスのネットワークがインターネットにアクセスしていて、オフィスのpcがインターネット上でip "your.office.external.ip 」.また、あなたがオフィスの[〜#〜] [〜#〜]の外にいて、世界中でラップトップが接続されているとします。 ローカルインターネットプロバイダーによって割り当てられたメインipアドレス(192.168.0.33とネットマスク255.255.255.0およびdef-gw 192.168.0.1を使用するとします)。 リモートサーバーによってラップトップに割り当てられたppp0アドレスpptp(vpnトンネルが正常に確立されたら)。ppp0がリモートp2p the.remoteの.local.ppp0.ipであるとしましょう。 pptp.address。つまり、ラップトップはthe.local.ppp0.ipであることがわかり、vpnトンネルの反対側に、vpn経由でpptpサーバーに到達できることを知っています。 、.remote.pptp.addressにあります。 そのようなシナリオで、あなたがnable-あなたのノートブックから-あなたのawsに "your.ec2.ip.address"で到達するなら、私は問題が-推測-ルーティング:「your.ec2.ip.address」に向けられたsshトラフィックは[〜#〜]ではありません[〜#〜]ネットブックをvpnが、代わりに、共通の外部vpnパスを通過します(別名:ローカルゲートウェイに送信されます:192.168.0.1)。この問題を診断するには、次の方法で非常に簡単なチェックを実行できます。 linux:tracepathコマンド(es .: "tracepath -n your.ec2.ip.address") windows:「tracert」コマンド(例:「tracert -d your.ec2.ip.address」) 出力から、2番目のステップがpptp=アドレスかどうかを報告するかどうかを確認できます。トラフィックが間違ったパスに沿って移動している場合、vpn内でトラフィックをルーティングする簡単な修正は次のとおりです。 linux: "route add -host your.ec2.ip.address gw the.remote.pptp.address" windows: "route add your.ec2.ip.address mask 255.255.255.255 the.remote.pptp.address" 上記のルートを設定した後、tracert/tracepathでルーティングを再度確認できますルーティングが適切に設定されると、オフィス内で問題が発生する可能性が少しあります。pptpサーバーがである場合[〜#〜]ではありません[〜 #〜]ip転送とnat変換を行うと、ip転送または「非対称ルーティング」(の場合)がない場合に「フィルタリング」が発生する可能性が高くなります。ノートブックとyour.ec2.ip.addressの間にnatがありません: お客様からアマゾンへのトラフィックは、vpnに沿ってオフィスに移動し、その後、アマゾンに移動します。 アマゾンからあなたへの戻りトラフィック、一般的なインターネットパスに沿ってルーティングされます...可能性は高く、どこかにドロップされます。 再度:tracepath/tracertは問題のチェックに役立ちます。linuxボックスでは、もう1つの非常に便利な友達が「tcpdump」です。いくつかの便利なtcpdumpコマンドは次のとおりです。 "tcpdump -n -iinterfaceicmp"着信/発信ping要求/応答を確認します。 "tcpdump -n -i hostan.ip.add.ress)"は、an.ip.add.ressに到着/送信されたトラフィックをチェックします。