ssh / ipv4 tüneli (ptp bağlantısı) üzerinden tcp / ipv6 trafiği tünel merak ediyorum. Mümkün mü? Bunu nasıl başarabilirim?
ssh / ipv4 tüneli (ptp bağlantısı) üzerinden tcp / ipv6 trafiği tünel merak ediyorum. Mümkün mü? Bunu nasıl başarabilirim?
Yanıtlar:
Evet, bu mümkün ve çok zor değil, ancak SSH TCP üzerinden çalıştığı ve mantıklı bir yüke sahip olduğu için çözüm çok yetersiz.
Sunucunun yapılandırma dosyasında olması gerekir sshd_config
:
PermitTunnel point-to-point
Ardından, her iki makinede de kök olmanız gerekir . Sunucuya aşağıdakileri kullanarak bağlanıyorsunuz:
ssh -w any root@server
Bağlantıdan sonra, her birinde ip link
hangi tunN aygıtının oluşturulduğunu bilmek için her iki sistemdeki komutu kullanın ve aşağıdaki komutlarda kullanın. Eski, ancak bu giriş için Tamam örnek site-yerel adresleri kullandığımı unutmayın.
Sunucuda:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
İstemcide:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
Bu, güvenlik duvarı kuralı engellemesi yoksa, diğer tarafa tünelden ping atmak için yeterlidir. Bir sonraki adım tünel üzerindeki güzergahları ayarlamaktır (net.ipv6.conf.default.forwarding = 1) ve ardından optimum performans elde etmek için bağlantı MTU'yu ayarlamaktır.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Bu, hedeflerin uzak istemcinize yönlendirdiği yolları göz önüne alarak, istemcinizin sunucunun erişebildiği diğer ağlara ping atmasını sağlar.
Ayrıca, istemcinin sunucunun iletemeyeceği paketleri göndermemesi için MTU bağlantısını da düzeltmeniz gerekir. Bu, sunucunun IPv6 bağlantısının MTU'suna bağlıdır. SSH tüneli üzerinde düzgün çalışmayacağı için MTU bulma yoluna güvenmeyin. Şüpheniz varsa, 1280 gibi düşük bir MTU değeriyle başlayın (IPv6 için minimum MTU'ya izin verilir).
ip
komutu yok, bu nedenle ip adresini sudo ifconfig tun0 inet6 fec0:1::2/112 up
ayarlayın ve rotayı sudo route add -inet6 -mtu 1280 default fec0:1::1