Cài đặt máy khách và máy chủ OpenVPN trên bộ định tuyến DD-WRT

Bộ định tuyến Linksys WRT54GDD-WRT là phần sụn nguồn mở cho một loạt các bộ định tuyến. Nhiều bộ định tuyến có rất nhiều khả năng mà các nhà cung cấp không cung cấp quyền truy cập thông qua giao diện quản trị của bộ định tuyến. Chương trình cơ sở DD-WRT mở khóa mọi thứ mà bộ định tuyến của bạn có khả năng, bao gồm trở thành máy khách OpenVPN và / hoặc máy chủ OpenVPN.

Xem thêm: VPN tốt nhất cho bộ định tuyến DD-WRT.

Tôi lấy bộ định tuyến DD-WRT ở đâu?

Linksys đã sản xuất các bộ định tuyến WRT gốc. Phần sụn nguồn mở DD-WRT ngày nay dựa trên phần mềm WRT Linksys được phát triển cho loạt bộ định tuyến WRT54G của nó. Phần ’DD dáng của DD-WRT là một dấu mũ cho mã số giấy phép cho thành phố Dresden, Đức, nơi người duy trì chính của dự án DD-WRT sống.

Ngày nay, có thể mua các bộ định tuyến đã chạy DD-WRT từ Linksys và các nhà sản xuất bộ định tuyến khác. Nó cũng có thể cài đặt DD-WRT trên nhiều nhãn hiệu bộ định tuyến khác đi kèm với phần sụn độc quyền được cài đặt. Ví dụ: bộ định tuyến của tôi là TP-Link c1900 ArcherC9 đi kèm với phần mềm TP-Link. Tôi đã flash nó với firmware DD-WRT thích hợp và bây giờ nó là một bộ định tuyến DD-WRT.

Tại sao cài đặt OpenVPN trên bộ định tuyến của bạn?

Bộ định tuyến của bạn dưới dạng máy khách OpenVPN

Cho rằng có một ứng dụng khách OpenVPN cho hầu hết mọi máy tính, máy tính bảng và điện thoại trên thị trường, nó không phải lúc nào cũng rõ ràng tại sao cài đặt OpenVPN trên bộ định tuyến của bạn có thể là một lợi thế.

Kết nối bộ định tuyến của bạn trực tiếp với nhà cung cấp VPN của bạn có nghĩa là bạn không nhất thiết phải chạy phần mềm VPN trên bất kỳ thiết bị nào của bạn. Hy vọng rằng bạn đang sử dụng WPA2 hoặc một số mức mã hóa tương đương trên mạng nội bộ của mình để có thể hợp lý khi cho rằng lưu lượng truy cập được bảo vệ phần nào khỏi con mắt tò mò. Nhưng một khi lưu lượng truy cập của bạn chạm vào bộ định tuyến, nó sẽ đi qua mạng ISP của bạn đến đích. Định cấu hình bộ định tuyến của bạn dưới dạng máy khách VPN đảm bảo lưu lượng truy cập rời khỏi bộ định tuyến của bạn được mã hóa khi nó đi qua ISP của bạn cho đến khi nó đạt đến điểm đầu ra VPN trên internet công cộng.

Ưu điểm của việc chạy máy khách VPN trên bộ định tuyến của bạn bao gồm:

  • Chỉ cần một kết nối đến máy chủ VPN. Điều này có thể giúp tránh các giới hạn kết nối được đặt ra bởi một số nhà cung cấp VPN.
  • Nhiều thiết bị như Apple TV don lồng có cách cài đặt phần mềm VPN dễ dàng. Bằng cách có phần mềm VPN chạy trên bộ định tuyến của bạn, tất cả lưu lượng truy cập từ mạng của bạn sẽ đi qua VPN một cách liền mạch.
  • VPN luôn bật nên bạn không cần phải nhớ khởi động nó khi bạn muốn sử dụng.

Bộ định tuyến của bạn là máy chủ OpenVPN

Biến bộ định tuyến của bạn thành máy chủ OpenVPN có nghĩa là bạn sẽ có thể truy cập mạng gia đình từ bên ngoài. Nếu bạn trên đường nhưng cần truy cập tài liệu hoặc các máy tính khác trên mạng nội bộ, bạn có thể kích hoạt ứng dụng khách OpenVPN, kết nối với bộ định tuyến của bạn Máy chủ OpenVPN và bạn có thể truy cập.

