TCP / IPv6 thông qua đường hầm ssh


10

Tôi đang tự hỏi làm thế nào để đường hầm lưu lượng tcp / ipv6 qua đường hầm ssh / ipv4 (kết nối ptp). Có thể không? Làm thế nào tôi có thể đạt được điều đó?

linux  ssh  ipv6 

Bạn đang cố gắng để đường hầm JUST ipV6 lưu lượng truy cập qua đường hầm? Vì đường hầm SSH của bạn sẽ cho phép bạn sử dụng IPV5 hoặc V6 qua nó mà không gặp sự cố, giả sử mạng ở hai đầu hỗ trợ nó.
Sam Cogan

2
TCP qua TCP thường không phải là một ý tưởng hay: sites.inka.de/sites/bigred/devel/tcp-tcp.html TCP qua TCP qua TCP: Nghe có vẻ không tốt hơn
Reece45

Câu trả lời:


15

Có, có thể và không quá khó, nhưng giải pháp rất tối ưu, vì SSH chạy trên TCP và có chi phí hợp lý.

Máy chủ phải có trong tệp cấu hình của nó sshd_config:

PermitTunnel point-to-point

Sau đó, bạn cần phải root trên cả hai máy. Bạn kết nối với máy chủ bằng cách sử dụng:

ssh -w any root@server

Sau khi kết nối, sử dụng lệnh ip linktrong cả hai hệ thống để biết thiết bị tunN nào được tạo trong mỗi thiết bị và sử dụng nó trong các lệnh sau. Lưu ý rằng tôi đang sử dụng ví dụ địa chỉ trang web cục bộ, đã lỗi thời, nhưng ok cho phần giới thiệu này.

Trên máy chủ:

server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0

Trên máy khách:

client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0

Điều này là đủ để bạn có thể ping phía bên kia qua đường hầm, nếu không có quy tắc chặn tường lửa. Bước tiếp theo là đặt các tuyến qua đường hầm (đừng quên net.ipv6.conf.default.forwarding = 1), sau đó điều chỉnh MTU liên kết để có hiệu suất tối ưu.

server# sysctl net.ipv6.conf.all.forwarding=1

client# ip -6 route add default via fec0:1::1

Điều này sẽ cho phép khách hàng của bạn ping các mạng khác mà máy chủ có quyền truy cập, với điều kiện là các mục tiêu có tuyến trở lại máy khách từ xa của bạn.

Bạn cũng sẽ phải sửa MTU liên kết để máy khách không gửi các gói mà máy chủ không thể truyền được. Điều này phụ thuộc vào MTU của liên kết IPv6 của chính máy chủ. Không dựa vào khám phá đường dẫn MTU vì nó sẽ không hoạt động chính xác qua đường hầm SSH. Nếu nghi ngờ, hãy bắt đầu với giá trị MTU thấp, như 1280 (MTU tối thiểu được phép cho IPv6).


1
MTU tối thiểu mà IPv6 hỗ trợ là 1280 (trái ngược với IPv4, hỗ trợ MTU tối thiểu là 576). Cảnh báo: nếu bạn đặt MTU dưới 1280, địa chỉ IPv6 của bạn sẽ biến mất và sẽ không thể được thêm lại cho đến khi bạn khởi động lại SSH!
Jeremy Visser

1
OS X không có iplệnh, vì vậy hãy đặt địa chỉ IP sudo ifconfig tun0 inet6 fec0:1::2/112 up và đặt tuyến đường với sudo route add -inet6 -mtu 1280 default fec0:1::1
larsr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.