Làm cách nào để thiết lập OpenVPN trên CyanogenMod 7?


18

Tôi muốn định tuyến tất cả lưu lượng truy cập mạng của mình thông qua kết nối ISP của nhà tôi khi tôi ra ngoài trong các quán cà phê Internet để tôi không thể bị nghe lén / đốt cháy .

Tôi có HTC G2 với CyanogenMod 7 , có hỗ trợ ứng dụng khách OpenVPN tích hợp :

nhập mô tả hình ảnh ở đây

Ở nhà, tôi có một bộ định tuyến với TomatoVPN trên đó, bao gồm một máy chủ OpenVPN:

nhập mô tả hình ảnh ở đây

Bây giờ, làm cách nào để máy khách kết nối với máy chủ bộ định tuyến? Tôi có thể Google và tìm một bộ hướng dẫn có vẻ phù hợp , nhưng chúng không hữu ích lắm:

Bạn cần đóng gói chứng chỉ và chìa khóa của bạn và đặt nó vào thẻ SD

Tôi lấy những thứ đó ở đâu?

Sao chép client.p12 vào thư mục gốc sdcard

Tôi lấy cái đó ở đâu?

thêm chứng chỉ của bạn và đặt loại giao diện và giao thức phù hợp.

Làm thế nào, cụ thể? Những cài đặt nào nên là gì? Sử dụng các cài đặt không bảo vệ tôi còn tệ hơn là không bảo vệ gì cả do cảm giác an toàn sai lầm.

Tôi đang tìm kiếm các hướng dẫn từng bước cho thiết lập "người đi đường" định tuyến tất cả lưu lượng truy cập thông qua VPN.

Tôi lấy chìa khóa ở đâu? Tôi có cần sử dụng xác thực tên người dùng / mật khẩu bổ sung không? Tên miền tìm kiếm DNS nào? Tôi nên sử dụng cài đặt nào trong menu OpenVPN Advanced của CM7? "Cổng chuyển hướng" cần phải được đặt để định tuyến tất cả lưu lượng, chẳng hạn, phải không? Những cài đặt nào cho Cơ bản và Nâng cao trong TomatoVPN? "Khách hàng trực tiếp chuyển hướng lưu lượng truy cập Internet"? "Phản hồi với DNS"?

Cập nhật:

Tôi đã thử một lần nữa, và một lần nữa không thành công. Tôi không nghĩ có bất kỳ cách nào để tạo khóa trên bộ định tuyến hoặc điện thoại, vì vậy tôi đã cố gắng tạo chúng trong Ubuntu. Tôi đã cố làm theo các hướng dẫn này để tạo khóa, nhưng chúng không chính xác. ( Ví dụ, thư mục /usr/share/doc/openvpn/examples/easy-rsa/2.0thay vì /usr/share/doc/openvpn-2.0/easy-rsa, và có một vars, nhưng không có init-configtập lệnh.) Tôi tìm thấy các hướng này , hữu ích hơn và tạo ra một số tệp:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • máy chủ
  • máy chủ.csr
  • máy chủ
  • ta.key

Các tập tin tôi sao chép vào bộ định tuyến là

  • ca.crt
  • máy chủ
  • máy chủ
  • dh1024.pem

đầu tiên tước mọi thứ trước -----BEGIN, theo các hướng dẫn này . Máy chủ bộ định tuyến bắt đầu ngay bây giờ và nói

Tên Giá trị tối đa hàng đợi bcast / mcast 0

trong Tình trạng. Vì vậy, tôi đoán máy chủ đang làm việc?

Sau đó, tôi đã sao chép các tập tin này vào điện thoại:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • máy chủ
  • ta.key

Các hướng khác nhau không đồng ý về việc sao chép tập tin. Sau đó, tôi đã đi đến Cài đặt → Vị trí & bảo mật → Cài đặt từ thẻ SD và có thể cài đặt chứng chỉ CA, thêm mật khẩu, v.v. Cố gắng thêm htc_g2 hoặc chứng chỉ máy chủ không hoạt động, nói "không có chứng chỉ để cài đặt". Tôi đã chỉnh sửa các tập tin và loại bỏ mọi thứ trước đó -----BEGIN, và sau đó chúng được cài đặt. Trong "Thêm OpenVPN VPN", tôi đã chọn chứng chỉ "ca" cho "Đặt chứng chỉ CA" và chứng chỉ htc_g2 cho "Đặt chứng chỉ người dùng". Khi tôi cố gắng kết nối, nó báo "Không thể kết nối với mạng". Tương tự nếu tôi thử chứng chỉ máy chủ cho chứng chỉ người dùng.


Bạn đang chạy hệ điều hành nào trên máy tính ở nhà?
newuser

@JonnyP: Máy tính gia đình là Ubuntu nhưng tôi thích sử dụng bộ định tuyến hơn máy tính.
endolith

1
Ở giai đoạn này, tôi khuyên bạn nên cố gắng để thiết lập OpenVPN hoạt động với máy khách máy tính để bàn OpenVPN thông thường trước, sau đó sao chép cùng một thiết lập vào điện thoại của bạn.
onik

Tôi không thể tin rằng không ai biết làm điều này. Tại sao tùy chọn tồn tại nếu không ai từng sử dụng nó?
endolith

