Kết nối windows openvpn. Cài đặt OpenVPN trên VPS Windows

OpenVPN là một trong những tùy chọn VPN (mạng riêng ảo hoặc mạng ảo riêng) cho phép truyền dữ liệu qua kênh được mã hóa được tạo đặc biệt. Bằng cách này, bạn có thể kết nối hai máy tính hoặc xây dựng một mạng tập trung với một máy chủ và một số máy khách. Trong bài viết này chúng ta sẽ tìm hiểu cách tạo một máy chủ như vậy và cấu hình nó.

Như đã đề cập ở trên, với sự trợ giúp của công nghệ được đề cập, chúng tôi có thể truyền thông tin qua kênh liên lạc an toàn. Đây có thể là chia sẻ tệp hoặc truy cập Internet an toàn thông qua máy chủ đóng vai trò là cổng chia sẻ. Để tạo ra nó, chúng tôi không cần thêm thiết bị hoặc kiến ​​​​thức đặc biệt - mọi thứ đều được thực hiện trên máy tính dự định sử dụng làm máy chủ VPN.

Để tiếp tục công việc, cũng cần phải định cấu hình phần máy khách trên máy của người dùng mạng. Tất cả công việc đều bao gồm việc tạo khóa và chứng chỉ, sau đó được chuyển cho khách hàng. Những tệp này cho phép bạn lấy địa chỉ IP khi kết nối với máy chủ và tạo kênh được mã hóa được đề cập ở trên. Tất cả thông tin được truyền qua nó chỉ có thể được đọc nếu có khóa. Tính năng này có thể cải thiện đáng kể tính bảo mật và đảm bảo an toàn dữ liệu.

Cài đặt OpenVPN trên máy chủ

Cài đặt là một quy trình tiêu chuẩn với một số sắc thái mà chúng ta sẽ thảo luận chi tiết hơn.


Thiết lập phần máy chủ

Bạn nên cẩn thận nhất có thể khi thực hiện các bước sau. Mọi sai sót sẽ dẫn tới tình trạng máy chủ không thể hoạt động. Một điều kiện tiên quyết khác là tài khoản của bạn phải có quyền quản trị viên.

  1. Chúng ta hãy đi đến danh mục "dễ dàng", trong trường hợp của chúng tôi nằm ở

    C:\OpenVPN\easy-rsa

    Tìm tập tin vars.bat.sample.

    Đổi tên nó thành vars.bat(bỏ chữ "vật mẫu" cùng với một dấu chấm).

    Mở tập tin này trong trình chỉnh sửa. Điều này rất quan trọng vì chính sổ ghi chú này cho phép bạn chỉnh sửa và lưu mã một cách chính xác, giúp tránh sai sót khi thực thi chúng.

  2. Trước hết, chúng tôi xóa tất cả các nhận xét được đánh dấu màu xanh lục - chúng sẽ chỉ làm phiền chúng tôi. Chúng tôi nhận được những điều sau đây:

  3. Tiếp theo thay đổi đường dẫn đến thư mục "dễ dàng"đến cái chúng tôi đã chỉ định trong khi cài đặt. Trong trường hợp này, chúng ta chỉ cần xóa biến %File chương trình% và thay đổi nó thành C:.

  4. Chúng tôi giữ nguyên bốn tham số tiếp theo.

  5. Các dòng còn lại được điền ngẫu nhiên. Ví dụ trong ảnh chụp màn hình.

  6. Lưu các tập tin.

  7. Bạn cũng cần chỉnh sửa các tập tin sau:
    • build-ca.bat
    • build-dh.bat
    • build-key.bat
    • build-key-pass.bat
    • build-key-pkcs12.bat
    • build-key-server.bat

    Họ cần thay đổi đội

    đến đường dẫn tuyệt đối đến tệp tương ứng openssl.exe. Đừng quên lưu các thay đổi.

  8. Bây giờ hãy mở thư mục "dễ dàng", kẹp SỰ THAY ĐỔI và nhấp chuột phải vào không gian trống (không phải trên tệp). Trong menu ngữ cảnh, chọn mục "Mở cửa sổ lệnh".

    Sẽ bắt đầu "Dòng lệnh" với việc chuyển đổi sang thư mục đích đã hoàn tất.

  9. Nhập lệnh bên dưới và nhấp vào ĐI VÀO.

  10. Tiếp theo, chúng tôi khởi chạy một tệp bó khác.

  11. Chúng tôi lặp lại lệnh đầu tiên.

  12. Bước tiếp theo là tạo các tập tin cần thiết. Để làm điều này chúng ta sử dụng lệnh

    Sau khi thực thi, hệ thống sẽ nhắc bạn xác nhận dữ liệu mà chúng tôi đã nhập vào tệp vars.bat. Chỉ cần nhấn vài lần ĐI VÀO cho đến khi dòng ban đầu xuất hiện.

  13. Tạo khóa DH bằng cách chạy một tệp

  14. Chúng tôi đang chuẩn bị chứng chỉ cho phần máy chủ. Có một điểm quan trọng ở đây. Nó cần phải được đặt tên mà chúng tôi đã viết vars.bat xếp hàng "KEY_NAME". Trong ví dụ của chúng tôi đây là Khối u. Lệnh trông như thế này:

    build-key-server.bat Lumpics

    Tại đây bạn cũng cần xác nhận dữ liệu bằng phím ĐI VÀO, đồng thời nhập chữ cái này hai lần "y"(có), nếu cần (xem ảnh chụp màn hình). Bạn có thể đóng dòng lệnh.

  15. Trong danh mục của chúng tôi "dễ dàng" một thư mục mới đã xuất hiện với tên "chìa khóa".

  16. Nội dung của nó phải được sao chép và dán vào thư mục "ssl", phải được tạo trong thư mục gốc của chương trình.

    Xem thư mục sau khi dán các tập tin đã sao chép:

  17. Bây giờ chúng ta hãy đi đến danh mục

    C:\OpenVPN\config

    Tạo một tài liệu văn bản ở đây (RMB – New – Text Document), đổi tên thành máy chủ.ovpn và mở nó trong Notepad++. Chúng tôi nhập mã sau đây:

    cổng 443
    proto udp
    giai điệu phát triển
    nút nhà phát triển "VPN Lumpics"
    dh C:\\OpenVPN\\ssl\\dh2048.pem
    ca C:\\OpenVPN\\ssl\\ca.crt
    chứng chỉ C:\\OpenVPN\\ssl\\Lumpics.crt
    khóa C:\\OpenVPN\\ssl\\Lumpics.key
    máy chủ 172.16.10.0 255.255.255.0
    khách hàng tối đa 32
    duy trì 10 120
    khách hàng với khách hàng
    comp-lzo
    khóa liên tục
    kiên trì điều chỉnh
    mật mã DES-CBC
    trạng thái C:\\OpenVPN\\log\\status.log
    nhật ký C:\\OpenVPN\\log\\openvpn.log
    động từ 4
    tắt tiếng 20

    Xin lưu ý rằng tên của chứng chỉ và khóa phải khớp với tên trong thư mục "ssl".

  18. Tiếp theo chúng ta mở "Bảng điều khiển" và đi đến "Trung tâm điều khiển mạng".

  19. Nhấp vào đường dẫn "Thay đổi cấu hình bộ chuyển đổi".

  20. Ở đây chúng ta cần tìm kết nối được thực hiện thông qua "Bộ điều hợp TAP-Windows V9". Điều này có thể được thực hiện bằng cách nhấp chuột phải vào kết nối và đi đến thuộc tính của nó.

  21. Đổi tên nó thành "Vụ VPN" không có dấu ngoặc kép. Tên này phải khớp với tham số "nút nhà phát triển" trong tập tin máy chủ.ovpn.

  22. Giai đoạn cuối cùng là bắt đầu dịch vụ. Nhấn tổ hợp phím Thắng + R, nhập dòng bên dưới và nhấp vào ĐI VÀO.

  23. Chúng tôi tìm thấy một dịch vụ có tên "OpenVpnService", nhấp chuột phải và đi đến thuộc tính của nó.

  24. Thay đổi kiểu khởi động thành "Tự động", khởi động dịch vụ và nhấp vào "Áp dụng".

  25. Nếu chúng tôi làm mọi thứ chính xác, thì chữ thập đỏ sẽ biến mất gần bộ chuyển đổi. Điều này có nghĩa là kết nối đã sẵn sàng để sử dụng.

Thiết lập phía khách hàng

Trước khi bắt đầu thiết lập máy khách, bạn cần thực hiện một số hành động trên máy chủ - tạo khóa và chứng chỉ để thiết lập kết nối.


Công việc cần thực hiện trên máy khách:


Việc này hoàn tất việc cấu hình máy chủ và máy khách OpenVPN.

Phần kết luận

Việc tổ chức mạng VPN của riêng bạn sẽ cho phép bạn bảo vệ thông tin được truyền đi nhiều nhất có thể, cũng như giúp việc lướt Internet an toàn hơn. Điều chính là phải cẩn thận hơn khi thiết lập các phần máy chủ và máy khách; với các hành động phù hợp, bạn sẽ có thể tận hưởng tất cả các lợi ích của mạng ảo riêng.

