SSH melalui koneksi VPN


11

Kami memiliki server AWS EC2 yang telah kami konfigurasikan agar hanya dapat diakses (melalui SSH) dari dalam jaringan kantor kami. Jelas ini tidak ideal untuk pengaturan jarak jauh di mana seseorang harus terhubung ke instance EC2 dan bekerja jarak jauh di luar kantor seperti selama perjalanan bisnis.

Saya telah berhasil mengatur VPN melalui PPTP dan dapat terhubung ke jaringan kantor (saya punya dua IP lokal dari wlan0 dan satu dari ppp0) di mana pun saya berada. Namun, ketika saya SSH ke EC2 misalnya, itu masih menolak saya kemungkinan besar karena melihat bahwa saya masih mencoba ssh dari luar jaringan.

Saya kira masalahnya adalah saya tidak bisa merutekan lalu lintas ssh untuk melalui VPN. Adakah ide bagaimana saya bisa mencapai ini?

Pilihan saya yang lain adalah ssh ke mesin dalam jaringan kantor dan kemudian menggunakan mesin itu untuk ssh ke instance EC2 tapi saya sudah ragu untuk melakukan itu karena tampaknya berlebihan.


Jawaban singkatnya adalah untuk merutekan lalu lintas SSH Anda melalui VPN. Dan gunakan sesuatu yang sedikit lebih aman daripada PPTP.
Hyppy

Jawaban:


15

Misalkan AWS Anda dapat dijangkau melalui SSH di IP "your.ec2.ip.address". Misalkan jaringan kantor Anda memiliki akses Internet melalui router yang menerapkan beberapa terjemahan NAT dan, dengan demikian, PC kantor Anda terlihat, di Internet, dengan IP "your.office.external.ip".

Mari kita juga misalkan Anda berada DI LUAR kantor Anda, dengan laptop Anda terhubung di seluruh dunia, dengan:

  • alamat IP utama yang diberikan oleh penyedia Internet lokal Anda (misalkan 192.168.0.33 dengan netmask 255.255.255.0 dan def-gw 192.168.0.1);
  • alamat PPP0, yang ditetapkan untuk laptop Anda oleh server PPTP jarak jauh Anda (setelah terowongan VPN Anda berhasil dibuat). Misalkan PPP0 adalah the.local.ppp0.ip dengan P2P jarak jauh the.remote.pptp.address. Dengan kata lain, laptop Anda tahu menjadi the.local.ppp0.ip dan juga tahu bahwa di sisi lain dari terowongan VPN ada server PPTP Anda yang dapat dijangkau, melalui VPN, di alamat :remote.pptp.address.

Dalam skenario seperti itu, jika Anda tidak dapat - dari notebook Anda - untuk mencapai AWS Anda di "your.ec2.ip.address" Saya yakin masalahnya adalah - seperti yang Anda duga - perutean: perutean SSH Anda diarahkan ke " your.ec2.ip.address " TIDAK meninggalkan netbook Anda di dalam VPN, tetapi sebaliknya, meninggalkan jalur umum, eksternal-VPN, (alias: dikirim ke gateway lokal Anda: 192.168.0.1).

Untuk mendiagnosis masalah ini, pemeriksaan yang sangat mudah dapat dilakukan dengan:

  • Linux: perintah tracepath (es .: "tracepath -n your.ec2.ip.address")
  • windows: perintah "tracert" (es .: "tracert -d your.ec2.ip.address")

Dari output Anda dapat memeriksa apakah langkah kedua melaporkan alamat PPTP, atau tidak.

Jika lalu lintas Anda bepergian di jalur yang salah, perbaikan mudah untuk merutekannya dalam VPN adalah:

  • Linux: "route add -host your.ec2.ip.address gw the.remote.pptp.address"
  • Windows: "route add the.ec2.ip.address mask 255.255.255.255 Anda.remote.pptp.address"

Setelah mengkonfigurasi rute di atas, Anda dapat memeriksa kembali rute dengan tracert / tracepath

Setelah perutean dikonfigurasi dengan benar, ada kemungkinan kecil bahwa masalah dapat timbul di dalam kantor Anda: jika server PPTP Anda TIDAK melakukan IP-forwarding dan terjemahan NAT, ada kemungkinan besar bahwa Anda akan mengalami "penyaringan", dalam kasus hilang ip-forwarding atau "perutean asimetrik" (dalam hal NAT hilang) antara notebook Anda dan your.ec2.ip.address:

  • lalu lintas dari Anda ke amazon, berjalan di sepanjang VPN ke kantor Anda dan, sejak saat itu, ke Amazon;
  • kembalikan lalu lintas dari Amazon kepada Anda, dialihkan melalui jalur internet umum dan ... kemungkinannya tinggi jatuh di suatu tempat.

Sekali lagi: tracepath / tracert dapat membantu Anda memeriksa masalahnya.

Pada kotak linux, teman lain yang sangat berguna adalah "tcpdump". Beberapa perintah tcpdump yang berguna adalah:

  • "tcpdump -n -i antarmuka icmp" untuk memeriksa permintaan / respons PING masuk / keluar;
  • "tcpdump -n -i host an.ip.add.ress " untuk memeriksa lalu lintas yang datang / dikirim ke an.ip.add.ress;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.