Làm cách nào để biến bộ định tuyến DD-WRT của tôi thành ứng dụng khách OpenVPN?

Phần mềm DD-WRT làm cho việc này trở nên rất dễ dàng vì nó hỗ trợ VPN kiểu OpenVPN và PPTP. PPTP là một giao thức VPN rất không an toàn, vì vậy chúng tôi khuyên dùng OpenVPN trên PPTP.

Xem thêm: Giao thức VPN của chúng tôi gian lận.

Đăng nhập vào bộ định tuyến của bạn. Địa chỉ đăng nhập của giao diện quản trị DD-WRT thường là 192.168.0.1, nhưng bạn có thể đã thiết lập mạng của mình theo cách khác. Khi bạn đã đăng nhập, hãy điều hướng đến Dịch vụ tab, sau đó đến VPN chuyển hướng.

thực đơn hàng đầu dd-wrt

Chúng ta sẽ cấu hình chức năng máy khách OpenVPN của bộ định tuyến. Điều đầu tiên bạn cần là một máy chủ OpenVPN để kết nối. Bạn có thể đã xây dựng máy chủ OpenVPN của riêng mình hoặc bạn có thể đang sử dụng nhà cung cấp VPN hỗ trợ OpenVPN. Tôi sẽ sử dụng ProtonVPN cho bài viết này, nhưng ngoài việc có được cấu hình OpenVPN từ Proton, sẽ không có sự khác biệt đáng kể nào trong việc thiết lập các nhà cung cấp khác nhau.

Kích hoạt cài đặt Máy khách OpenVPN

Nhấn vào Kích hoạt nút radio để mở rộng cài đặt máy khách.

Màn hình DD-WRT VPN

Hầu hết các nhà cung cấp VPN sử dụng OpenVPN sẽ cung cấp tệp cấu hình để bạn sử dụng. Trong một số trường hợp, bạn cũng sẽ cần một tên người dùng và mật khẩu. Nội dung của bất kỳ tệp cấu hình OpenVPN nào có thể khác nhau. Sẽ rất hữu ích nếu giao diện DD-WRT có chức năng nhập, nhưng vì không phải chúng ta phải cố gắng xác định phần nào của tệp cấu hình cần đi vào từng trường.

Tệp cấu hình ProtonVPN của tôi có một số cài đặt khi bắt đầu và sau đó một số tệp chứng chỉ ở cuối. Tôi đã chỉ ra một vài cài đặt mà bạn sẽ cần phải cấu hình thủ công trên bộ định tuyến DD-WRT của mình trong ảnh chụp màn hình này:

cài đặt proton dd-wrt

Trong trường hợp của ProtonVPN, tôi cũng cần nhập tên người dùng và mật khẩu của mình vào các trường thích hợp.

Các cài đặt còn lại sẽ được sao chép và dán vào trường Cấu hình bổ sung của bộ định tuyến DD-WRT.

Tại thời điểm này, chúng tôi muốn lưu cài đặt của mình bằng cách nhấp vào Tiết kiệm nút ở dưới cùng của trang. Những người có ý thức bảo mật sẽ muốn thực hiện thêm một số công việc trên các cài đặt DNS DNS của bộ định tuyến trước khi kích hoạt VPN, đó là lý do tại sao tôi không chọn nhấp vào Áp dụng cài đặt nút chưa.

Định cấu hình DNS của bạn

Khi VPN hoạt động, tất cả lưu lượng truy cập của bạn đều đi qua nó, được mã hóa, vượt ra khỏi con mắt tò mò của mạng cục bộ và ISP của bạn. Tuy nhiên, để có được mọi nơi trên internet, máy tính của bạn cần thực hiện tra cứu DNS. Tra cứu DNS giải quyết các tên miền của trang như example.com thành địa chỉ IP mà máy tính có thể sử dụng. Mặc dù các tra cứu DNS này không có thông tin thực tế nào về những gì bạn đang làm trên bất kỳ trang web cụ thể nào, họ có thể cung cấp cho người quan sát một danh sách đầy đủ về mọi trang web mà máy tính của bạn đã tra cứu và có thể đã truy cập.

