IoT Edge cihazını saydam ağ geçidi olarak davranacak şekilde yapılandırma
Uygulama hedefi:
IoT Edge 1,1 diğer sürümler: IoT Edge 1,2
Uygulama hedefi:
IoT Edge 1,2 diğer sürümler: IoT Edge 1,1
Bu makalede, bir IoT Edge cihazın diğer cihazlarla iletişim kurması için saydam bir ağ geçidi olarak görev yapmak üzere yapılandırmaya ilişkin ayrıntılı yönergeler IoT Hub. Bu makalede, IoT Edge ağ geçidi olarak yapılandırılmış bir IoT Edge cihaza başvurmak için ağ geçidi terimi kullanılır. Daha fazla bilgi için bkz. IoT Edge ağ geçidi olarak nasıl kullanılabilir?
Not
Önceki IoT Edge 1.1 ve daha eski sürümlerde, IoT Edge cihaz bir ağ geçidinin aşağı IoT Edge olamaz.
Aşağı akış cihazları dosya yüklemeyi kullanamıyor.
Not
Aşağı akış cihazları dosya yüklemeyi kullanamıyor.
Başarılı bir saydam ağ geçidi bağlantısı ayarlamak için üç genel adım vardır. Bu makale ilk adımı kapsar:
- Aşağı akış cihazlarının güvenli bir şekilde bağlanacak şekilde ağ geçidini bir sunucu olarak yapılandırma. Aşağı akış cihazlarından ileti almak ve bunları uygun hedefe göndermek için ağ geçidini ayarlayın.
- Aşağı akış cihazı için bir cihaz kimliği oluşturun, böylece cihaz kimliği IoT Hub. Aşağı akış aygıtını ağ geçidi cihazı üzerinden ileti gönderecek şekilde yapılandırma. Bu adımlar için bkz. Bir aşağı akış cihazında kimlik doğrulaması Azure IoT Hub.
- Bağlan aşağı akış cihazına göndererek ileti göndermeye başlamayı deneyin. Bu adımlar için bkz. Bağlan bir aşağı akış cihazına Azure IoT Edge ağ geçidine.
Bir cihazın ağ geçidi gibi davranması için aşağı akış cihazlarına güvenli bir şekilde bağlanması gerekir. Azure IoT Edge, cihazlar arasında güvenli bağlantılar kurmak için ortak anahtar altyapısı (PKI) kullanmana olanak tanır. Bu durumda, aşağı akış cihazına saydam bir ağ geçidi gibi IoT Edge cihaza bağlanmaya izin veririz. Makul bir güvenlik sağlamak için aşağı akış cihazı, ağ geçidi aygıtının kimliğini onaylamalı. Bu kimlik denetimi, cihazlarınızı kötü amaçlı olabilecek ağ geçitlerine bağlamasını önler.
Aşağı akış cihazı, bulut hizmetiyle oluşturulmuş bir kimliğe sahip herhangi bir Azure IoT Hub platform olabilir. Bu uygulamalar genellikle Azure IoT cihaz SDK'sı kullanır. Aşağı akış cihazı, ağ geçidi cihazı üzerinde çalışan IoT Edge olabilir. Ancak, IoT Edge cihaz bir ağ geçidinin aşağı IoT Edge olamaz.
Aşağı akış cihazı, bulut hizmetiyle oluşturulmuş bir kimliğe sahip herhangi bir Azure IoT Hub platform olabilir. Bu uygulamalar genellikle Azure IoT cihaz SDK'sı kullanır. Aşağı akış cihazı, ağ geçidi cihazı üzerinde çalışan IoT Edge olabilir.
Cihaz ağ geçidi topolojiniz için gereken güveni sağlayan herhangi bir sertifika altyapısı oluşturabilirsiniz. Bu makalede, IoT Hub'da X.509 CA güvenliğini etkinleştirmek için, belirli bir IoT hub'ı (IoT hub kök CA'sı) ile ilişkili bir X.509 CA sertifikası, bu CA ile imzalanan bir dizi sertifika ve IoT Edge cihazı için CA'sı içeren sertifika kurulumunun aynı olduğunu varsayalım.
Not
Bu makaleler boyunca kullanılan kök CA sertifikası terimi, PKI sertifika zincirinin en üstteki yetkili ortak sertifikasını ifade eder ve her zaman bir ortak sertifika yetkilisinin sertifika kökünü ifade eder. Çoğu durumda, aslında bir ara CA ortak sertifikasıdır.
Aşağıdaki adımlar, sertifikaları oluşturma ve bunları ağ geçidinde doğru yere yükleme işlemi boyunca size yol sağlar. Sertifikaları oluşturmak için herhangi bir makineyi kullanabilir ve ardından sertifikalarınızı IoT Edge kopyaabilirsiniz.
Önkoşullar
Linux veya Windows yüklü IoT Edge cihaz.
Hazır bir cihazınız yoksa, Azure sanal makinesi içinde bir cihaz oluşturabilirsiniz. Bir IoT Hub oluşturmak, bir sanal makine oluşturmak ve IoT Edge çalışma zamanını yapılandırmak için ilk IoT Edge modülünü bir sanal Linux cihazına dağıtma adımlarını izleyin.
Cihaz CA sertifikasını ayarlama
Tüm IoT Edge ağ geçitlerinde bir cihaz CA sertifikası yüklü olması gerekir. Güvenlik IoT Edge daemon'ı, IoT Edge iş yükü CA sertifikasını imzalamak için IoT Edge sertifikasını kullanır. Ağ geçidi, bağlantının başlatılama sırasında sunucu sertifikasını aşağı akış cihazına sunar. Aşağı akış cihazı, sunucu sertifikasının kök CA sertifikasına yuvarlanan bir sertifika zincirinin parçası olduğundan emin olmak için denetler. Bu işlem, aşağı akış cihazına ağ geçidinin güvenilir bir kaynaktan geldiğinden emin olması için izin verir. Daha fazla bilgi için bkz. Sertifikaları Azure IoT Edge anlama.

Kök CA sertifikasının ve cihaz CA sertifikasının (özel anahtarıyla) IoT Edge ağ geçidi cihazında mevcut olması ve IoT Edge yapılandırması gerekir. Bu durumda kök CA sertifikasının bu sertifika yetkilisi için en üstteki sertifika yetkilisi anlamına geldiğini IoT Edge unutmayın. Ağ geçidi cihazı CA sertifikası ve aşağı akış cihaz sertifikalarını aynı kök CA sertifikasına almak gerekir.
İpucu
Kök CA sertifikasını ve cihaz CA sertifikasını bir IoT Edge cihaza yükleme işlemi, bir IoT Edge cihazında sertifikaları yönetme altında daha ayrıntılı olarak açıklanmıştır.
Aşağıdaki dosyaları hazırlayın:
- Kök CA sertifikası
- Cihaz CA sertifikası
- Cihaz CA özel anahtarı
Üretim senaryoları için bu dosyaları kendi sertifika yetkiliniz ile oluşturabilirsiniz. Geliştirme ve test senaryoları için tanıtım sertifikalarını kullanabilirsiniz.
Kendi sertifika yetkiliniz yoksa ve tanıtım sertifikalarını kullanmak istemiyorsanız, dosyalarınızı oluşturmak üzere cihaz özelliklerini test etmek için Tanıtım sertifikaları IoT Edge yönergeleri izleyin. Bu sayfada aşağıdaki adımları atılması gerekir:
- Başlamak için, cihazınıza sertifika oluşturmak için betikleri ayarlayın.
- Kök CA sertifikası oluşturun. Bu yönergelerin sonunda bir kök CA sertifika dosyanız olacak:
<path>/certs/azure-iot-test-only.root.ca.cert.pem.
- Bir IoT Edge CA sertifikaları oluşturun. Bu yönergelerin sonunda, bir cihaz CA sertifikasına ve özel anahtarına sahip oluruz:
<path>/certs/iot-edge-device-<cert name>-full-chain.cert.pemVe<path>/private/iot-edge-device-<cert name>.key.pem
Sertifikaları farklı bir makinede oluşturduysanız, bunları IoT Edge cihazınıza kopyalayın ve sonraki adımlarla devam edin.
Yeni IoT Edge güvenlik daemon yapılandırma dosyasını açın.
- Windows:
C:\ProgramData\iotedge\config.yaml - Linux:
/etc/iotedge/config.yaml
- Windows:
Dosyanın Sertifika ayarları bölümünü bulun. Sertifikalarla başlayan dört satırı açıklamadan açın ve üç dosyanıza dosya URL'lerini aşağıdaki özellikler için değer olarak snın:
- device_ca_cert: cihaz CA sertifikası
- device_ca_pk: cihaz CA özel anahtarı
- trusted_ca_certs: kök CA sertifikası
Sertifikalarda daha önce boşluk olmadığını ve diğer satırların iki boşlukla girintili olduğundan emin olun.
Dosyayı kaydedin ve kapatın.
Yeniden IoT Edge.
- Windows:
Restart-Service iotedge - Linux:
sudo systemctl restart iotedge
- Windows:
Yapılandırma IoT Edge yapılandırma dosyasını açın:
/etc/aziot/config.tomlİpucu
Yapılandırma dosyası henüz cihazda yoksa şablon olarak kullanarak bir
/etc/aziot/config.toml.edge.templatetane oluşturun.parametresini
trust_bundle_certbulun. Bu satırın yorumlarını açın ve dosya URI'sını cihazınızın kök CA sertifika dosyasına sağlar.Dosyanın
[edge_ca]bölümünü bulun. Bu bölümdeki üç satırı açıklamadan açın ve sertifikanıza ve anahtar dosyalarınıza dosya URL'lerini aşağıdaki özellikler için değer olarak sağlar:- cert: cihaz CA sertifikası
- pk: cihaz CA özel anahtarı
Dosyayı kaydedin ve kapatın.
Yaptığınız değişiklikleri uygulayın.
sudo iotedge config apply
edgeHub'ı dağıtma ve iletileri yönlendirme
Aşağı akış cihazları, telemetri ve iletileri ağ geçidi cihazına gönderir; burada IoT Edge hub modülü, bilgileri diğer modüllere veya diğer modüllere yönlendirmeden IoT Hub. Ağ geçidi cihazınızı bu işleve hazırlamak için şunların doğru olduğundan emin olun:
IoT Edge hub modülü cihaza dağıtılır.
Bir cihaza ilk IoT Edge, yalnızca bir sistem modülü otomatik olarak başlar: IoT Edge aracı. Bir cihaz için ilk dağıtımı oluşturdukta, ikinci sistem modülü olan IoT Edge hub'ı da başlar. EdgeHub modülü cihazınız üzerinde çalışmıyorsa cihazınız için bir dağıtım oluşturun.
Bu IoT Edge modülünün aşağı akış cihazlarından gelen iletileri işlemek için ayarlanmış yolları vardır.
Ağ geçidi cihazın aşağı akış cihazlarından gelen iletileri işlemek için bir yolu olması gerekir, yoksa bu iletiler işlenmez. İletileri ağ geçidi cihazında modüllere veya doğrudan ağ geçidi IoT Hub.
IoT Edge hub modülünü dağıtmak ve aşağı akış cihazlarından gelen iletileri işlemek üzere yollar ile yapılandırmak için şu adımları izleyin:
Azure portalında IoT Hub'ınıza gidin.
Ağ IoT Edge gidin ve IoT Edge ağ geçidi olarak kullanmak istediğiniz cihaz cihazınızı seçin.
Modülleri Ayarlama'yı seçin.
Modüller sayfasında, ağ geçidi cihazına dağıtmak istediğiniz modülleri ekleyebilirsiniz. Bu makalenin amaçları doğrultusunda, bu sayfada açıkça ayarlanmış olması gerek olmayan edgeHub modülünü yapılandırmaya ve dağıtmaya odaklandik.
Sonraki: Rotalar'ı seçin.
Yollar sayfasında aşağı akış cihazlarından gelen iletileri işlemek için bir yol olduğundan emin olun. Örnek:
Bir modülden veya aşağı akış cihazından tüm iletileri gönderen bir yol, IoT Hub:
- Ad:
allMessagesToHub - Değer:
FROM /messages/* INTO $upstream
- Ad:
Tüm aşağı akış cihazlarından gelen tüm iletileri IoT Hub:
- Ad:
allDownstreamToHub - Değer:
FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream
Bu yol çalışır çünkü IoT Edge modüllerden gelen iletilerden farklı olarak aşağı akış cihazlarından gelen iletilerle ilişkilendirilmiş bir modül kimliğine sahip değil. Rotanın WHERE yan tümcesini kullanmak, bu sistem özelliğine sahip iletileri filtrelememizi sağlar.
İleti yönlendirme hakkında daha fazla bilgi için bkz. Modülleri dağıtma ve yolları oluşturma.
- Ad:
Rotanız veya yollarınız oluşturulduktan sonra Gözden geçir ve oluştur'a seçin.
Gözden geçir ve oluştur sayfasında Oluştur'a tıklayın.
Ağ geçidi cihazında bağlantı noktalarını açma
Standart IoT Edge cihazlar için herhangi bir gelen bağlantının çalışmasına gerek yok çünkü IoT Hub giden bağlantılar üzerinden yapılır. Ağ geçidi cihazları farklı çünkü aşağı akış cihazlarından ileti almaları gerekir. Aşağı akış cihazlarıyla ağ geçidi cihazı arasında bir güvenlik duvarı varsa, güvenlik duvarı üzerinden de iletişimin mümkün olması gerekir.
Bir ağ geçidi senaryosunun çalışması için, IoT Edge hub'ın desteklenen protokollerinden en az birinin aşağı akış cihazlarından gelen trafiğe açık olması gerekir. Desteklenen protokoller MQTT, AMQP, HTTPS, WebSockets üzerinden MQTT ve WebSockets üzerinden AMQP'tir.
| Bağlantı noktası | Protokol |
|---|---|
| 8883 | MQTT |
| 5671 | AMQP |
| 443 | HTTPS MQTT+WS AMQP+WS |
Sonraki adımlar
Saydam ağ geçidi olarak IoT Edge bir cihaza sahip olduğunuza göre, aşağı akış cihazlarınızı ağ geçidine güvenacak ve ona ileti gönderecek şekilde yapılandırmanız gerekir. Saydam ağ geçidi senaryosunu ayarlamaya sonraki adımlarda Azure IoT Hub için aşağı akış cihazı kimliğini doğrulama adımına devam edin.