OpenVPN-Connection sebagai gateway default untuk host lain di subnet yang sama


0

Saya ingin menggunakan koneksi openvpn saya sebagai gateway default untuk host lain di subnet yang sama. Saya memiliki 2 Host di subnet yang sama, keduanya dengan Ubuntu Server 14.04.

Host A menjalankan OpenVPN untuk membuat koneksi ke openvpn-exit-node saya. Tuan rumah ini telah dimodifikasi untuk memungkinkan penerusan ip.

Host B adalah client-app-server dan harus menggunakan koneksi internet melalui koneksi openvn bersama dari Host A. Karena saya sudah mengatur gateway-ip Host B ke IP Host A, lalu lintas dari Host B sekarang disalurkan melalui koneksi openvpn dari Host A.

Masalahnya muncul ketika koneksi openvpn pada Host A turun (setidaknya setiap 24 jam di sini di Jerman) dan menghubungkan kembali; setelah itu Host B menggunakan gw default dari Host A dan memotong koneksi openvpn (kadang-kadang sampai terowongan naik lagi dan setiap kali Host B reboot).

Prestasi tersebut harus, untuk memastikan bahwa Host B mendapatkan internet hanya melalui koneksi openvpn. Apakah ada kemungkinan untuk memastikan, bahwa Host B hanya memiliki akses ke internet selama ia menggunakan terowongan openvn?

Host A (eth0 ip: 10.11.12.6/gw: 10.11.12.1) (tun0 ip: 10.8.0.146/gw: 10.8.0.145):

  • Menginstal OpenVPN dan mengonfigurasi koneksi klien ke openvn-exit-node saya: berfungsi
  • Configured Host A untuk memungkinkan ip-forwarding dan konfigurasi IP Masquerading: berfungsi

Host B (eth0 ip: 10.11.12.9/gw: 10.11.12.6): - Mengubah gateway default ke alamat ip Host A: works - Semua traffic menggunakan openvpn-tunnel pada Host A

Masalah: Setiap kali koneksi openvpn turun dan / atau openvpn terhubung kembali, Host B tampaknya beralih kembali menggunakan gateway default Host A. Host B pada saat seperti itu harus tetap tanpa akses internet tetapi alih-alih menggunakan koneksi yang digunakan Host A untuk terhubung ke gateway openvpn.

Hormat kami, D0C

Jawaban:


0

Untuk Mencapai ini, Anda harus menggunakan Routing Berbasis Kebijakan; Akan memungkinkan Anda membuat tabel perutean independen yang terpisah, dan mengarahkan lalu lintas ke tabel perutean apa pun berdasarkan properti paket seperti Source-IP.

Buat tabel routing baru sebagai berikut:

echo "200    OpenVPN" >>/etc/iproute2/rt_tables

Tambahkan gateway default ke tabel yang baru dibuat sebagai berikut:

route add default via OpenVPN-GW-IP table OpenVPN

Izinkan Host-B dirutekan menggunakan tabel perutean ini:

ip rule add from Host-B-IP table OpenVPN

Anda juga perlu menambahkan rute berikut ke tabel baru:

ip route add 127.0.0.0/8 dev lo table OpenVPN
ip route add YOUR-Local-Subnet dev DEVICE-NAME table OpenVPN

Pembaruan: Gunakan SNAT, bukan MASQURADE,

iptables -t nat -A POSTROUTING -s 10.11.12.9 -j SNAT --to-source 10.8.0.146

Hai dan terima kasih atas bantuan Anda; karena alamat ip dari koneksi openvpn saya berubah dari waktu ke waktu (dhcp dari penyedia layanan vpn) saya tidak yakin tentang ip mana yang dimaksud dengan "OpenVPN-GW-IP". Terima kasih dan salam hormat, D0C
D0ckW0rka

Saya pikir Anda memiliki server openvpn Anda sendiri, apa pun OpenVPN-GW-IP: ketika Anda terhubung ke VPN, tabel perutean Anda harus diubah dengan entri baru ditambahkan; cari tahu apa itu gateway koneksi VPN, route -n | grep tun dan gunakan ip itu ... ini tidak boleh diubah karena saya tahu IP VPN ditentukan berdasarkan sertifikat dan mereka tidak diubah oleh waktu ...
MohyedeenN

Maaf atas kesalahpahaman - Saya tidak bermaksud bahwa saya adalah pemilik VPN-Exit-Node; pada kenyataannya itu adalah penyedia vpn anonim komersial (sekarang ada sertifikat untuk mengidentifikasi tetapi nama pengguna / kata sandi). Bahkan jika ip-address itu sendiri berubah, openvpn-gw-ip harus selalu tetap sama - saya akan menguji ini dan memberi tahu Anda. Salam, D0C PS: menambahkan alamat yang digunakan dalam pertanyaan
D0ckW0rka

OK, saya sudah melakukan ini sekarang. Lalu lintas dari Host B (setelah reboot baru) melewati koneksi openvpn, tetapi masalahnya masih ada. Jika koneksi openvpn turun (diuji dengan secara manual me-restart layanan openvpn), Host B beralih ke gateway default LAN saya yang harus dihindari. Bahkan setelah re-up dari Host vpn-tunnel B tidak akan mereset ke tunnel-gw. Penyetelan ulang terjadi hanya setelah restart dari Host B. Salam, D0C
D0ckW0rka

Bagaimana, apa hubungan antara HostB dan VPN-Restart, GW HostB harus diatur secara statis ke ip lokal HostA yang merupakan VPN-Client, mengapa memulai ulang VPN mengubah GW HostB ,, ini tidak masuk akal ..
MohyedeenN
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.