Một số VPN cung cấp dịch vụ DNS ngoài VPN của họ nhưng bạn cũng có thể đặt bộ định tuyến của mình sử dụng các máy chủ DNS ẩn danh hơn bằng cách thay đổi cấu hình nhanh.

Điều hướng đến Thiết lập -> Thiết lập cơ bản và nhập các máy chủ DNS mà bạn muốn sử dụng trong các trường DNS tĩnh. Ví dụ này hiển thị các máy chủ DNS.WATCH.

dd-wrt vpn dns

Nhấn vào Áp dụng cài đặt cái nút. Bây giờ bạn có thể khởi động VPN. Quay trở lại Dịch vụ -> VPN và bấm vào tab Áp dụng cài đặt cái nút. Điều hướng đến Trạng thái -> OpenVPN tab và bạn sẽ thấy thông báo khích lệ Khách hàng: KẾT NỐI THÀNH CÔNG ở trên cùng. Lưu ý rằng tab trạng thái OpenVPN không tồn tại cho đến khi dịch vụ OpenVPN được bật.

dd-wrt vpn openvpn client thành công

Bộ định tuyến của bạn hiện đang gửi tất cả lưu lượng truy cập từ các thiết bị được kết nối thông qua VPN.

Bạn có thể xác nhận cài đặt DNS của mình đang hoạt động bằng cách sử dụng Kiểm tra rò rỉ DNS của chúng tôi.

Để tắt VPN, điều hướng quay lại tab OpenVPN, nhấp vào Vô hiệu hóa nút radio và sau đó nhấp vào nút Áp dụng cài đặt nút ở phía dưới. Cửa sổ cài đặt OpenVPN sẽ thu gọn khi bạn tắt nó, nhưng cài đặt của bạn sẽ giữ nguyên cho lần tiếp theo bạn bật.

Làm cách nào để biến bộ định tuyến DD-WRT của tôi thành máy chủ OpenVPN?

Bước đầu tiên là tạo một số chứng chỉ và khóa cho máy chủ OpenVPN sử dụng. Cách dễ nhất để làm điều này là cài đặt OpenVPN trên máy tính của bạn và sử dụng các tiện ích của nó để tạo các tệp cần thiết. Tìm hướng dẫn về cách thực hiện điều đó cho các hệ thống Windows trên trang web OpenVPN. Người dùng Linux có thể sử dụng các lệnh dưới đây. Nếu bạn quan tâm đến nhiều nền tảng hơn về thiết lập đầy đủ, tôi có một bài viết thiết lập Linux OpenVPN đầy đủ hơn ở đây. Lưu ý rằng mặc dù chúng tôi không thực sự cài đặt máy chủ OpenVPN lần này (bộ định tuyến sẽ là máy chủ), chúng tôi vẫn cần thực hiện một số công việc tương tự để tạo chứng chỉ.

Đối với Ubuntu và những người dùng dựa trên Debian khác, hãy cài đặt openvpn và các gói dễ dàng:

sudo apt-get intstall openvpn easy-rsa

Bạn cần phải sử dụng yum hoặc trình quản lý gói tương tự cho các bản phát hành dựa trên RedHat. Tên gói phải giống nhau hoặc rất giống nhau.

Tạo một thư mục để làm việc, tôi gọi tôi là openvpn

mkdir openvpn; cd openvpn

Bây giờ chạy các lệnh tạo chứng chỉ. Dán chính xác bao gồm các dấu chấm:

/ usr / bin / make-cadir CA
cd CA
nguồn ./vars
./làm sạch tất cả
./ xây dựng-ca
./ build-key-server server
./ xây dựng-dh
./ xây dựng khóa khách hàng
phím cd; openvpn –genkey –secret pfs.key

Lưu ý rằng một số lệnh sẽ nhắc thông tin vị trí được tích hợp vào chứng chỉ. Nó tốt để rời khỏi mặc định và thậm chí có thể mong muốn vì thông tin đó có thể được đọc bởi bất cứ ai. Nếu bạn muốn tùy chỉnh nó vì một số lý do, bạn có thể cập nhật các dòng 64 đến 69 CA / vars với thông tin vị trí mà bạn muốn sử dụng. Mặc định là:

