Làm cách nào để định tuyến internet của tôi thông qua một đường hầm SSH?


24

Cũ Q Làm cách nào để thiết lập máy chủ OpenVPN mà không có quyền root?

Có cách nào để thiết lập máy chủ OpenVPN mà không cần quyền root không? Ví dụ với các tập tin cấu hình trong thư mục nhà của tôi? Nếu có, làm thế nào để tôi thiết lập nó?

Tôi đang cố gắng SSH vào một hệ thống và thiết lập máy chủ OpenVPN ở đó để sử dụng cá nhân.

CHỈNH SỬA

Vì rõ ràng OpenVPN cần quyền root, tôi đang thay đổi câu hỏi để định tuyến internet của mình bằng SSH mà tôi có thể dễ dàng thiết lập.


Theo "không gian người dùng", bạn có nghĩa là trong một thư mục nhà không có quyền root? Thông thường, "không gian người dùng" được sử dụng ngược lại với "không gian nhân".
Lekensteyn


@Lekensteyn, vâng, không có sự cho phép của root, tôi không biết không gian người dùng đề cập đến cái gì khác. Xin vui lòng chỉnh sửa câu hỏi của tôi thành một cái gì đó thích hợp. Tôi cũng đã nghĩ đến câu trả lời đó, nhưng tôi không biết về việc thiết lập mọi thứ mà không có quyền root.
Oxwivi

Câu trả lời:


32

sshript là một máy chủ proxy trong suốt chuyển tiếp qua kết nối SSH và thiết lập proxy bằng cách chạy các tập lệnh Python trên máy chủ từ xa. sshuttlecó thể chạy trong các điều kiện sau:

  • máy khách hoặc bộ định tuyến dựa trên Linux, FreeBSD hoặc Mac OS
  • đặc quyền hành chính đối với khách hàng
  • truy cập mạng từ xa thông qua SSH
  • không có quyền quản trị viên trên mạng từ xa
  • tính khả dụng của Python trên máy chủ từ xa

Cài đặt sshriptnhập mô tả hình ảnh ở đây từ Trung tâm phần mềm hoặc Terminal:

sudo apt-get install sshuttle

Lệnh cơ bản để chạy sshript với định tuyến tất cả lưu lượng là:

sshuttle -r username@sshserver:port 0/0

Khi thực hiện lệnh, một sudodấu nhắc mật khẩu sẽ xuất hiện và sau đó mật khẩu vào tài khoản SSH. Không có chi tiết nào khác sẽ xuất hiện ngoại trừ một tin nhắn ngắn và trở về vỏ khi thất bại. Để biết thêm thông điệp trạng thái, hãy chạy sshuttletrong chế độ dài bằng -vcờ.

Trong ví dụ này, tất cả lưu lượng truy cập internet ngoại trừ DNS được định tuyến qua VPN. -rcờ biểu thị tên máy chủ từ xa và tên người dùng và cổng tùy chọn theo sau trong ví dụ trên. 0/0là viết tắt của từ 0.0.0.0/0đó đại diện cho các mạng con định tuyến qua VPN. Việc sử dụng các 0/0tuyến tất cả lưu lượng ngoại trừ yêu cầu DNS đến máy chủ từ xa. Điều chỉnh DNS là có thể với việc sử dụng -Hcờ.

Vui lòng đọc trang man ( man sshuttle) để biết chi tiết về các tùy chọn và chế độ sshuttlecó thể chạy. Để biết thông tin về khái niệm và nhiều ví dụ khác, hãy tham khảo trang dự án .


redsocks cũng đáng xem xét; cùng tính năng, thực hiện hơi khác nhau
sanmai

17

Bạn không thể thiết lập OpenVPN mà không có quyền root vì các hoạt động nhất định yêu cầu nó.

  • Điều kiện tiên quyết: bạn cần kích hoạt chuyển tiếp gói trong tường lửa (iptables?) Của bạn
  • Thêm thiết bị đang hoạt động: một thiết bị ảo đặc biệt phải được thêm bằng cách sử dụng ifconfig. Mặt khác, không có giao tiếp nào giữa máy chủ và máy khách

Tùy thuộc vào nhu cầu của bạn, các giải pháp khác có sẵn. Để duyệt qua máy chủ của bạn, bạn có thể thiết lập máy chủ SOCKS.

SOCKS proxy

Thiết lập proxy SOCKS không khó: nó được tích hợp sẵn trong OpenSSH. Để bật máy chủ SOCKS, hãy chạy lệnh tiếp theo trong thiết bị đầu cuối :

ssh user@host -D1234

Thay thế 1234 bằng cổng ưa thích của bạn. Trong trình duyệt của bạn, bạn có thể nhập localhostdưới dạng máy chủ và 1234dưới dạng cổng tại máy chủ SOCKS4 / 5.

Dưới đây là một ví dụ trong trình duyệt Firefox:

  1. Chuyển đến Chỉnh sửa -> Tùy chọn
  2. Mở chi tiết phần
  3. Chuyển đến tab Mạng
  4. Nhấn Cài đặt
  5. Chọn cấu hình proxy thủ công
  6. Nhập localhostvới tư cách SOCKS Host
  7. Nhập 1234dưới dạng cổng (cùng một cổng như được chỉ định trong lệnh SSH)
  8. Nhấn OKĐóng để đóng hộp thoại tùy chọn.

Ví dụ thiết lập FIrefox


1
Tôi muốn định tuyến internet của mình thông qua hệ thống tôi muốn thiết lập VPN.
Oxwivi

Thật không may, bạn không thể thay đổi các quy tắc định tuyến trên máy chủ mà không có quyền root. Một giải pháp cung cấp ít nhất một giải pháp an toàn để duyệt là sử dụng proxy SOCKS như được mô tả trong câu trả lời.
Lekensteyn

1
Tôi đã thành công trong việc chuyển internet qua đường hầm SSH. Tôi có nên chỉnh sửa câu trả lời của bạn để đề cập cụ thể đến câu hỏi đó không khi tôi chỉnh sửa câu hỏi? Hay bạn sẽ làm điều đó?
Oxwivi

@Oxwivi: Tôi sẽ đặt hàng lại và thêm một ví dụ cho Firefox.
Lekensteyn

-1

Nếu bạn chỉ muốn tạo đường hầm lưu lượng TCP hệ thống của mình, tôi khuyên bạn nên sử dụng một chương trình có tên là tun2socks. Nếu bạn cũng muốn tạo đường hầm lưu lượng UDP, bạn phải cài đặt udpgw trên máy chủ của mình.

Dưới đây là hướng dẫn cách cài đặt và sử dụng các chương trình này: http://board.nwrk.biz/viewtopic.php?id=3


4
Bạn có thể cập nhật câu trả lời của bạn và giải thích các bước quan trọng nhất của liên kết của bạn ở đây? Bằng cách này, câu trả lời này sẽ vẫn hữu ích ngay cả khi trang web sẽ biến mất.
Louis Matthijssen
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.