Chúng tôi rất vui mừng chào đón bạn đến với trang web của chúng tôi! Những hướng dẫn này nhằm giúp bạn thiết lập kết nối VPN bằng ứng dụng khách OpenVPN dành cho hệ điều hành Windows 7.

Thiết lập máy chủ VPN trên Windows 7 có thể cần thiết vì nhiều lý do, nhưng thông thường nhất là cần có máy chủ VPN để tổ chức truy cập từ xa vào một máy tính khác ở nhà hoặc tại văn phòng. Tuy nhiên, trước khi tạo kênh VPN, bạn phải có quyền quản trị viên trên máy tính của mình và cũng có quyền truy cập vào bộ định tuyến nếu bạn cần thực hiện chuyển tiếp cổng trong quá trình thiết lập.

Để thiết lập kênh VPN qua OpenVPN cho Windows 7, bạn cần:

  • Hệ điều hành Windows 7;
  • chương trình OpenVPN;
  • tập tin cấu hình từ nhà cung cấp.

Vì vậy, hãy bắt đầu thiết lập kết nối VPN bằng OpenVPN.

1. Điều đầu tiên bạn cần làm là tải bộ cài đặt OpenVPN về máy tính (bạn có thể lấy nó tại). Tải trình cài đặt xuống máy tính của bạn hoặc nhấp ngay vào nút “Chạy”, như trong ảnh chụp màn hình bên dưới

2. Sau khi bạn nhấp vào “Chạy”, quá trình tải xuống trình cài đặt thực sự sẽ bắt đầu

3. Sau khi tải về hoàn tất, bạn sẽ được nhắc cài đặt chương trình trên máy tính, bạn đồng ý và nhấn nút “Run” lần nữa, xem hình bên dưới

4. Khi bắt đầu cài đặt, hãy nhấp vào nút C:\Program Files\OpenVPN.

5. Sau đó, bạn sẽ được yêu cầu đọc giấy phép sử dụng phần mềm đã cài đặt, sau khi đọc xong, bạn nhấp vào “Tôi đồng ý” (“Tôi chấp nhận”)

6. Cửa sổ tiếp theo liệt kê tập hợp các thành phần sẽ được cài đặt trên máy tính của bạn; không thay đổi bất cứ điều gì ở đây và nhấp vào “Tiếp theo” lần nữa.

7. Trong cửa sổ này, bạn có thể chọn đường dẫn cài đặt chương trình; theo mặc định, OpenVPN sẽ được cài đặt trong thư mục C:\Program Files\OpenVPN. Nếu bạn hài lòng với đường dẫn này, hãy nhấp vào nút “Cài đặt”.

8. Trong quá trình cài đặt chương trình, trên màn hình sẽ hiển thị một cửa sổ nơi bạn cần xác nhận việc cài đặt trình điều khiển, nhấp vào “Cài đặt”

9. Đợi quá trình cài đặt chương trình hoàn tất và nhấp lại vào nút “Tiếp theo”.

10. Sau khi cài đặt hoàn tất, hãy nhấp vào nút “Hoàn tất”.

11. Bây giờ bạn cần sao chép tệp cấu hình nhận được từ nhà cung cấp vào thư mục tại đường dẫn này: C:\Program Files\OpenVPN\config, để thực hiện việc này, hãy chuyển đến thư mục đã chỉ định, gọi menu ngữ cảnh và chọn “Dán”

12. Sau đó, một yêu cầu truy cập sẽ xuất hiện trên màn hình của bạn, tại đó bạn nhấp vào “Tiếp tục”

13. Để OpenVPN hoạt động chính xác, nó phải được chạy với quyền quản trị viên. Trong hệ điều hành, để làm được điều này, bạn phải thay đổi các thuộc tính tương thích. Để thực hiện việc này, hãy chuyển đến menu “Bắt đầu” và nhấp chuột phải vào phím tắt OpenVPN-GUI và chọn “Thuộc tính”

14. Chuyển đến tab “Tương thích” và chọn hộp kiểm “Chạy chương trình này với tư cách quản trị viên”, sau đó nhấp vào “OK”

15. Khởi chạy OpenVPN-GUI từ menu Bắt đầu

16. Mở menu chương trình ở khay (góc phải) và chọn “Kết nối”

17. Sau đó, một cửa sổ chứa nội dung của nhật ký kết nối sẽ mở ra trên màn hình của bạn

18. Nếu bạn đã làm mọi thứ chính xác, lời nhắc kết nối VPN sẽ xuất hiện trong khay

Sau khi hoàn thành mười tám bước đơn giản này, giờ đây bạn có thể định cấu hình kênh VPN một cách độc lập thông qua giao thức OpenVPN cho hệ điều hành Windows 7.

Triển khai mở công nghệ VPN - Mạng riêng ảo, được thiết kế để tạo mạng riêng ảo giữa một nhóm các nút từ xa về mặt địa lý qua kênh truyền dữ liệu mở (Internet). OpenVPN phù hợp cho các tác vụ như bảo mật kết nối mạng từ xa đến máy chủ mà không cần mở quyền truy cập Internet vào máy chủ đó, giống như thể bạn đang kết nối với máy chủ trên mạng cục bộ của mình. Bảo mật kết nối đạt được bằng mã hóa OpenSSL.

Làm thế nào nó hoạt động?

Sau khi quá trình thiết lập OpenVPN hoàn tất, máy chủ sẽ có thể chấp nhận các kết nối mạng được bảo vệ SSL bên ngoài tới bộ điều hợp mạng ảo (tun/tap) được tạo khi khởi chạy dịch vụ VPN mà không ảnh hưởng đến các quy tắc xử lý lưu lượng truy cập của các giao diện khác (bên ngoài). Bộ điều hợp Internet, v.v.) Có thể định cấu hình quyền truy cập chia sẻ cho máy khách OpenVPN tới một bộ điều hợp mạng cụ thể có trên máy chủ. Phần thứ hai của hướng dẫn thảo luận về việc tạo đường hầm lưu lượng truy cập Internet của người dùng. Với phương thức chuyển tiếp này, máy chủ xử lý các kết nối VPN cũng sẽ thực hiện chức năng của một máy chủ proxy (Proxy) - thống nhất các quy tắc cho hoạt động mạng của người dùng và thay mặt nó định tuyến lưu lượng truy cập Internet của máy khách.

Cài đặt OpenVPN trên máy chủ

Bạn phải tạo chứng chỉ SSL riêng cho từng máy khách VPN.

Có một tùy chọn trong cấu hình OpenVPN cho phép bạn sử dụng một chứng chỉ cho nhiều máy khách (xem tệp máy chủ.ovpn-> tùy chọn "trùng lặp-cn"), nhưng điều này không được khuyến khích từ quan điểm bảo mật. Chứng chỉ có thể được tạo trong tương lai khi khách hàng mới kết nối. Vì vậy, bây giờ chúng ta sẽ chỉ tạo một cái cho client khách hàng1:

Chạy các lệnh sau để tạo khóa máy khách: cd\
cd "C:\Program Files\OpenVPN\easy-rsa"
.\build-key.bat client1

Lưu ý: đối số client1 là tên của tệp trong tương lai.

Trong trường Tên chung, chúng tôi chỉ ra tên của khách hàng (trong trường hợp của chúng tôi là client1).

Tùy chọn Diffie Hellman

Để hoàn tất quá trình thiết lập mã hóa, bạn cần chạy tập lệnh tạo tham số Diffie-Hellman: .\build-dh.bat

Màn hình hiển thị thông tin tạo tham số như sau:

Chuyển khóa/chứng chỉ đã tạo

Các chứng chỉ được tạo nằm trong thư mục C:\Program Files\OpenVPN\easy-rsa\keys. Sao chép các tập tin được liệt kê dưới đây vào thư mục C:\Tệp chương trình\OpenVPN\config:

  • ca.crt
  • dh2048.pem/dh1048.pem
  • máy chủ.crt
  • máy chủ.key

Cấu hình máy chủ OpenVPN

Trong cây, tìm thư mục HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. Ở bên phải cửa sổ, tìm biến IPEnableRouter, bấm đúp để chuyển đến cửa sổ chỉnh sửa giá trị và thay đổi nó thành 1 , do đó cho phép đánh địa chỉ vào VPS.

Tự động khởi động OpenVPN

Hãy cấu hình ngay dịch vụ OpenVPN để tự khởi động khi hệ thống khởi động. Khai mạc "Dịch vụ" Các cửa sổ. Tìm OpenVPN trong danh sách -> RMB -> Properties -> Launch: Tự động

Điều này hoàn thành cấu hình cơ bản của máy chủ mạng riêng ảo. Tìm tập tin C:\Tệp chương trình\OpenVPN\config\server.ovpn-> nhấp chuột phải -> "Khởi động OpenVPN trên cấu hình này" để khởi động máy chủ mạng riêng ảo và tệp cài đặt mà chúng tôi đã chuẩn bị.

Cấu hình máy khách OpenVPN