xuất KEY_COUNTRY ="CHÚNG TA"
xuất KEY_PROVINCE ="CA"
xuất KEY_CITY ="SanFrancisco"
xuất KEY_ORG ="Pháo đài"
xuất KEY_EMAIL ="[email protected]"
xuất KEY_OU ="MyOrganloymentUnit"

Vào cuối của hai chuỗi thế hệ chính, bạn sẽ được yêu cầu cung cấp một mật khẩu thách thức. Không cung cấp khóa này cho khóa máy chủ vì nó sẽ ngăn OpenVPN không thể bắt đầu không giám sát. Bạn cũng có thể muốn để lại khóa máy khách mà không cần mật khẩu vì một số máy khách OpenVPN không có cách nào để bạn cung cấp khóa đó khi kết nối. Để vượt qua những lời nhắc đó mà không cung cấp mật khẩu, chỉ cần nhấn phím enter.

Lưu ý rằng lệnh cuối cùng là tùy chọn nhưng mong muốn. Đó là chìa khóa sẽ cho phép bộ định tuyến của bạn cung cấp Bảo mật Chuyển tiếp Hoàn hảo (PFS). PFS cho phép kết nối VPN của bạn đàm phán khóa tĩnh mới định kỳ trong phiên của bạn. Điều này cung cấp bảo mật bổ sung trong trường hợp khóa riêng của bạn bị xâm phạm. Không có PFS, tất cả các kết nối VPN trước đây của bạn có thể được giải mã bởi bất kỳ ai có khóa riêng của bạn. Với PFS, điều đó không thể xảy ra vì khóa thay đổi theo định kỳ và khóa thay thế biến mất trong một làn khói.

Tại thời điểm này, bạn sẽ có một loạt các tệp khóa và chứng chỉ trong thư mục CA / key:

$ ls -1 CA / khóa /
01.pem
02.pem
ca.crt
ca.key
khách hàng
khách hàng
client.key
dh2048.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
nối tiếp
nối tiếp
máy chủ
máy chủ.csr
máy chủ
pfs.key

Chúng tôi chỉ cần một vài trong số này. Mở các tệp sau trong trình soạn thảo văn bản như notepad hoặc vi. Không sử dụng bất kỳ loại trình xử lý văn bản. Sao chép các giá trị và dán chúng vào trường tương ứng của trang Máy chủ / Daemon DD-WRT OpenVPN. Trên giao diện quản trị bộ định tuyến, điều hướng đến Dịch vụ -> VPN và nhấp vào nút Bật radio trong phần Máy chủ / Daemon OpenVPN.

Các trường máy chủ openvpn dd-wrt

  • Dán ca.crt vào trường Chứng chỉ CA
  • Dán server.crt vào trường Chứng chỉ Máy chủ Công cộng
  • Dán server.key vào trường Khóa máy chủ riêng
  • Dán dh2048.pem vào trường DH PEM
  • Dán pfs.key vào Khóa xác thực TLS (giả sử bạn đã tạo khóa này)

Nếu bạn đặc biệt hoang tưởng, bạn có thể chỉ định Danh sách thu hồi chứng chỉ. Điều này sẽ báo cho máy chủ OpenVPN kiểm tra danh sách hủy bỏ trước khi chấp nhận bất kỳ chứng chỉ nào từ máy khách đang kết nối. Thiết lập và sử dụng CRL là một chút nâng cao cho bài viết này.

Nhấn vào Áp dụng cài đặt nút và máy chủ VPN của bạn sẽ bắt đầu. Bạn có thể truy cập Trạng thái-> OpenVPN trang để xem trạng thái kết nối. Lưu ý rằng lần này, thông báo cho biết Máy chủ: KẾT NỐI THÀNH CÔNG thay vì Máy khách: KẾT NỐI THÀNH CÔNG mà bạn đã thấy khi máy khách đang chạy.

dd- wrt vpn openvpn server thành công

Bước tiếp theo là tạo tệp cấu hình máy khách mà bạn có thể sử dụng trên thiết bị của mình để kết nối với máy chủ OpenVPN mới. Điều quan trọng là các cài đặt nhất định ở mỗi bên (máy khách / máy chủ) đều khen nhau. Tôi đã kết thúc với một cấu hình máy khách trông như thế này:

khách hàng
nhà phát triển
proto udp
từ xa YOU_IP_ADDRESS 1194
mật mã AES-256-CBC
tls-mật mã TLS-DHE-RSA-VỚI-AES-256-CBC-SHA
auth sha256
comp-lzo
liên kết-mtu 1570

