Saya memiliki server pribadi virtual, yang ingin saya jalankan server web ketika server saya terhubung ke layanan VPN
Ketika koneksi VPN ke provider saya tidak aktif, saya dapat melakukan apapun yang saya inginkan dengan server ini, ssh, scp, http dll.
Setelah openvpn berjalan dan terhubung ke layanan VPN penyedia, server tidak dapat diakses dengan cara apa pun dan tentu saja untuk alasan yang baik
Gambarannya kira-kira seperti ini:
My VPS ------------
+----------------+ / \
| | / Internet / 101.11.12.13
| 50.1.2.3|-----------------\ cloud /----<--- me@myhome
| | / \
| 10.80.70.60| / \
+----------------+ \ \
: \_____________/
: :
: :
: :
: :
+------------------+ :
| 10.80.70.61 | :
| \ | :
| \ | :
| 175.41.42.43:1197|..............:
| 175.41.42.43:yy|
| ..... |
| 175.41.42.43:xx|
+------------------+
Legend
------ Line No VPN connection present
...... Line VPN connection established
Hal-hal yang perlu diklarifikasi:
- Semua alamat IP dan nomor port di atas dan di bawah adalah fiktif
- Garis dengan nomor port xx, yy dan apa pun di antaranya adalah asumsi saya, bukan sesuatu yang saya tahu pasti.
- Saya mengatur pekerjaan cron yang menjalankan setiap menit ping VPS saya yang lain, menjalankan apache2 Dalam log apache2, saya bisa melihat alamat IP asli berubah dari 50.1.2.3 ke 175.41.42.43, ketika VPN aktif, sehingga VPN bekerja dengan baik
Log OpenVPN menunjukkan ini:
UDPv4 link remote: [AF_INET]175.41.42.43:1197
[ProviderName] Peer Connection Initiated with [AF_INET]175.41.42.43:1197
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 local 10.80.70.60 peer 10.80.70.61
Pada titik ini, saya ingin dapat melakukan ssh dari myhome
ke My VPS
dalam gambar, sedangkan VPN naik dan menggunakan Putty.
Di masa lalu, di salah satu tempat kerja saya, saya telah diberi urutan yang sangat aneh untuk ssh menjadi satu server yang sangat aman yang memiliki tiga @
tanda di string. Jadi, itu melompat dari kotak ke kotak seperti yang saya bayangkan, tetapi karena kotak melompat menjalankan beberapa versi OS windows dan aplikasi berpemilik pada itu, tidak ada visibilitas bagi saya untuk melihat apa yang terjadi di bawah bungkus. Jadi saya tidak terlalu memperhatikan. Sekarang saya mulai menyadari, saya mungkin berada dalam situasi yang sama atau serupa.
Menggunakan alamat IP dan porta dalam diagram dan / atau potongan log, dapatkah seseorang memberi tahu saya bagaimana saya bisa melintasi terowongan ini dan mengakses server saya?
sumber
Ini mungkin agak terlambat, tapi ...
Masalahnya adalah bahwa gateway default akan diubah oleh OpenVPN, dan itu memutuskan koneksi SSH Anda saat ini kecuali Anda mengatur rute yang sesuai sebelum Anda memulai OpenVPN.
Berikut ini bekerja untuk saya. Ini menggunakan iptables dan ip (iproute2). Di bawah ini, diasumsikan bahwa antarmuka gateway standar sebelum OpenVPN dimulai adalah "eth0". Idenya adalah untuk memastikan bahwa ketika koneksi ke eth0 dibuat, bahkan jika eth0 bukan antarmuka gateway default lagi, paket respon untuk koneksi kembali pada eth0 lagi.
Anda bisa menggunakan nomor yang sama untuk tanda koneksi, tanda firewall dan tabel routing. Saya menggunakan angka yang berbeda untuk membuat perbedaan di antara mereka lebih jelas.
===
MEMPERBARUI:
Di atas berfungsi dengan baik untuk saya di Debian Jessie. Tetapi pada sistem Wheezy yang lebih lama saya baru saja menemukan bahwa saya perlu menambahkan "via" ke entri tabel routing:
Di sana "12.345.67.89" harus merupakan gateway non-VPN asli.
sumber