Truy cập từ xa máy chủ hỗ trợ gia đình của bạn với DuckDNS và Let’s Encrypt
Nếu bạn muốn truy cập an toàn vào phiên bản Trợ lý gia đình của mình từ internet, bạn có thể chọn đăng ký đám mây riêng của nền tảng, được gọi là Nabu Casa. Nó không chỉ cho phép bạn truy cập vào ngôi nhà thông minh của mình và điều khiển tất cả các thiết bị của bạn từ mọi nơi mà còn hỗ trợ các nhà phát triển.
Tuy nhiên, nếu bạn không muốn trả phí đăng ký hàng tháng, thay vào đó, bạn có thể sử dụng tiện ích bổ sung DuckDNS và Let’s Encrypt để định cấu hình Home Assistant và truy cập ngôi nhà thông minh của bạn một cách an toàn qua internet.
Mục Lục
Trước khi bắt đầu
Chúng tôi sẽ sử dụng phương pháp ‘chuyển tiếp cổng’ để hiển thị máy chủ Trợ lý tại nhà cục bộ của chúng tôi với Internet. Mặc dù chuyển tiếp cổng sẽ cho phép bạn truy cập vào ngôi nhà thông minh của mình từ xa, nhưng nó cũng có thể nguy hiểm nếu bạn không bảo mật kết nối. Khi bạn để máy chủ cục bộ như Home Assistant lên internet bằng phương pháp chuyển tiếp cổng, luôn có nguy cơ bị truy cập trái phép. Các tác nhân đe dọa có thể dễ dàng xâm nhập vào mạng của bạn và có thể có toàn quyền kiểm soát các thiết bị của bạn.
Tuy nhiên, nếu bạn mã hóa kết nối bằng SSL / TLS và làm theo một số phương pháp hay nhất trong khi để máy chủ tiếp xúc với thế giới bên ngoài, bạn có thể ngăn chặn những trường hợp như vậy và truy cập vào máy chủ một cách an toàn.
Ngoài ra, bạn có thể sử dụng tiện ích bổ sung cộng đồng Cloudflared để bảo mật cài đặt Trợ lý gia đình và truy cập từ xa.
Thiết lập miền phụ DuckDNS
Truy cập DuckDNS.org và đăng nhập bằng tài khoản Google, Reddit, GitHub, Twitter hoặc Persona của bạn. Hoàn thành captcha và sau đó tạo miền phụ DuckDNS. Tên nên độc đáo và tốt nhất là dễ nhớ. Chúng tôi sẽ sử dụng URL này để kết nối từ xa với phiên bản Trợ lý tại nhà của chúng tôi.
Tên miền phụ, nếu có, sẽ được thêm vào tài khoản của bạn. Đảm bảo nhập IP công cộng của bạn vào ip hiện tại đồng ruộng. Bạn có thể tìm thấy IP công cộng của mình bằng cách sử dụng tìm kiếm của Google: chỉ cần nhập “IP của tôi là gì”.
Ngoài ra, hãy sao chép mã thông báo DuckDNS. Giữ mã thông báo này an toàn vì nó bí mật.
Chuyển tiếp cổng qua Cài đặt của Bộ định tuyến
Đăng nhập vào bộ định tuyến của bạn và định cấu hình chuyển tiếp cổng. Để tìm hiểu cách bật chuyển tiếp cổng trong kiểu bộ định tuyến cụ thể của bạn, hãy sử dụng tìm kiếm của Google. Ngoài ra, bạn có thể truy cập Port Forward và nhấp vào nhà sản xuất bộ định tuyến của bạn, sau đó là số kiểu hoặc tên để tìm hiểu cách bật chuyển tiếp cổng trong bộ định tuyến của bạn. Bạn cũng có thể tìm thấy một số video hướng dẫn trên YouTube về cách thiết lập chuyển tiếp cổng trong các bộ định tuyến khác nhau.
Bạn cần định cấu hình chuyển tiếp hai cổng TCP:
- 8123 để truy cập Home Assistant từ xa
- 443 để sử dụng các tích hợp như Alexa Media Player.
Vì chúng tôi sử dụng bộ định tuyến TP-Link A6 V3 nên chúng tôi đã giải thích các bước tương tự bên dưới.
- Đăng nhập vào bộ định tuyến và nhấp vào Nâng cao. IP đăng nhập thường là 192.168.0.1 hoặc 192.168.1.1.
- Bấm vào Chuyển tiếp NAT > máy chủ ảo.
- Nhấp chuột + Thêm.
- Nhập tên vào loại dịch vụ, chẳng hạn như “Trợ lý tại nhà”. Điều này sẽ giúp bạn nhận ra lý do tại sao bạn đặt cổng này về phía trước.
- Nhập giá trị 443 Trong Cổng bên ngoài và 8123 Trong Cổng nội bộ. Ngoài ra, hãy nhập địa chỉ IP của phiên bản Trợ lý tại nhà và chọn TCP từ Giao thức trình đơn thả xuống.
- Lặp lại bước và thêm một máy chủ ảo mới, nhưng lần này với Cổng bên ngoài và Cổng bên trong được đặt thành 8123 bằng địa chỉ IP của máy chủ Trợ lý tại nhà của bạn. Hãy chắc chắn để chọn TCP từ Giao thức trình đơn thả xuống.
Định cấu hình Tiện ích bổ sung DuckDNS trong Trợ lý tại nhà
Cài đặt và định cấu hình tiện ích bổ sung DuckDNS trong Home Assistant bằng cách làm theo các bước sau:
- Mở Trợ lý nhà và đi tới Cài đặt > Tiện ích bổ sung.
- Nhấn vào Cửa hàng bổ trợ và tìm kiếm tiện ích bổ sung DuckDNS.
- Chọn DuckDNS tiện ích bổ sung từ kết quả tìm kiếm và sau đó nhấp vào Cài đặt cái nút.
- Sau khi cài đặt, hãy truy cập Cấu hình và nhấp vào ba dấu chấm ở trên cùng. Chọn Chỉnh sửa trong YAML.
- Trong trình chỉnh sửa YAML, hãy dán mã sau. Đảm bảo thay thế mã thông báo và URL miền bằng URL và mã thông báo miền phụ DuckDNS của bạn.
domains:
- casadesmart.duckdns.org
token: a269c73b-b185-44e3-87ea-77ca759bc9c4
aliases: []
lets_encrypt:
accept_terms: true
algo: secp384r1
certfile: fullchain.pem
keyfile: privkey.pem
seconds: 300 - Nhấp chuột Tiết kiệm.
- Ngoài ra, hãy bật Bắt đầu khởi động và Cơ quan giám sát các tùy chọn trong tiện ích bổ sung DuckDNS.
- Nhấp chuột Bắt đầu để khởi động tiện ích bổ sung DuckDNS và nhấp vào Nhật ký.
- Tiếp tục nhấn Làm mới nút cho đến khi bạn nhìn thấy Tạo fullchain.pem…. + Đã xong!
Cập nhật Configuration.yaml
Mở cấu hình.yaml tập tin bằng cách sử dụng Trình chỉnh sửa tệp hoặc Mã Visual Studio tiện ích bổ sung và thêm các dòng sau để cho Trợ lý gia đình biết nơi chứng chỉ SSL và khóa được lưu trữ cho kết nối HTTPS.
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
Nhấp chuột Tiết kiệm và sau đó đi đến Những công cụ phát triển > Kiểm tra cấu hình. Kiểm tra xem Trợ lý tại nhà có khởi động hay không. Nếu có, sau đó nhấp vào Khởi động lại để các thay đổi có hiệu lực.
Sau khi khởi động lại, bạn có thể nhận được cảnh báo chứng chỉ khi truy cập Home Assistant qua IP cục bộ. Cảnh báo này có thể được bỏ qua. Thay vào đó, hãy sử dụng tên máy chủ để truy cập Home Assistant trên mạng cục bộ. Ở giai đoạn này, bạn sẽ có thể truy cập và đăng nhập vào Trợ lý tại nhà của mình thông qua URL DuckDNS.
Định cấu hình ứng dụng đồng hành
Nếu bạn sử dụng điện thoại thông minh của mình để truy cập và điều khiển các thiết bị thông minh thông qua ứng dụng đồng hành Trợ lý gia đình, bạn phải cập nhật URL bên ngoài để truy cập Trợ lý gia đình từ bên ngoài mạng của bạn thông qua ứng dụng đồng hành. Đối với điều này, hãy làm theo các bước sau:
- Mở ứng dụng đồng hành Trợ lý Home trên thiết bị của bạn. Đảm bảo rằng thiết bị được kết nối với mạng cục bộ.
- Đi đến Cài đặt > Ứng dụng đồng hành quyền mua.
- Nhấn vào tài khoản người dùng của bạn ở trên cùng và sau đó nhấn vào URL bên ngoài.
- Nhập URL DuckDNS bắt đầu bằng HTTPS.
- Vỗ nhẹ Tiết kiệm.
Khởi động lại ứng dụng để các thay đổi có hiệu lực. Bây giờ bạn có thể ngắt kết nối khỏi mạng cục bộ và kết nối với mạng di động. Mở ứng dụng; Giao diện người dùng Trợ lý Trang chủ sẽ có thể truy cập được qua internet trên điện thoại thông minh của bạn.
Thiết lập Alexa cho Cảnh báo bằng giọng nói thông minh
Sau khi bạn đã kết nối và tiếp xúc với máy chủ Trợ lý gia đình với Internet, bạn có thể định cấu hình tích hợp Alexa Media Player. Nó yêu cầu ủy quyền, điều này chỉ có thể thực hiện được khi máy chủ Trợ lý tại nhà của bạn được tiếp xúc với Internet một cách an toàn (HTTPS). Việc tích hợp cho phép bạn phát giọng nói và điều khiển các thiết bị Echo và Fire TV. Bạn có thể sử dụng dịch vụ Text To Speech để phát cảnh báo qua thiết bị Echo. Ví dụ: chúng tôi đã thiết lập cảnh báo bằng giọng nói khi thùng nước đầy, một nửa hoặc cạn. Bạn có thể phát các cảnh báo này từ một thiết bị Echo duy nhất hoặc tất cả chúng cùng một lúc. Bạn có thể tìm thấy sự tích hợp này trong HACS.
Quyền truy cập miễn phí và an toàn vào Trợ lý tại nhà
Với DuckDNS và Let’s Encrypt được thiết lập trong phiên bản Home Assistant, giờ đây bạn có thể truy cập an toàn vào ngôi nhà thông minh của mình từ bất kỳ đâu qua internet bằng điện thoại thông minh hoặc bất kỳ thiết bị nào khác có thể chạy trình duyệt web. Sau khi đưa Trợ lý gia đình của bạn lên internet, điều quan trọng là bạn phải bật xác thực đa yếu tố (MFA) —sử dụng Google Authenticator, Authy, v.v. — để bảo vệ ngôi nhà thông minh của bạn khỏi tất cả các loại bot, tấn công lừa đảo và các cuộc tấn công có chủ đích.