Các ứng dụng máy khách OpenVPN có sẵn cho tất cả các hệ điều hành phổ biến: Windows/Linux/iOS/Android. Đối với MacOS, ứng dụng khách được sử dụng Đường hầm. Tất cả các ứng dụng này đều hoạt động với cùng một tệp cấu hình. Có thể chỉ có sự khác biệt nhỏ giữa một số lựa chọn. Bạn có thể tìm hiểu về chúng bằng cách nghiên cứu tài liệu dành cho ứng dụng khách OpenVPN của mình. Trong hướng dẫn này, chúng tôi sẽ xem xét việc kết nối máy khách Windows bằng cách sử dụng cùng bản phân phối chương trình mà chúng tôi đã cài đặt trên máy chủ. Khi sử dụng các ứng dụng cho hệ điều hành khác, logic thiết lập cũng tương tự.

  1. Cài đặt trên máy khách.
  2. Chúng tôi sao chép các tệp chứng chỉ ứng dụng khách được tạo trước đó trên máy chủ (2 chứng chỉ có phần mở rộng .crt và một khóa có phần mở rộng .key) vào thư mục C:\Program Files\OpenVPN\config và sử dụng tệp cấu hình máy khách client.ovpn của chúng tôi. Sau khi sao chép vào thiết bị của người dùng, tệp cuối cùng sẽ bị xóa khỏi máy chủ hoặc được chuyển từ thư mục config để tránh nhầm lẫn sau này.
  3. Mở tệp client.ovpn. Tìm dòng remote my-server-1 1194 và cho biết trong đó địa chỉ IP hoặc tên miền của máy chủ VPN:
    xa 1194

    Ví dụ: từ xa 111.222.88.99 1194

  4. Tìm mọi cách để có được chứng chỉ. Chúng tôi chỉ ra trong đó đường dẫn đến các chứng chỉ đã sao chép trước đó ca.crt, client1.key, client1.crt như trong ví dụ dưới đây:
    # Xem thêm file cấu hình máy chủ
    # Sự miêu tả. Tốt nhất nên sử dụng
    # một cặp tệp .crt/.key riêng biệt
    #cho mỗi khách hàng. Một ca duy nhất
    # tệp có thể được sử dụng cho tất cả khách hàng.
    ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
    cert "C:\\Program Files\\OpenVPN\\config\\client1.crt"
    khóa "C:\\Program Files\\OpenVPN\\config\\client1.key"
    # Tập tin này phải được giữ bí mật
  5. Lưu các tập tin. Quá trình thiết lập phía máy khách đã hoàn tất.

Kiểm tra quy tắc tường lửa của Windows

Chú ý!Để dịch vụ OpenVPN hoạt động chính xác, yêu cầu các cổng thích hợp phải được mở ở phía bắc (UDP 1194 mặc định). Kiểm tra quy tắc tương ứng trong Tường lửa hoặc phần mềm chống vi-rút của bên thứ ba.

Kiểm tra kết nối OpenVPN

