Bagaimana cara tunnel port secara transparan dari IPv4 ke perangkat IPv6 jarak jauh?


11

Di rumah, saya terhubung dengan alamat IPv6 dan selain itu, penyedia saya menyediakan pengaturan seperti NAT di mana saya menerima alamat IPv4 publik yang saya bagikan dengan pelanggan lain (alasannya jelas bahwa kita kehabisan alamat IPv4).

Akibatnya, saya tidak dapat menjangkau perangkat saya di rumah (mis. Gateway VPN saya) ketika saya berada di jaringan IPv4. Namun, saya memiliki server yang memiliki alamat IPv4 dan IPv6. Dengan demikian, perangkat rumah saya harus dapat dijangkau jika saya mengunjungi server saya.

Inilah yang saya pikirkan sejauh ini: Karena pada IPv6, setiap perangkat mendapatkan IP mereka sendiri, server saya di rumah mendapatkan IP IPv6 statis. Server jarak jauh saya sudah memiliki IPv4 statis dan IPv6.

Ketika saya sekarang ingin mencapai server OpenVPN saya di rumah, sebelumnya saya akan membuka port 1194 di router saya dan NAT akan meneruskan koneksi ke server di sana. Dalam skenario baru saya, saya ingin menghubungkan pada port 1194 (atau yang berbeda, tidak masalah) pada server jarak jauh saya dan itu harus mengambil koneksi itu dan terowongan itu ke server rumah saya (melihat karena keduanya memiliki IPv6).

Secara grafis, ini berarti:

Perangkat Seluler (IPv4) -> Server Jarak Jauh (IPv4 + IPv6) -> Server Rumah (IPv6)

Tapi ini seharusnya hanya terjadi pada port tertentu (atau apakah ada cara yang lebih pintar daripada memilih oleh port?).

Pertanyaan saya adalah, bagaimana cara mencapai pengaturan ini?

Di tingkat mana ini harus beroperasi? Jika saya ingin melakukannya dengan port, saya jelas harus meneruskan paket pada lapisan TCP / UDP. Ide pertama saya adalah iptables, tetapi bisakah iptables meneruskan sebuah paket ke IP jarak jauh? Atau ada software lain yang bisa? Atau haruskah saya membuat terowongan antara dua server dan kemudian meneruskan ini secara lokal? Bagaimana saya melakukannya?


1
Sudahkah Anda mempertimbangkan untuk menggunakan broker terowongan IPv6 untuk laptop Anda?
Michael Hampton

@MichaelHampton terima kasih atas sarannya, tapi saya lebih suka memiliki cara yang tidak memerlukan perubahan pada perangkat karena saya juga bermaksud untuk membuat koneksi dari ponsel saya (android) dan kemungkinan perangkat lain. Penyiapan harus sesederhana sebelumnya dari perspektif perangkat.
javex

Jawaban:


13

Saya akhirnya menemukan solusi dengan Meneruskan Port IPv4 ke Host khusus IPv6 yang pada dasarnya menggunakan socat:

socat TCP4-LISTEN:22,fork,su=nobody TCP6:[2a01:198:79d:1::8]:22

Solusi saya pada dasarnya sama kecuali saya menggunakan nama host kecuali untuk IP statis di sana. Berhati-hatilah untuk tidak menggunakan tanda kurung siku dengan nama host karena akan menafsirkannya sebagai IP.

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.