saya bertanya-tanya bagaimana cara tunnel tcp / ipv6 traffic melalui tunnel ssh / ipv4 (koneksi ptp). Apa itu mungkin? Bagaimana saya bisa mencapainya?
Apakah Anda mencoba untuk terowongan HANYA lalu lintas IPV6 di atas terowongan? Karena terowongan SSH Anda akan memungkinkan Anda untuk menggunakan IPV5 atau V6 di atasnya tanpa masalah, dengan asumsi jaringan di kedua ujungnya mendukungnya.
Ya, itu mungkin dan tidak terlalu sulit, tetapi solusinya sangat suboptimal, karena SSH berjalan di atas TCP dan memiliki overhead yang masuk akal.
Server harus ada dalam file konfigurasinya sshd_config:
PermitTunnel point-to-point
Kemudian, Anda harus melakukan root pada kedua mesin. Anda terhubung ke server menggunakan:
ssh -w any root@server
Setelah koneksi, gunakan perintah ip linkdi kedua sistem untuk mengetahui perangkat tunN mana yang dibuat di masing-masing sistem, dan gunakan dalam perintah berikut. Perhatikan bahwa saya menggunakan contoh alamat situs-lokal, yang sudah usang, tetapi ok untuk pengantar ini.
Di server:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
Pada klien:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
Ini cukup sehingga Anda bisa melakukan ping ke sisi lain melalui terowongan, jika tidak ada pemblokiran aturan firewall. Langkah selanjutnya adalah mengatur rute di atas terowongan (jangan lupa net.ipv6.conf.default.forwarding = 1), lalu sesuaikan tautan MTU untuk mendapatkan kinerja yang optimal.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Ini akan memungkinkan klien Anda untuk melakukan ping ke jaringan lain yang memiliki akses ke server, mengingat bahwa target memiliki rute kembali ke klien jarak jauh Anda.
Anda juga harus memperbaiki tautan MTU sehingga klien tidak mengirim paket yang tidak dapat ditransmisikan oleh server. Ini tergantung pada MTU dari tautan IPv6 dari server itu sendiri. Jangan mengandalkan jalur penemuan MTU karena itu tidak akan berfungsi dengan benar di terowongan SSH. Jika ragu, mulailah dengan nilai MTU rendah, seperti 1280 (MTU minimum diizinkan untuk IPv6).
MTU minimum yang didukung IPv6 adalah 1280 (berbeda dengan IPv4, yang mendukung MTU minimum 576). Peringatan: jika Anda mengatur MTU Anda di bawah 1280, alamat IPv6 Anda akan hilang, dan tidak akan dapat ditambahkan kembali sampai Anda memulai ulang SSH!
Jeremy Visser
1
OS X tidak memiliki ipperintah, jadi atur alamat ip dengan sudo ifconfig tun0 inet6 fec0:1::2/112 up dan atur rute dengan sudo route add -inet6 -mtu 1280 default fec0:1::1
Jawaban:
Ya, itu mungkin dan tidak terlalu sulit, tetapi solusinya sangat suboptimal, karena SSH berjalan di atas TCP dan memiliki overhead yang masuk akal.
Server harus ada dalam file konfigurasinya
sshd_config
:Kemudian, Anda harus melakukan root pada kedua mesin. Anda terhubung ke server menggunakan:
Setelah koneksi, gunakan perintah
ip link
di kedua sistem untuk mengetahui perangkat tunN mana yang dibuat di masing-masing sistem, dan gunakan dalam perintah berikut. Perhatikan bahwa saya menggunakan contoh alamat situs-lokal, yang sudah usang, tetapi ok untuk pengantar ini.Di server:
Pada klien:
Ini cukup sehingga Anda bisa melakukan ping ke sisi lain melalui terowongan, jika tidak ada pemblokiran aturan firewall. Langkah selanjutnya adalah mengatur rute di atas terowongan (jangan lupa net.ipv6.conf.default.forwarding = 1), lalu sesuaikan tautan MTU untuk mendapatkan kinerja yang optimal.
Ini akan memungkinkan klien Anda untuk melakukan ping ke jaringan lain yang memiliki akses ke server, mengingat bahwa target memiliki rute kembali ke klien jarak jauh Anda.
Anda juga harus memperbaiki tautan MTU sehingga klien tidak mengirim paket yang tidak dapat ditransmisikan oleh server. Ini tergantung pada MTU dari tautan IPv6 dari server itu sendiri. Jangan mengandalkan jalur penemuan MTU karena itu tidak akan berfungsi dengan benar di terowongan SSH. Jika ragu, mulailah dengan nilai MTU rendah, seperti 1280 (MTU minimum diizinkan untuk IPv6).
sumber
ip
perintah, jadi atur alamat ip dengansudo ifconfig tun0 inet6 fec0:1::2/112 up
dan atur rute dengansudo route add -inet6 -mtu 1280 default fec0:1::1