—–BẮT ĐẦU KHÓA RIÊNG TƯ—–
Sao chép nội dung của tệp client.key của bạn và dán vào đây.
—–KẾT THÚC KẾT THÚC—–

—–CHỨNG NHẬN BEGIN—–
Sao chép nội dung của tệp client.crt của bạn và dán vào đây.
—–GIẤY CHỨNG NHẬN—–

—–CHỨNG NHẬN BEGIN—–
Sao chép nội dung của tệp ca.crt của bạn và dán vào đây.
—–GIẤY CHỨNG NHẬN—–

hướng chính 1

Sao chép nội dung của tệp pfs.key của bạn và dán vào đây

Sau đó tôi đã khởi chạy ứng dụng khách openvpn của mình và nó được kết nối:

$ sudo openvpn –config client-config.ovpn
Thứ bảy 23 tháng 6 16:05:05 2023 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] được xây dựng vào ngày 22 tháng 6 năm 2023
Thứ bảy 23 tháng 9 16:05:05 2023 phiên bản thư viện: OpenSSL 1.0.2g ngày 1 tháng 3 năm 2016, LZO 2.08
Thứ bảy 23 tháng 9 16:05:05 2023 Xác thực kênh điều khiển: tls-auth sử dụng tệp khóa tĩnh INLINE
Thứ bảy 23 tháng 9 16:05:05 2023 Liên kết UDPv4 cục bộ (bị ràng buộc): [undef]
Thứ bảy 23 tháng 9 16:05:05 2023 Liên kết UDPv4 từ xa: [AF_INET] 192.168.0.1:1194
Thứ bảy 23 tháng 9 16:05:09 2023 [máy chủ] Kết nối ngang hàng được bắt đầu với [AF_INET] 192.168.0.1:1194
Thứ bảy 23 tháng 9 16:05:12 2023 Thiết bị TUN / TAP tun0 đã mở
Thứ bảy 23 tháng 9 16:05:12 2023 do_ifconfig, tt->ipv6 = 0, tt->did_ifconfig_ipv6_setup = 0
Thứ bảy 23 tháng 9 16:05:12 2023 / sbin / ip link set dev tun0 up mtu 1497
Thứ bảy 23 tháng 9 16:05:12 2023 / sbin / ip addr thêm dev tun0 10.10.10.2/24 phát 10.10.10.255
Thứ bảy 23 tháng 9 16:05:12 2023 Trình tự khởi tạo đã hoàn thành

Tôi đang sử dụng ứng dụng khách OpenVPN dòng lệnh Linux, nhưng cùng một tệp conf này sẽ hoạt động với mọi máy khách OpenVPN trên mọi nền tảng, tôi đã thử nó trên điện thoại Android của mình bằng OpenVPN Connect và cũng có thể kết nối.

Lưu ý dòng từ xa của cấu hình máy khách của tôi. Bạn có thể sử dụng địa chỉ IP bên ngoài của mình, nhưng nếu ISP của bạn thỉnh thoảng xoay địa chỉ IP bên ngoài, bạn có thể muốn sử dụng tên máy chủ động. DNS động là một quá trình trong đó bạn liên kết một tên miền tĩnh với bộ định tuyến IP IP của bạn và tên máy chủ đó vẫn được trỏ đến địa chỉ IP chính xác ngay cả khi nó thay đổi. Tham quan Thiết lập -> DDN tab của bộ định tuyến DD-WRT của bạn để xem danh sách các nhà cung cấp DNS động mà nó hỗ trợ.

OpenVPN là một giải pháp VPN đáng tin cậy và mạnh mẽ. Nó được sử dụng rộng rãi, đặc biệt trong số các nhà cung cấp VPN có ý thức bảo mật. Bộ định tuyến chạy DD-WRT giúp dễ dàng chạy an toàn cả lưu lượng đi của bạn thông qua cấu hình máy khách OpenVPN, cũng như lưu lượng đến của bạn thông qua cấu hình máy chủ OpenVPN.

Xem thêm: Các nhà cung cấp VPN Linux tốt nhất.

Bộ định tuyến W Links54 WRT54-G bởi Webmhamster được cấp phép theo CC BY 2.0