Saya memiliki server Linux A dengan blok 5 alamat IP publik 8.8.8.122/29
,. Saat ini, 8.8.8.122
ditugaskan untuk eth0
, dan 8.8.8.123
ditugaskan untuk eth0:1
.
Saya punya mesin Linux B lain di lokasi terpencil, di belakang NAT. Saya ingin membuat terowongan antara keduanya sehingga B dapat menggunakan alamat IP 8.8.8.123
sebagai alamat IP utamanya.
OpenVPN mungkin jawabannya, tapi saya tidak tahu bagaimana mengaturnya ( topology subnet
atau topology p2p
mungkin lebih tepat. Atau haruskah saya menggunakan Ethernet bridging?). Keamanan dan enkripsi bukan masalah besar pada saat ini, jadi GRE juga akan baik-baik saja - mesin B akan datang dari alamat IP yang dikenal dan dapat diautentikasi berdasarkan itu.
Bagaimana saya bisa melakukan ini? Adakah yang bisa menyarankan konfigurasi OpenVPN, atau pendekatan lain, yang dapat bekerja dalam situasi ini? Idealnya, itu juga akan dapat menangani banyak klien (mis. Berbagi keempat IP cadangan dengan mesin lain), tanpa membiarkan klien tersebut menggunakan IP yang bukan hak mereka.
iptables
aturan sederhana . B berada di belakang NAT yang menjalankan server Linux lainshorewall
.Jawaban:
Saya akhirnya pergi dengan menjembatani Ethernet. Banyak contoh yang sangat bertele-tele untuk disiasati secara online, tetapi ternyata cukup mudah:
Pertama, pada A ,
/etc/network/interfaces
diubah dari:untuk:
untuk menjembatani
eth0
(antarmuka WAN nyata) dengantap0
(antarmuka terowongan baru) saat boot.Kemudian, pada A , jalankan server openvpn dengan:
Pada B , sambungkan dengan:
Itu konfigurasi super sederhana yang saya cari, dan berfungsi - B sekarang dapat diakses publik di 8.8.8.123, dan koneksi keluar berasal dari alamat yang sama.
Tambahkan keamanan (
--secret
,,--tls-server
dll) sesuai kebutuhan, tentu saja.sumber
pre-up openvpn
baris untuk membuattap1
juga, menambahkantap1
untukbridge_ports
, dan menjalankan contoh lain dari openvpn denganopenvpn --dev tap1
.Anda akan mengalami kesulitan saya pikir. Sebagian besar firewall akan mengalami kesulitan merutekan lalu lintas OpenVPN jika kedua sisi VPN berada di subnet yang sama.
Jika Anda mencoba merutekan untuk akses publik, saya akan memindahkan kedua server ke subnet berbeda dari alamat publik Anda dan kemudian menggunakan IP Virtual (1 hingga 1 Nat) untuk menghubungkannya. Untuk menghubungkan kedua situs, OpenVPN akan berfungsi atau terowongan IP-Sec.
IP Virtual: http://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses%3F
Situs ke situs: http://doc.pfsense.org/index.php/VPN_Capability_IPsec
Edit berdasarkan komentar:
Saya pribadi menginstal pfSense pada kotak A dan memberikannya port yang Anda inginkan untuk WAN-nya. Kemudian setup server OpenVPN pada subnet lokal (yang semuanya siap untuk masuk dalam antarmuka web pfSense) dan setup mesin lain dengan IP Virtual yang menunjuk ke IP OpenVPN lokalnya. Ini akan memberi Anda ruang untuk ekspansi nanti (menambahkan lebih banyak mesin dengan IP Virtual, meneruskan port spesifik secara logis ke server yang berbeda, benar-benar memiliki pengaturan LAN / WAN / DMZ yang penuh sesak dengan OpenVPN untuk akses virtual. Belum lagi Anda akan memiliki router full blown sehingga kemungkinan akan lebih aman.
sumber
push "route 50.7.19.122 255.255.255.255 net_gateway"
akan memastikan bahwa data VPN masih didorong melalui jaringan normal.