Tôi có một người bạn đã thiết lập nó ... trên CM 6 . Anh ta đã phải phát hành lại tất cả các certs VPN sau khi anh ta thấy rằng máy khách CM yêu cầu một số trường nhất định phải được đặt. Tôi sẽ xem liệu tôi có thể lấy thêm thông tin từ anh ấy không.
Broam

Câu trả lời:


1

Trước hết, hãy kiểm tra Keystab trong TomatoVPN để xem bạn đã có một số khóa mặc định được xác định chưa. Nếu không, hãy xem OpenVPN HOWTO để biết thông tin về cách tạo khóa. Tiếp theo, sao chép hai khóa đầu tiên (chứng chỉ CA và Máy chủ) từ vùng văn bản sang trình chỉnh sửa văn bản và lưu chúng với .cerhậu tố và chuyển chúng vào điện thoại của bạn. CM7 có thể nhập .cerchứng chỉ trực tiếp nhưng các phiên bản cũ hơn có thể cần sử dụng tệp .p12 (xem liên kết này để biết thông tin về cách chuyển đổi .crt -> .pem ->.p12). Sau này, đi để Settings -> Security -> Install from SD Cardtải chứng chỉ vào điện thoại.


Liên kết đó có 14.000 từ. Bạn có thể chỉ cho tôi trực tiếp đến các phần có liên quan? Thế hệ khóa có khác không nếu tôi muốn kết nối các máy tính khác với bộ định tuyến của mình ngoài điện thoại? Tôi đã thêm chi tiết cho câu hỏi.
endolith

1
Các khóa tương tự cũng được sử dụng cho các máy khách bình thường. Tôi không có kinh nghiệm về TomatoVPN, nhưng bạn có thể đặt ít nhất một vài khóa máy khách khác nhau. Ngoài ra, có thể sử dụng cùng một lúc các phím trên các thiết bị khác nhau, nhưng điều này phụ thuộc vào cài đặt OpenVPN. Việc tạo khóa được mô tả dưới tiêu đề "Thiết lập Tổ chức phát hành chứng chỉ (CA) của riêng bạn và tạo chứng chỉ và khóa cho máy chủ OpenVPN và nhiều máy khách". Nếu bạn sử dụng khóa và giữ chúng an toàn, không cần xác thực người dùng / vượt qua trong các trường hợp thông thường. Chuyển hướng cổng sẽ là duy nhất ...
onik

... một trong những bạn cần thay đổi trong cài đặt CM7.
onik

Lý do cho downvote?
onik

1

OK, vậy hãy làm rõ vấn đề.

Bạn có thể vui lòng giải thích tập tin nào cho? Ví dụ: "ta.key" để làm gì?

Thông thường, có danh sách tệp ở phía Máy chủ:

  1. server.conf (cấu hình của máy chủ, có vẻ như bạn chưa có tệp này?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

và máy chủ cũng nên chứa một bộ khóa khách.

Đối với phía khách hàng, cần có:

  1. khách hàng
  2. khách hàng
  3. ca.crt
  4. client.ovpn (hoặc client.conf)

Tôi không thể thấy lý do tại sao bạn có ta.key?

để biết cách tạo các tệp p12, đây là hướng dẫn:

Mở một thiết bị đầu cuối Linux (LƯU Ý: bạn nên cài đặt sẵn OpenSSL), nhập

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

(bạn nên thay thế nội dung của dấu ngoặc vuông bằng dấu ngoặc của bạn và không cần giữ bất kỳ dấu ngoặc vuông nào.)

sau đó tệp p12 có tên certs.p12 sẽ được tạo.

Hy vọng nó sẽ giúp.


Tôi không biết ta.key là gì. Các máy chủ dường như đang chạy ok. Tôi chỉ không biết làm thế nào để kết nối với nó. /tmp/etc/openvpn/server1có các tập tin này trong đó : ca.crt config.ovpn dh.pem server.crt server.key status. Có lẽ config.ovpnlà giống như server.conf?
endolith

@endolith có, config.ovpn giống như sever.conf. Bạn có thể cần chỉnh sửa config.ovpn trước khi bắt đầu OpenVPN.
dumbfingers

@endolith bạn có muốn kết nối với OpenVPN từ điện thoại Android CM7 hoặc ở nơi nào khác không?
dumbfingers

Bộ định tuyến đang chạy một máy chủ OpenVPN và tôi muốn kết nối với nó bằng điện thoại CM7 của mình, vâng.
endolith

@endolith Trước tiên, hãy sử dụng lệnh tôi đã cung cấp để tạo tệp p12, sao chép nó vào thẻ SD điện thoại của bạn. Thực hiện theo điều này trên menu của Điện thoại: Cài đặt - Không dây & Mạng - Cài đặt VPN - Thêm VPN, sau đó chọn OpenVPNAdd VPN và điền vào các tùy chọn: [Tên VPN] bất kỳ như bạn muốn [Đặt máy chủ VPN] điền địa chỉ IP, giống như "từ xa" trong client.ovpn [Xác thực người dùng] nếu bạn sử dụng người dùng / mật khẩu, hãy điền nó. [Đặt chứng chỉ CA] chạm và nhập chứng chỉ ca [Đặt chứng chỉ người dùng] chạm và nhập chứng chỉ người dùng (client.crt) Bạn có thể cần kiểm tra các tùy chọn nâng cao. Đó là tất cả.
dumbfingers
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.