Khởi chạy máy chủ OpenVPN, để thực hiện việc này, hãy vào thư mục C:\Program Files\OpenVPN\config và chọn tệp cấu hình máy chủ (chúng ta có server.ovpn -> RMB ->

Khởi động máy khách, để thực hiện việc này, hãy vào thư mục C:\Program Files\OpenVPN\config và chọn tệp cấu hình máy khách (chúng tôi có client.ovpn -> RMB -> "Khởi động OpenVPN trên tệp cấu hình này").

Cửa sổ trạng thái kết nối sẽ xuất hiện trên màn hình. Sau vài giây nó sẽ được thu nhỏ vào khay. Chỉ báo màu xanh lục của phím tắt OpenVPN trong vùng thông báo cho biết kết nối thành công.

Hãy kiểm tra khả năng truy cập của máy chủ OpenVPN từ thiết bị khách bằng địa chỉ mạng riêng nội bộ của nó:


Giờ đây, bạn đã có một mạng riêng ảo sẵn sàng sử dụng, cho phép bạn tạo các kết nối mạng an toàn giữa máy khách và máy chủ, sử dụng các điểm kết nối Internet mở và từ xa về mặt địa lý.

— triển khai miễn phí công nghệ Mạng riêng ảo (VPN) với mã nguồn mở để tạo các kênh điểm-điểm hoặc máy chủ-máy khách được mã hóa giữa các máy tính. Nó cho phép bạn thiết lập kết nối giữa các máy tính phía sau tường lửa NAT mà không cần phải thay đổi cài đặt của chúng. OpenVPN được tạo bởi James Yonan và được cấp phép theo GNU GPL.

Trong bài viết này, ở dạng đơn giản và dễ tiếp cận, chúng tôi sẽ cố gắng hướng dẫn bạn cách thiết lập máy chủ OpenVPN của riêng bạn. Chúng tôi không có ý định rằng khi đọc xong bài viết này, bạn sẽ hiểu thấu đáo tất cả các nguyên tắc “cách thức hoạt động” hoặc hiểu được sự phức tạp của mạng, nhưng chúng tôi muốn rằng nhờ đó bạn sẽ có thể thiết lập máy chủ OpenVPN từ cào. Vì vậy, bạn có thể coi bài viết này như một loại hướng dẫn từng bước cho người dùng. Trên thực tế, có rất nhiều tài liệu và sách hướng dẫn trên Internet dành riêng cho việc triển khai OpenVPN, nhưng chúng nhằm vào người dùng hoặc quản trị viên hệ thống đã được đào tạo hoặc hệ thống Linux được sử dụng làm ví dụ để trình diễn. Chúng tôi sẽ đi theo hướng khác và cho bạn biết cách thiết lập OpenVPN trên máy tính của người dùng bình thường, tức là. máy trạm có cài đặt hệ điều hành Windows. Tại sao bạn có thể cần thông tin này? Ví dụ: bạn muốn chơi một trò chơi với những người bạn không hỗ trợ chơi qua Internet mà chỉ qua mạng cục bộ hoặc chẳng hạn như bạn đang tham gia hỗ trợ người dùng từ xa nhưng vì lý do nào đó bạn không muốn sử dụng phần mềm như TeamViewer hoặc Ammyy Admin, vì Bạn không muốn máy chủ của bên thứ ba tham gia vào quá trình truyền dữ liệu của bạn hoặc thiết lập kết nối. Trong mọi trường hợp, kinh nghiệm thực tế trong việc tổ chức mạng riêng ảo(VPN) sẽ hữu ích cho bạn.

Điều chỉnh máy chủ

Vì vậy, hãy bắt đầu. Trong ví dụ của chúng tôi, một máy được cài đặt Windows XP Professional SP3 (x86) sẽ hoạt động như một máy chủ OpenVPN và một số máy có Windows 7 x64 và Windows 7 x86 sẽ đóng vai trò là máy khách (mặc dù trên thực tế sơ đồ được mô tả trong bài viết sẽ hoạt động trên các cấu hình khác). Giả sử rằng PC sẽ hoạt động như một máy chủ OpenVPN có địa chỉ IP tĩnh màu trắng trên Internet (nếu địa chỉ IP do nhà cung cấp của bạn cung cấp là địa chỉ động thì bạn cần phải đăng ký với DynDNS hoặc Không có IP), nếu điều kiện này được đáp ứng, nhưng PC nằm phía sau bộ định tuyến hoặc tường lửa phần cứng, bạn sẽ phải chuyển tiếp các cổng cần thiết (chúng ta sẽ nói về điều này bên dưới, khi chúng ta chuyển thẳng sang phần thiết lập máy chủ), nếu bạn có không biết nó là gì và dùng để làm gì, chúng tôi khuyên bạn nên đọc bài viết trên trang web của chúng tôi.

  1. Chúng ta truy cập trang web chính thức của dự án OpenVPN, đến phần Tải xuống -. Tải xuống từ đó bản phân phối tương ứng với bản phát hành hệ điều hành Windows của bạn (Trình cài đặt 32 bit hoặc 64 bit). Tại thời điểm viết bài này, bản phân phối openvpn-install-2.3_rc1-I002-i686.exe đã có sẵn cho hệ điều hành 32 bit và openvpn-install-2.3_rc1-I002-x86_64.exe tương ứng cho hệ điều hành 64 bit . Bởi vì Chúng tôi đã quyết định rằng chúng tôi sẽ cài đặt máy chủ trên WinXP x86, tức là. trên HĐH 32 bit, sau đó tải xuống bản phân phối từ liên kết đầu tiên.
  2. Khởi chạy trình cài đặt đã tải xuống. Ở giai đoạn chọn đường dẫn cài đặt, hãy nhập C:\OpenVPN(xem ảnh chụp màn hình), điều này sẽ giúp chúng tôi thiết lập dễ dàng hơn trong tương lai: Sau đó nhấp vào “Tiếp theo” cho đến khi quá trình cài đặt hoàn tất. Nếu trong quá trình cài đặt, ở giai đoạn chọn thành phần để cài đặt, bạn có một “cửa sổ trống”, chẳng hạn như sau:
    Sau đó, rõ ràng là bạn đã tải xuống bản phân phối "sai", trong trường hợp đó hãy thử tải xuống phiên bản phát hành mới nhất của openvpn-2.2.2-install.exe (nó được cài đặt trên cả hệ thống x86 và x64). Khi cài đặt đúng, cửa sổ chọn thành phần sẽ trông như thế này:
    Tất cả các hộp kiểm trong đó đều được chọn theo mặc định khi cài đặt, không cần thay đổi gì thêm. Nếu quá trình cài đặt thành công, thì trong Bảng điều khiển -> Kết nối mạng (hoặc, nếu bạn đang cài đặt máy chủ trên Windows 7 hoặc Windows Vista, trong Trung tâm mạng và chia sẻ -> Thay đổi cài đặt bộ điều hợp), bạn sẽ thấy Bộ điều hợp TAP-Win32 V9. sẽ được gọi là “Kết nối khu vực địa phương X” (X là số được hệ thống tự động gán):
    Trạng thái của nó sẽ là “Cáp mạng không được kết nối”, bởi vì Chúng tôi chưa cấu hình máy chủ của mình.
  3. Chúng tôi tạo một thư mục con SSL trong thư mục OpenVPN; các khóa và chứng chỉ do máy chủ cấp sẽ được lưu trữ trong đó. Tiếp theo, khởi chạy notepad và sao chép văn bản sau vào đó: #dev tun dev tap #dev-node "VPN" proto tcp-server #proto udp port 7777 tls-server server 10.10.10.0 255.255.255.0 comp-lzo # Route-method exe # tuyến đường để máy chủ xem các mạng phía sau máy khách # tuyến 192.168.x.0 255.255.255.0 10.10.10.x # tuyến đường được thêm vào bảng định tuyến của mỗi máy khách để xem mạng phía sau máy chủ # push "route 192.168.x .0 255.255.255.0 " # cho phép các máy khách vpn nhìn thấy nhau, nếu không, tất cả các máy khách vpn sẽ chỉ nhìn thấy thư mục # máy chủ client-to-client với các mô tả về cấu hình của từng client-config-dir C:\\OpenVPN\ \config\\ ccd # tệp mô tả các mạng giữa máy khách và máy chủ ifconfig-pool-persist C:\\OpenVPN\\config\\ccd\\ipp.txt # đường dẫn cho khóa và chứng chỉ máy chủ dh C:\\OpenVPN \\ssl\\dh1024 .pem ca C:\\OpenVPN\\ssl\\ca.crt cert C:\\OpenVPN\\ssl\\Server.crt key C:\\OpenVPN\\ssl\\Server.key #persist-key tls- auth C:\\OpenVPN\\ssl\\ta.key 0 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 keepalive 10 120 trạng thái C:\\OpenVPN\\log\\openvpn-status .log log C:\ \OpenVPN\\log\\openvpn.log động từ 3 Chúng ta sẽ tập trung vào các tham số được mô tả ở đây sau. Sau đó chúng tôi lưu nó vào một tập tin C:\OpenVPN\Config\Server.ovpn, xin lưu ý rằng tệp phải có phần mở rộng .ovpn, đối với điều này, các tùy chọn trong hộp thoại lưu phải chính xác như trong hình:
    Nếu bạn đang chạy Windows 7/Windows Vista và Notepad không cho phép lưu file Máy chủ.ovpn vào một thư mục C:\OpenVPN\Config\, có nghĩa là bạn cần chạy nó với quyền quản trị viên. Để thực hiện việc này, nhấp chuột phải vào phím tắt Notepad trong menu Bắt đầu và chọn "Chạy với tư cách quản trị viên": Bây giờ chúng ta cũng sẽ tạo một file bằng notepad C:\OpenVPN\easy-rsa\vars.bat, sao chép văn bản sau vào đó: @echo off set path=%path%;c:\OpenVPN\bin set HOME=c:\OpenVPN\easy-rsa set KEY_CONFIG=openssl.cnf set KEY_DIR=c:\OpenVPN\ssl set KEY_SIZE=1024 set KEY_COUNTRY=RU set KEY_PROVINCE=Kaluga set KEY_CITY=Kaluga set KEY_ORG=CompKaluga set KEY_EMAIL=decker@site Và cả tập tin C:\OpenVPN\easy-rsa\openssl.cnf : # # Tệp cấu hình ví dụ OpenSSL. # Điều này chủ yếu được sử dụng để tạo yêu cầu chứng chỉ. # # Định nghĩa này khiến các dòng sau không bị nghẹt nếu HOME không được # xác định. HOME = . RANDFILE = $ENV::HOME/.rnd # Thông tin NHẬN DẠNG ĐỐI TƯỢNG bổ sung: #oid_file = $ENV::HOME/.oid oid_section = new_oids # Để sử dụng tệp cấu hình này với tùy chọn "-extfile" của tiện ích # "openssl x509", hãy đặt tên ở đây phần chứa phần mở rộng # X.509v3 để sử dụng: #extensions = # (Hoặc, hãy sử dụng tệp cấu hình chỉ có # Phần mở rộng X.509v3 trong phần [= mặc định] chính của nó.) [ new_oids ] # Chúng ta có thể thêm OID mới vào đây để "ca" và "req" sử dụng. 3.4 # Hoặc sử dụng thay thế tệp cấu hình như thế này: # testoid2= $(testoid1).5.6 ############################################## ######################### [ ca ] default_ca = CA_default # Phần ca mặc định ## ############## ###################################################### ### [ CA_default ] dir = $ENV::KEY_DIR # Nơi mọi thứ được lưu giữ certs = $dir # Nơi lưu giữ các chứng chỉ đã phát hành crl_dir = $dir # Nơi lưu giữ crl đã phát hành cơ sở dữ liệu = $dir/index.txt # cơ sở dữ liệu tập tin chỉ mục. new_certs_dir = $dir # vị trí mặc định cho chứng chỉ mới. certificate = $dir/ca.crt # Serial của chứng chỉ CA = $dir/serial # Số sê-ri hiện tại crl = $dir/crl.pem # CRL Private_key hiện tại = $dir/ca.key # Khóa riêng RANDFILE = $ dir/.Rand # tệp số ngẫu nhiên riêng tư x509_extensions = usr_cert # Phần mở rộng cần thêm vào chứng chỉ # Phần mở rộng để thêm vào CRL. Lưu ý: Bộ truyền thông Netscape bị sặc trên V2 CRL # nên điều này được nhận xét theo mặc định để lại CRL V1. # crl_extensions = crl_ext default_days = 3650 # mất bao lâu để chứng nhận cho default_crl_days= 30 # bao lâu trước CRL tiếp theo default_md = md5 # nên sử dụng md nào. bảo toàn = không # tiếp tục thông qua thứ tự DN # Một vài cách khác nhau để xác định mức độ giống nhau của yêu cầu # Đối với loại CA, các thuộc tính được liệt kê phải giống nhau và các trường tùy chọn # và được cung cấp chỉ như vậy:-) chính sách = chính sách_match # Đối với chính sách CA [ chính sách_match ] countryName = khớp stateOrProvinceName = khớp tổ chứcName = khớp tổ chứcUnitName = tùy chọn commonName = địa chỉ email được cung cấp = tùy chọn # Đối với chính sách "mọi thứ" # Tại thời điểm này, bạn phải liệt kê tất cả các loại "đối tượng" được chấp nhận . [ chính sách_anything ] countryName = tùy chọn stateOrProvinceName = tên địa phương tùy chọn = tên tổ chức tùy chọn = tên đơn vị tổ chức tùy chọn = tên chung tùy chọn = địa chỉ email được cung cấp = tùy chọn ########################### ############################################## [ req ] default_bits = $ENV : :KEY_SIZE default_keyfile = privkey.pem phân biệt_name = req_distinguished_name thuộc tính = req_attributes x509_extensions = v3_ca # Các tiện ích mở rộng để thêm vào chứng chỉ tự ký # Mật khẩu cho khóa riêng nếu không có, chúng sẽ được nhắc # input_password = bí mật # đầu ra_password = bí mật # Những cái này đặt mặt nạ cho các loại chuỗi được phép. Có một số lựa chọn. # mặc định: PrintableString, T61String, BMPString. # pkix: Chuỗi có thể in, BMPString. #utf8only: chỉ UTF8Strings. # nombstr: PrintableString, T61String (không có BMPStrings hoặc UTF8Strings). # MASK:XXXX một giá trị mặt nạ theo nghĩa đen. # CẢNH BÁO: các phiên bản hiện tại của Netscape gặp sự cố trên BMPStrings hoặc UTF8Strings # vì vậy hãy thận trọng khi sử dụng tùy chọn này! string_mask = nombstr # req_extensions = v3_req # Các tiện ích mở rộng để thêm vào yêu cầu chứng chỉ [ req_distinguished_name ] countryName = Tên quốc gia (mã 2 chữ cái) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = 2 stateOrProvinceName = Tên tiểu bang hoặc tỉnh (tên đầy đủ ) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Tên địa phương (ví dụ: thành phố) localityName_default = $ENV::KEY_CITY 0. OrganisationName = Tên tổ chức (ví dụ: công ty) 0. OrganisationName_default = $ENV::KEY_ORG # chúng ta có thể làm điều này nhưng thông thường không cần thiết:-) #1. OrganisationName = Tên tổ chức thứ hai (ví dụ: công ty) #1. OrganisationName_default = World Wide Web Pty Ltd OrganisationUnitName = Tên đơn vị tổ chức (ví dụ: phần) # OrganisationalUnitName_default = CommonName = Tên chung (ví dụ: , tên của bạn hoặc tên máy chủ của máy chủ của bạn) commonName_max = 64 emailAddress = Địa chỉ email emailAddress_default = $ENV::KEY_EMAIL emailAddress_max = 40 # SET-ex3 = SET số tiện ích mở rộng 3 [ req_attributes ] challengePassword = Mật khẩu thử thách challengePassword_min = 4 challengePassword_max = 20 unstructuredName = Tên công ty tùy chọn [ usr_cert ] # Các tiện ích mở rộng này được thêm khi "ca" ký yêu cầu. # Điều này đi ngược lại nguyên tắc PKIX nhưng một số CA làm điều đó và một số phần mềm # yêu cầu điều này để tránh hiểu chứng chỉ người dùng cuối là CA. basicConstraints=CA:FALSE # Dưới đây là một số ví dụ về cách sử dụng nsCertType. Nếu nó bị bỏ qua # thì chứng chỉ có thể được sử dụng cho mọi thứ *ngoại trừ* ký đối tượng. # Điều này ổn đối với máy chủ SSL. # nsCertType = server # Đối với chứng chỉ ký đối tượng, điều này sẽ được sử dụng. # nsCertType = objsign # Đối với việc sử dụng máy khách thông thường, điều này là điển hình # nsCertType = client, email # và cho mọi thứ kể cả ký đối tượng: # nsCertType = client, email, objsign # Đây là điển hình trong keyUsage cho chứng chỉ ứng dụng khách. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # Điều này sẽ được hiển thị trong hộp danh sách nhận xét của Netscape nsComment = "Chứng chỉ được tạo OpenSSL" # Đề xuất PKIX vô hại nếu được bao gồm trong tất cả các chứng chỉ. chủ đềAltName và nhà phát hànhAltname. # Nhập địa chỉ email. # topicAltName=email:copy # Sao chép chi tiết chủ đề # issuerAltName=issuer:copy #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem #nsBaseUrl #nsRevocationUrl #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ máy chủ] # JY THÊM -- Tạo chứng chỉ với nsCertType được đặt thành "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "OpenSSL Tạo chứng chỉ máy chủ" topicKeyIdentifier=hash AuthorityKeyIdentifier=keyid,issuer:always [ v3_req ] # Tiện ích mở rộng để thêm vào yêu cầu chứng chỉ basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Tiện ích mở rộng cho đề xuất CA # PKIX điển hình. topicKeyIdentifier=hash AuthorityKeyIdentifier=keyid:always,issuer:always # Đây là những gì PKIX khuyến nghị nhưng một số phần mềm bị hỏng sẽ gây nghẹt trên # tiện ích mở rộng quan trọng. #basicConstraints = quan trọng,CA:true # Vì vậy, thay vào đó chúng tôi thực hiện việc này. basicConstraints = CA:true # Cách sử dụng khóa: đây là điển hình cho chứng chỉ CA. Tuy nhiên vì nó sẽ # ngăn việc sử dụng nó làm chứng chỉ tự ký thử nghiệm nên tốt nhất là # bỏ qua theo mặc định. # keyUsage = cRLSign, keyCertSign # Một số người cũng có thể muốn điều này # nsCertType = sslCA, emailCA # Bao gồm địa chỉ email trong tên thay thế chủ đề: đề xuất PKIX khác # topicAltName=email:copy # Sao chép chi tiết nhà phát hành # issuerAltName=issuer:copy # Mã hóa hex DER của tiện ích mở rộng: chỉ hãy cẩn thận với các chuyên gia! # obj=DER:02:03 # Trong đó "obj" là đối tượng tiêu chuẩn hoặc đối tượng được thêm # Bạn thậm chí có thể ghi đè tiện ích mở rộng được hỗ trợ: # basicConstraints= quan trọng, DER:30:03:01:01:FF [ crl_ext ] # tiện ích mở rộng CRL . # Chỉ có nhà phát hànhAltName và AuthorityKeyIdentifier mới có ý nghĩa trong CRL. # nhà phát hànhAltName=nhà phát hành:sao chép AuthorityKeyIdentifier=keyid:always,nhà phát hành:luôn Xin chúc mừng! Bạn vừa tạo các tệp cấu hình cơ bản cho máy chủ của mình. Hãy tiếp tục thiết lập nó.
  4. Để cấu hình thêm máy chủ, chúng ta sẽ cần một số kỹ năng về dòng lệnh. Trước hết, hãy tìm hiểu làm thế nào để khởi chạy nó? Có nhiều cách, ví dụ nhấn Start -> Run (hoặc tổ hợp các nút Thắng + R) trên bàn phím và nhập vào trường xuất hiện cmd và nhấn OK. Tuy nhiên, người dùng Windows 7/Windows Vista sẽ cần chạy bảng điều khiển với quyền quản trị viên; cách dễ nhất để thực hiện việc này là tạo một lối tắt tương ứng trên màn hình nền. Nhấp chuột phải vào bất kỳ khoảng trống nào trên màn hình nền và chọn “Tạo lối tắt”; trong trường “vị trí đối tượng”, chỉ cần chỉ ra ba chữ cái - cmd và gọi phím tắt cmd hoặc dòng lệnh. Tiếp theo, người dùng Windows XP chỉ cần chạy nó và người dùng Windows Vista và Windows 7 chạy nó với tư cách quản trị viên, giống như đã thực hiện ở trên với Notepad.
  5. Tiếp theo, chúng tôi nhập tuần tự các dòng trong bảng điều khiển: cd C:\OpenVPN\easy-rsa vars clean-all Đồng thời, nó sẽ trông như thế này trên màn hình:
    Tiếp theo, không đóng cửa sổ này, hãy nhập tuần tự các lệnh tạo khóa: openvpn --genkey --secret %KEY_DIR%\ta.key build-dh build-ca Lệnh cuối cùng (build-ca) sẽ tạo chứng chỉ và tổ chức phát hành chứng chỉ (CA), tuy nhiên, trong quá trình này, cô ấy sẽ hỏi bạn một số câu hỏi, theo mặc định, bạn phải trả lời bằng cách nhấn nút Enter:
    Bây giờ chúng ta hãy tạo một khóa máy chủ: build-key-server server Xin lưu ý rằng đối số thứ hai trong lệnh là tên của khóa (máy chủ), bạn phải nhập cùng tên khi trả lời câu hỏi Common Name (ví dụ: tên của bạn hoặc tên máy chủ của máy chủ của bạn), các câu hỏi còn lại có thể được trả lời theo mặc định bằng cách nhấn nút Enter. Nếu bạn đã làm mọi thứ chính xác, lệnh sẽ đề nghị ký vào chứng chỉ và xác nhận yêu cầu, cả hai câu hỏi đều phải được trả lời. Y(xem ảnh chụp màn hình):
    Nếu bạn đã làm mọi thứ chính xác, ảnh của bạn sẽ giống hệt với ảnh chụp màn hình và các dòng cuối cùng của đầu ra lệnh sẽ chứa thông báo về việc thêm thành công một bản ghi vào cơ sở dữ liệu.
  6. Sau đó, đi tới phần đính kèm “Dịch vụ và Ứng dụng” của bảng điều khiển quản lý, bạn có thể thực hiện việc này bằng cách nhấp chuột phải vào phím tắt Máy tính (Máy tính của tôi) và chọn mục menu Quản lý hoặc bằng cách nhập lệnh trong bảng điều khiển dịch vụ.msc, tìm dịch vụ "Dịch vụ OpenVPN" ở đó và chọn "Bắt đầu" từ menu chuột phải. Nếu trước đó bạn đã làm đúng mọi thứ, dịch vụ sẽ chuyển sang trạng thái “Đang chạy”. Giờ đây, bạn có thể thay đổi kiểu khởi động của nó thành “Tự động”, thay vì “Thủ công” theo mặc định. Kết quả sẽ trông như thế này:
    Việc này hoàn tất việc cấu hình máy chủ, tất cả những gì còn lại là cấu hình máy khách. Để thực hiện việc này, bạn cũng cần cấp cho họ khóa và chứng chỉ, việc này được thực hiện gần như giống hệt với máy chủ, chỉ đối với máy chủ mà chúng tôi đã sử dụng lệnh build-key-server và đối với máy khách, chúng tôi sẽ sử dụng lệnh build-key.
  7. Giả sử rằng chúng ta có hai khách hàng, hãy gọi chúng là client1 và client2. Hãy thực hiện các lệnh một cách tuần tự: build-key client1 build-key client2 Trong trường hợp này, khi được hỏi Tên chung (ví dụ: tên của bạn hoặc tên máy chủ của máy chủ của bạn), bạn cũng phải cho biết tên máy khách được sử dụng trong lệnh, tức là nếu bạn đã nhập build- khóa lệnh client1, sau đó đến câu hỏi Common Name, chúng tôi trả lời client1, nếu client2 thì client2. Các câu hỏi còn lại có thể được trả lời bằng cách nhấn Enter, cuối cùng, bạn cũng sẽ được yêu cầu ký vào chứng chỉ và xác nhận yêu cầu. trả lời khẳng định cho cả hai điểm - Y. Bây giờ, chúng tôi khởi động lại dịch vụ OpenVPN để các thay đổi có hiệu lực, trong phần đính kèm quản lý dịch vụ, trong menu chuột phải “Khởi động lại” hoặc trong bảng điều khiển mà chúng tôi luôn nhập: net stop openvpnservice net start openvpnservice
  8. Bây giờ nếu chúng ta vào thư mục, chúng ta sẽ thấy các tệp khóa và chứng chỉ mà chúng ta đã tạo ở đó:
    Mỗi khách hàng sẽ cần các tập tin của mình: ca.crt .crt .key ta.key tức là đối với khách hàng 1, chúng tôi thu thập các tệp ca.crt, client1.crt, client1.key và ta.key, đối với khách hàng 2 - ca.crt, client2.crt, client2.key và ta.key, v.v. Và chúng tôi gửi chúng cho anh ấy bằng cách này hay cách khác (nghĩa là qua thư, trong kho lưu trữ có mật khẩu hoặc trên ổ đĩa flash), các tệp khóa và chứng chỉ phải được chuyển qua các kênh liên lạc đáng tin cậy và không được rơi vào tay của bên thứ ba, bởi vì trên thực tế, bằng cách sử dụng chúng, khách hàng có thể có quyền truy cập vào mạng con ảo của bạn. Trong phần tiếp theo, chúng ta sẽ xem xét việc thiết lập ứng dụng khách và giả định rằng nó đã nhận được các tệp khóa và chứng chỉ từ bạn.
  9. Nếu tường lửa được sử dụng trên PC được sử dụng làm máy chủ thì bạn cần thêm OpenVPN vào danh sách loại trừ. Đối với tường lửa Windows tích hợp trong bảng điều khiển, điều này có thể được thực hiện bằng lệnh sau: netsh tường lửa thêm chương trình được phép chương trình = C:\OpenVPN\bin\openvpn.exe name = "OpenVPN Server" ENABLE phạm vi = TẤT CẢ hồ sơ = TẤT CẢ

Thiết lập khách hàng

Thiết lập máy khách đơn giản hơn nhiều so với thiết lập máy chủ; chúng tôi không cần tạo khóa, chứng chỉ, v.v. cho máy khách, vì mọi thứ chúng tôi cần đã được chúng tôi tạo trên máy chủ và chuyển đến máy khách. Vì vậy, hướng dẫn dành cho khách hàng ngắn hơn nhiều.

Liên kết hữu ích

  • Tài liệu chính thức cho OpenVPN -
  • Trang hướng dẫn OpenVPN -
  • OpenVPN HOWTO (bằng tiếng Nga) - http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html

Câu hỏi thường gặp

Bạn có thể gửi bất kỳ câu hỏi nào bạn có đến email được chỉ định trong phần hoặc thảo luận về bài viết này.

Có thể phân phối Internet theo cách này?


Từ tác giả

Bài viết này có thể được đăng trên bất kỳ nguồn nào, sao chép toàn bộ hoặc một phần mà không bị hạn chế, miễn là duy trì liên kết tới bản gốc. Liên kết phải chứa tên tài nguyên Hỗ trợ máy tính khẩn cấp của chúng tôi ở Kaluga, được định dạng dưới dạng liên kết và cũng chứa bút danh của tác giả bài viết. Một ví dụ về liên kết như vậy có thể là:

Thiết lập máy chủ OpenVPN//Bộ bài

Ghi chú

Gần đây chúng tôi nhận được rất nhiều câu hỏi theo kiểu " Câu hỏi về bài viết của bạn ở bước 5 sau lệnh dọn dẹp tất cả, kết quả là một số tệp được sao chép từ bạn. Điều này không xảy ra với tôi. lệnh openvpn --genkey --secret %KEY_DIR%\ta.key tạo khóa cho tôi, nhưng sau đó build-dh và build-ca không cho kết quả (cmd.exe ghi rằng lệnh không phải bên trong hay bên ngoài.. . hoặc tệp thực thi), tệp ca.key không được tạo. Tôi có thể đã làm gì sai?".

Ý nghĩa chính của nó là do sự bất cẩn của chính bạn. Vấn đề khi chạy clean-all, build-key và các lệnh khác là khi cài đặt OpenVPN, bạn đã không chọn hộp kiểm OpenSSL Utilities và OpenVPN RSA Certification Management Scripts (chúng phải được chọn!). Hãy chú ý đến ảnh chụp màn hình với cửa sổ chọn thành phần ở đầu bài viết, các hộp kiểm này đều có ở đó!

OpenVPN xứng đáng nhận được sự yêu thích của các quản trị viên hệ thống khi họ cần kết nối các văn phòng từ xa với các kênh VPN một cách nhanh chóng và hiệu quả. Hôm nay chúng tôi cung cấp cho bạn một bài viết từ độc giả của chúng tôi, trong đó anh ấy sẽ cho bạn biết cách thiết lập kênh an toàn giữa các văn phòng với tính năng bảo vệ mật khẩu bổ sung trên nền tảng Windows.

Và vì vậy chúng ta cần tổ chức một kênh VPN giữa hai văn phòng. Network Office 1 (hãy gọi nó là S_OF1) và Network Office 2 (hãy gọi nó là S_OF2).

Tôi sẽ nói ngay rằng trong trường hợp của tôi, OpenVPN được cài đặt trên Windows 7 ở cả hai văn phòng.

S_OF1 bao gồm:
Máy chúng tôi cài đặt OpenVPN Server có 2 giao diện mạng.
Nó cũng được cài đặt một máy chủ proxy để phân phối Internet đến khu vực cục bộ, qua đó đóng vai trò là cổng chính cho tất cả các máy trên khu vực cục bộ (192.168.0.100)
192.168.0.100 nhìn vào mạng
192.168.1.2 nhìn ra thế giới thông qua bộ định tuyến. Bộ định tuyến có IP tĩnh, giả sử là 111.222.333.444. Bộ định tuyến chuyển tiếp cổng 1190 (trong trường hợp của tôi, cổng 1190 được chuyển tiếp tới 192.168.1.2)
Người dùng trực tuyến: 192.168.0.50

S_OF2 bao gồm:
Máy chúng tôi cài đặt OpenVPN Client có 2 giao diện mạng.
Nó cũng được cài đặt một máy chủ proxy để phân phối Internet đến khu vực cục bộ, qua đó đóng vai trò là cổng chính cho tất cả các máy trên khu vực cục bộ (172.17.10.10)
172.17.10.10 nhìn vào mạng
192.168.1.2 nhìn ra thế giới thông qua bộ định tuyến.
Người dùng trực tuyến: 172.17.10.50

Nhiệm vụ: Người dùng S_OF1 (192.168.0.50) sẽ thấy tài nguyên được chia sẻ trên Người dùng S_OF2 (172.17.10.50) và ngược lại.

Hãy bắt đầu thiết lập

Tải xuống OpenVPN theo độ sâu bit của hệ thống.

Chúng ta bắt đầu cài đặt, ở bước thứ 3 chúng ta kích hoạt các mục không hoạt động.

Bước tiếp theo là đường dẫn cài đặt. Để làm cho cuộc sống tương lai của bạn dễ dàng hơn, hãy cài đặt nó vào thư mục gốc của ổ C.

Trong quá trình cài đặt, bộ điều hợp mạng ảo sẽ được cài đặt trên hệ thống. Bộ chuyển đổi TAP-Win32 V9 và theo đó, trình điều khiển cho nó. Chương trình OpenVPN sẽ gán địa chỉ IP và mặt nạ mạng ảo OpenVPN cho giao diện này. Trong trường hợp của chúng tôi, nó được gán địa chỉ 10.10.10.1 với mặt nạ 255.255.255.0 trên máy chủ S_OF1 và 10.10.10.2 với mặt nạ tương tự trên máy khách S_OF2.

Hãy đổi tên nó thành "VPN"


Trong thư mục "C:\OpenVPN" bạn nên tạo ngay một thư mục bổ sung ssl(đây là nơi chúng tôi sẽ lưu trữ các khóa xác thực) ccd(ở đây sẽ là phần cấu hình cài đặt server cho client).

Trong thư mục dễ dàng tạo một tập tin vars.bat, tệp bó này sẽ đặt các biến cho phiên tạo chứng chỉ, trong trường hợp có liên quan đến tổ chức và địa điểm, chúng tôi sẽ điền dữ liệu của mình.

Đặt HOME=C:\OpenVPN\easy-rsa
đặt KEY_CONFIG=openssl-1.0.0.cnf
đặt KEY_DIR=C:\OpenVPN\ssl
đặt KEY_SIZE=1024
đặt KEY_COUNTRY=RU
đặt KEY_PROVINCE=Stavropol
đặt KEY_CITY= Stavropol
đặt KEY_ORG=ServerVPN
đặt KEY_EMAIL=admin@localhost
đặt KEY_CN=kiểm tra
đặt KEY_NAME=kiểm tra
đặt KEY_OU=kiểm tra
đặt PKCS11_MODULE_PATH=kiểm tra
đặt PKCS11_PIN=1234

Khởi chạy dòng lệnh với tư cách quản trị viên.


Đi tới đường dẫn C:\OpenVPN\easy-rsa, gõ lệnh vào dòng lệnh để đi

Cd C:\OpenVPN\easy-rsa

Hãy khởi động vars.bat:

Bây giờ hãy khởi động build-ca.bat. Vì chúng tôi đã điền tất cả thông tin về máy chủ nên chúng tôi giữ nguyên mọi thứ:

sau này chúng ta sẽ có hai tệp trong thư mục ssl ca.crtca.key.

Hãy khởi động build-dh.bat:

kết quả là một tập tin sẽ xuất hiện trong thư mục ssl dh1024.pem.

Chúng tôi tạo khóa máy chủ bằng cách nhập lệnh:

Build-key-server.bat ServerVPN

Ở đâu " Máy chủVPN" đây là tên máy chủ VPN của chúng tôi, như trong trường hợp của tôi,

Quan trọng! Chúng tôi chỉ định tham số "tên chung" - viết tên máy chủ VPN của chúng tôi. Chúng tôi để tất cả các tham số khác làm mặc định và trả lời có cho tất cả các câu hỏi.

kết quả chúng ta sẽ có file trong thư mục ssl Máy chủVPN.crt, Máy chủVPN.csr, Máy chủVPN.key.

Hãy bắt đầu tạo khóa máy khách.

Chúng tôi thực hiện lệnh:

Build-key.bat Người dùngVPN_1

Ở đâu " Người dùngVPN_1"Tên khách hàng của chúng tôi.

Quan trọng! Chúng tôi chỉ định tham số "tên chung" - viết tên máy khách VPN của chúng tôi (UserVPN_1). Chúng tôi để tất cả các tham số khác làm mặc định và trả lời có cho tất cả các câu hỏi.

Kết quả chúng ta sẽ có file trong thư mục ssl Người dùngVPN_1.crt, Người dùngVPN_1.csr, Người dùngVPN_1.key.

Nếu bạn có nhiều khách hàng, hãy lặp lại việc tạo khóa; không quên ghi tên cho từng khách hàng

Build-key.bat Người dùngVPN_2
build-key.bat Người dùngVPN_3

Tạo khóa tls-auth (ta.key) để xác thực gói; để thực hiện việc này, hãy chuyển đến thư mục gốc OpenVPN:

và chạy lệnh:

Openvpn --genkey --secret ssl/ta.key

Kết quả chúng ta nhận được file trong thư mục ssl ta.key.

Hãy bắt đầu tạo cấu hình máy chủ. Tạo một tập tin trong thư mục cấu hình OpenVPN.ovpn:

#Port cho hoạt động OpenVPN
cổng 1190


proto udp

#Loại giao diện
giai điệu phát triển

#Tên giao diện
nút nhà phát triển "VPN"

#Chứng chỉ mã hóa kết nối
dh C:\\OpenVPN\\ssl\\dh1024.pem


ca C:\\OpenVPN\\ssl\\ca.crt

#Chứng chỉ máy chủ
chứng chỉ C:\\OpenVPN\\ssl\\ServerVPN.crt

#khóa máy chủ
khóa C:\\OpenVPN\\ssl\\ServerVPN.key

# Bảo vệ chống lại các cuộc tấn công DOS (đối với máy chủ, sau đường dẫn đến khóa, đặt 0 và đối với máy khách 1)
máy chủ tls
tls-auth C:\\OpenVPN\\keys\\ta.key 0
tun-mtu 1500
tun-mtu-thêm 32
msfix 1450

#Dải địa chỉ IP cho mạng VPN
máy chủ 10.10.10.0 255.255.255.0


mật mã AES-256-CBC

#Nhật ký

#Một thư mục chứa tệp có tên máy khách của chúng tôi, trong trường hợp của tôi là UserVPN_1 không có phần mở rộng và trong đó ghi các lệnh sẽ được thực thi trên máy khách:
client-config-dir "C:\\OpenVPN\\ccd"


động từ 3


tắt tiếng 20

# Số lượng máy khách được kết nối đồng thời tối đa mà chúng tôi muốn cho phép
khách hàng tối đa 2

#Thời gian tồn tại của phiên không hoạt động
duy trì 10 120

#Chúng tôi cho phép khách hàng nhìn thấy nhau
khách hàng với khách hàng

#Bật tính năng nén
comp-lzo
khóa liên tục
kiên trì điều chỉnh

#Routes được thêm qua .exe, nếu không có nó thì không phải ai cũng đăng ký các tuyến đường
phương thức tuyến đường-exe

#Delay trước khi thêm tuyến đường
độ trễ tuyến đường 5

#A lệnh cho khách hàng biết rằng có một mạng cục bộ phía sau máy chủ có địa chỉ 192.168.0.0 255.255.255.0
đẩy "tuyến đường 192.168.0.0 255.255.255.0"

#Đăng ký tuyến đường trên máy chủ để xem mạng phía sau máy khách
tuyến đường 172.17.10.0 255.255.255.0 10.10.10.2

#Cổng
cổng tuyến 10.10.10.1

# mỗi máy khách được cấp 1 địa chỉ, không có cổng bộ định tuyến ảo
mạng con cấu trúc liên kết

Trong thư mục ccd tạo một tệp không có phần mở rộng và đặt tên chính xác như ứng dụng khách Người dùngVPN_1, mở nó bằng notepad và viết như sau:

#Gán cho khách hàng một IP cố định 10.10.10.2
ifconfig-push 10.10.10.2 255.255.255.0

#thông báo cho máy chủ rằng mạng của máy khách là 172.17.10.0
tuyến đường 172.17.10.0 255.255.255.0

#nếu bạn bỏ ghi chú dòng sau, ứng dụng khách sẽ bị tắt (trong trường hợp bạn cần ngắt kết nối ứng dụng khách này khỏi máy chủ và các ứng dụng khác sẽ hoạt động)
# vô hiệu hóa

Tạo một cấu hình máy khách.

#Chúng tôi yêu cầu khách hàng lấy thông tin định tuyến từ máy chủ (tùy chọn đẩy)
khách hàng

#Port cho hoạt động OpenVPN
cổng 1190

#Cho biết OpenVPN sử dụng giao thức nào
proto udp

#Loại giao diện
giai điệu phát triển

#Tên giao diện
nút nhà phát triển "VPN"

# Địa chỉ của máy chủ mà chúng tôi kết nối
từ xa 444.333.222.111 1190

#sự bảo vệ
máy chủ chứng chỉ từ xa-tls

#Cơ quan cấp chứng chỉ Chứng chỉ
ca C:\\OpenVPN\\ssl\\ca.crt

#Chứng chỉ máy chủ
chứng chỉ C:\\OpenVPN\\ssl\\UserVPN_1.crt

#chìa khóa
khóa C:\\OpenVPN\\ssl\\UserVPN_1.key

# Bảo vệ chống lại các cuộc tấn công DOS
tls-auth C:\\OpenVPN\\keys\\ta.key 1
tun-mtu 1500
tun-mtu-thêm 32
msfix 1450
ping-khởi động lại 60
ping 10

#Bật tính năng nén
comp-lzo
khóa liên tục
kiên trì điều chỉnh

# Chọn mật mã mật mã
mật mã AES-256-CBC

#Nhật ký
trạng thái C:\\OpenVPN\\log\\openvpn-status.log
nhật ký C:\\OpenVPN\\log\\openvpn.log

#Mức độ thông tin gỡ lỗi
động từ 3

#Số lượng tin nhắn trùng lặp
tắt tiếng 20

Chúng tôi cài đặt OpenVPN trên máy khách và chuyển nó sang nó ca.crt, Người dùngVPN_1.crt, Người dùngVPN_1.key, ta.key.

Chúng tôi định cấu hình tường lửa và phần mềm chống vi-rút trên máy khách và máy chủ để các gói dữ liệu được truyền đi suôn sẻ. Tôi sẽ không mô tả nó, tất cả phụ thuộc vào phần mềm chống vi-rút và tường lửa được cài đặt.

Sau tất cả những điều này, chúng tôi khởi chạy máy chủ và máy khách của mình.

Nếu mọi thứ được thực hiện chính xác, máy chủ của chúng tôi sẽ nhận được IP 10.10.10.1 và máy khách sẽ kết nối với nó và nhận IP 10.10.10.2. Và vì vậy chúng tôi đã kết nối, bây giờ máy chủ và máy khách ping nhau thông qua IP của mạng VPN của chúng tôi, tức là 10.10.10.1 và 10.10.10.2.

Để ping đi đến địa chỉ nội bộ của S_OF1 và S_OF2 của chúng tôi, bạn cần kích hoạt dịch vụ Định tuyến và truy cập từ xa.


Bạn cần vào thuộc tính của dịch vụ, định cấu hình để nó tự động bật và khởi động nó.

Sau này, chúng tôi sẽ có thể ping IP nội bộ của máy chủ và máy khách (máy khách 172.17.10.10 và máy chủ 192.168.0.100).

Nhưng phương pháp này có một nhược điểm nhỏ: sau khi bật dịch vụ này và kết nối với kênh VPN của chúng ta, dấu thập đỏ sẽ xuất hiện trên biểu tượng kết nối mạng cho đến khi VPN bị tắt.

Đồng thời tất cả các mạng đều hoạt động bình thường. Cá nhân tôi, con đường chéo này khiến tôi khó chịu và đôi khi khiến tôi bối rối.

Có một cách thứ hai để hiển thị mạng IP nội bộ của máy chủ và máy khách của chúng tôi.

Để thực hiện việc này, hãy đi tới sổ đăng ký và mở nhánh đăng ký:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TcpIP\Parameters

Tìm tham số và thay đổi giá trị: IPEnableRouter kiểu REG_DWORD nghĩa 1 .

Đừng quên khởi động lại máy để các cài đặt có hiệu lực nhé!

Điều này cần phải được thực hiện trên cả máy chủ và máy khách.

Vì vậy, chúng tôi ping mạng của mình bằng cách sử dụng IP nội bộ và vì cả máy chủ và máy khách đều là cổng cho mạng của họ nên các máy từ mạng 1 có thể nhìn thấy các máy từ mạng 2 và ngược lại. nghĩa là Người dùng S_OF1 (192.168.0.50) có thể xem các thư mục dùng chung của Người dùng S_OF2 (172.17.10.50) và ngược lại.

Nếu máy chủ và máy khách không phải là cổng vào mạng của họ thì bạn sẽ phải đăng ký các tuyến theo cách thủ công.

Ví dụ cho S_OF1:

Route -p 172.17.10.0 255.255.255.0 192.168.0.100 (máy đã cài đặt OpenVPN)

Ví dụ cho S_OF2:

Route -p 192.168.0.0 255.255.255.0 172.17.10.10 (máy đã cài đặt OpenVPN)

trong trường hợp của tôi điều này là không cần thiết.

Để tự động khởi động máy chủ và máy khách, chúng ta cần kích hoạt Dịch vụ OpenVPN

Bây giờ khi máy khởi động, máy chủ sẽ tự động khởi động và khi máy khách bật lên cũng sẽ tự động kết nối với máy chủ.

Bảo vệ bổ sung

Như bạn đã biết, OpenVPN có khả năng xác thực bằng chứng chỉ, như được mô tả ở trên, cũng như sử dụng thông tin đăng nhập và mật khẩu, nhưng bạn cũng có thể kết hợp chúng lại với nhau. Theo tôi biết, chỉ Linux mới có khả năng thiết lập xác thực đăng nhập và mật khẩu bằng các phương tiện tiêu chuẩn, nhưng điều này cũng có thể được giải quyết trong Windows. Để làm điều này trong thư mục cấu hình tạo một tập tin auth.vbs và viết những điều sau vào đó

"VBscript auth.vbs để xác thực trong OpenVPN - auth-user-pass-verify auth.vbs via-file "(c) 2007 vinni http://forum.ixbt.com/users.cgi?id=info:vinni "Hỗ trợ : http://forum.ixbt.com/topic.cgi?id=14:49976 "Tập lệnh so sánh tên người dùng theo cách không phân biệt chữ hoa chữ thường. "Nếu bạn cần cách khác, hãy xóa UCase(...) ở 2 hoặc 4 vị trí khi tiếp tục lỗi tiếp theo " mở tệp có tên được OpenVPN chuyển sang tập lệnh thông qua tham số Set fso = CreateObject("scripting.filesystemobject") Set CurrentUserPasswordFile = fso .OpenTextFile(WScript.Arguments(0),1) "1 = để đọc nếu Err.Number<>0 Sau đó, WScript.Quit(1) " đọc 2 dòng từ tệp này - tên và mật khẩu được người dùng nhập "ở đầu bên kia" nếu CurrentUserPasswordFile.AtEndOfStream thì WScript.Quit(1) UserName=CurrentUserPasswordFile.ReadLine nếu CurrentUserPasswordFile.AtEndOfStream sau đó WScript .Quit(1) Pass=CurrentUserPasswordFile.ReadLine CurrentUserPasswordFile.Close " mở biến môi trường common_name (đây là CN của chứng chỉ do khách hàng xuất trình) " và so sánh nó với tên người dùng đã nhập " nếu việc so sánh này không cần thiết , sau đó xóa 2 dòng sau hoặc nhận xét CurrentCommonName =. CreateObject("Wscript.Shell").ExpandEnvironmentStrings("%common_name%") nếu UCase(CurrentCommonName)<>UCase(UserName) rồi WScript.Quit(1) " mở tệp của chúng tôi với cơ sở dữ liệu thông tin đăng nhập và mật khẩu " theo mặc định đây là Users.pw trong thư mục hiện tại Đặt UserPasswordFileBase = fso.OpenTextFile("Users.pw",1) " 1 = để đọc nếu Err.Number<>0 Sau đó, WScript.Quit(1) " đọc các cặp dòng trong một vòng lặp, bỏ qua những dòng trống GIỮA CÁC CẶP NÀY, " và so sánh chúng với những gì người dùng đã nhập. Thực hiện trong khi không(UserPasswordFileBase.AtEndOfStream) NextUserName=UserPasswordFileBase.ReadLine nếu Err.Number<>0 Sau đó WScript.Quit(1) nếu NextUserName<>"" rồi " nếu tên người dùng cần được so sánh phân biệt chữ hoa chữ thường, thì hãy xóa UCase(...) tại đây nếu UCase(UserName)=UCase(NextUserName) thì nếu Mật khẩu=UserPasswordFileBase.ReadLine thì " nếu tên và mật khẩu khớp với cặp này từ cơ sở dữ liệu, sau đó chúng ta kết thúc tập lệnh với kết quả 0 "điều này là cần thiết cho OpenVPN"a, đây là dấu hiệu xác thực thành công UserPasswordFileBase.Close WScript.Quit(0) end if else UserPasswordFileBase.ReadLine end if end if Loop " nếu tìm kiếm không thành công thì chúng tôi kết thúc tập lệnh với kết quả 1 "điều này là cần thiết cho OpenVPN"a, đây là dấu hiệu xác thực KHÔNG THÀNH CÔNG UserPasswordFileBase.Close WScript.Quit(1)

Ngoài ra trong thư mục config, chúng tôi tạo một tệp Users.pw, ghi thông tin đăng nhập và mật khẩu của khách hàng của chúng tôi

Người dùngVPN_1
123456

Nếu có nhiều khách hàng thì:

Người dùngVPN_1
123456

Người dùngVPN_2
365214

Người dùngVPN_3
14578

Tiếp theo bạn cần viết dòng trong client config xác thực-người dùng-pass, bây giờ khi máy khách kết nối với máy chủ, một cửa sổ ủy quyền sẽ bật lên nơi bạn cần nhập thông tin đăng nhập và mật khẩu mà bạn đã chỉ định cho nó Người dùng.pw, chúng sẽ cần được truyền đạt tới khách hàng.

Tôi đã cấu hình rằng tên người dùng (đăng nhập) khớp với tên khách hàng trong chứng chỉ, nghĩa là Người dùngVPN_1. nhưng bạn có thể đặt tên khác với tên trong chứng chỉ; để làm được điều này, bạn cần xem cài đặt trong auth.vbs.

" mở biến môi trường common_name (đây là CN của chứng chỉ do khách hàng xuất trình)
" và so sánh nó với tên người dùng đã nhập.
"nếu so sánh này không cần thiết thì xóa hoặc bình luận 2 dòng tiếp theo

CurrentCommonName = CreateObject("WscrIPt.Shell").ExpandEnvironmentStrings("%common_name%")
nếu UCase(CurrentCommonName)<>UCase(Tên người dùng) rồi WScrIPt.Quit(1)
WScrIPt.Echo "Gỡ lỗi: CurrentCommonName= " & CurrentCommonName

Và để xác thực hoạt động cả bằng cách sử dụng chứng chỉ và sử dụng thông tin đăng nhập bằng mật khẩu, nhưng cửa sổ ủy quyền người dùng không bật lên, vì điều này sẽ làm trì hoãn kết nối của máy khách với máy chủ, chẳng hạn như nếu bạn tự động tải Dịch vụ OpenVPN đã được bật (như được định cấu hình trong tôi) hoặc bạn không muốn nhập thông tin đăng nhập và mật khẩu của mình mỗi lần, trong trường hợp này là trên máy khách trong thư mục ssl tạo một tập tin pass.txt và viết tên người dùng và mật khẩu của chúng tôi vào đó như thế này:

Người dùngVPN_1
123456

và trong cấu hình máy khách, chúng tôi thay đổi dòng xác thực-người dùng-pass TRÊN auth-user-pass C:\\OpenVPN\\ssl\\pass.txt.

Bây giờ tôi bật máy đã cài đặt OpenVPN -Server, dịch vụ khởi động và máy chủ VPN tự động hoạt động. Máy khách khởi động máy và cũng tự động kết nối với máy chủ của tôi. Giờ đây, bạn có thể truy cập các thư mục được chia sẻ hoặc làm việc thông qua RDP, chẳng hạn như trong 1C được cài đặt ở tổ chức khác.

liên lạc [email được bảo vệ]

  • thẻ:

Vui lòng kích hoạt JavaScript để xem