Connector kurulumu
Connector, ağınızın içinde çalışan küçük aracıdır ve iç uygulamalarınıza ulaşan tek şeydir. Dışarı bağlanır, hiçbir zaman dinlemez ve güvenlik duvarı kuralı gerektirmez. Cloud ve kendi sunucusunda kuran müşterilerin ikisinin de yaptığı adım budur.
Connector nedir
Uygulamaların bulunduğu ağın içindeki bir makinede çalıştırdığınız bir konteynerdir. Data-plane'e doğru şifreli bir WebSocket tüneli açar ve açık tutar; giriş ve yetki kontrollerinden geçen her tedarikçi isteği bu tünelden iner ve iç adrese son adımı Connector atar. İnternetten hiçbir şey ona bağlanamaz, çünkü dinlediği hiçbir port yoktur.
Hedef uygulamaları Connector üzerinde yapılandırmazsınız. Her uygulamanın iç adresi konsoldaki kaynağında durur ve Manager o adresi her istekle birlikte tünelden gönderir. Uygulama eklemek, Connector makinesine bir daha dokunmak demek değildir.
Her Connector makinesi iki oturum motorunu da çalıştırır: kayıtlı RDP, SSH ve VNC oturumları için guacd, izole tarayıcı için KasmVNC. Kurulum komutu ikisini de connector'ın yanında, özel bir Docker ağında başlatır; ayrıca açılacak bir şey yoktur.
1Konsolda connector ekleyin
Infrastructure → Connectors sayfasını açıp Add connector seçin. Konsol, MANAGER_URL, DATAPLANE_URL ve tek kullanımlık PAIR_CODE değerleri doldurulmuş, çalıştırmaya hazır tek bir komut gösterir. Olduğu gibi kopyalayın.
docker run iki oturum motorunu dışarıda bırakır; ayrıca konteyner adı access-connector ve veri hacmi adı access_connector_data, konsolun daha sonra göstereceği Re-pair ve Update komutlarının beklediğiyle aynı olmalıdır.2Komutu ağınızdaki bir makinede çalıştırın
Makinede Docker olmalı, komuttaki iki adrese 443 portundan dışarı erişebilmeli ve yayımlayacağınız iç uygulamalara ağ üzerinden ulaşabilmelidir. Küçük bir sanal makine ya da mevcut bir yardımcı sunucu yeter. Komutu yapıştırıp çalıştırın; üç imaj çeker ve üç konteyner başlatır.
| Konteyner | Görevi |
|---|---|
| access-connector | Dışarı bağlanan aracı. Belirteci access_connector_data hacminde durur; yeniden başlatmalardan sonra eşleme kodu olmadan tekrar bağlanır. |
| captivo-guacd | RDP, SSH ve VNC kaynakları için oturum motoru. |
| captivo-kasm | İzole tarayıcı motoru (KasmVNC). |
Yalnızca connector konteynerinin sadeleştirilmiş hali, fikir vermesi için. Konsolun gerçek komutu daha uzundur ve iki motoru da başlatır; onu kullanın.
docker run -d \
--name access-connector --restart unless-stopped \
-e MANAGER_URL=https://manager.access.example.com \
-e DATAPLANE_URL=wss://connect.access.example.com \
-e PAIR_CODE=<konsoldaki tek kullanımlık kod> \
-v access_connector_data:/data \
ghcr.io/captivo-io/captivo-access-connector:latestMANAGER_URL konsol adresiniz, DATAPLANE_URL ise wss://connect.cloud.captivo.io olur. Kendi sunucunuzda DNS'te oluşturduğunuz manager ve connect adresleridir. Her iki durumda da konsol doldurur; siz hiç yazmazsınız.3Çevrimiçi olduğunu doğrulayın
Infrastructure → Connectors sayfasına döndüğünüzde yeni connector birkaç saniye içinde Online olur. Ayrıntı sayfası canlı telemetriyi (sürüm, çalışma süresi, etkin ve toplam bağlantı, giren ve çıkan bayt, reddedilen denemeler) ve günlüğün son satırlarını gösterir. Offline kalıyorsa makinede docker logs access-connector sebebini söyler; Connector çevrimdışı görünüyor rehberi olağan sebepleri tek tek ele alır.
Erişim sınırı: ALLOWED_TARGETS ve egress politikası
Kendi haline bırakılırsa Connector, Manager'ın ona yönlendirdiği her iç adrese bağlanır. Buna sert bir tavan koymak için connector konteynerine -e ALLOWED_TARGETS=... ekleyin: virgülle ayrılmış CIDR, alan adı ya da adres:port listesi, örneğin 10.0.5.0/24,jira.internal,192.168.1.50:8080. Listenin dışındaki her şey, bir kaynak oraya işaret etse bile reddedilir.
ALLOWED_TARGETS tanımlarsanız iki motoru da listeye eklemelisiniz, yoksa uzak masaüstü ve izole tarayıcı oturumları çalışmaz: captivo-guacd:4822, captivo-kasm:6901 ve captivo-kasm:7900.Konsol ayrıca connector'ın ayrıntı sayfasından ona bir egress politikası gönderebilir. İkisi kesişim olarak birleşir: bir hedefe bağlanılması için ikisini de sağlaması gerekir. Makinede tanımlanan değişken tavandır; konsoldan gönderilen politika onu yalnızca daraltabilir, hiçbir zaman genişletemez. Böylece ele geçirilmiş bir kontrol düzlemi bile connector'ı yerel sınırının yasakladığı bir yere ulaştıramaz.
| Değişken | Anlamı |
|---|---|
| MANAGER_URL | Konsol adresi; kayıt için kullanılır. Zorunlu. |
| DATAPLANE_URL | Tünel adresi. wss:// ile başlamalı; ws:// tünel şifresizdir. Zorunlu. |
| PAIR_CODE | Tek kullanımlık eşleme kodu. Yalnızca ilk çalışmada okunur; belirteç kaydedildikten sonra yoksayılır. |
| ALLOWED_TARGETS | İsteğe bağlı erişim tavanı, yukarıdaki gibi. |
| TOKEN_FILE | Connector belirtecinin saklandığı yer. Varsayılan /data/token. |
| LOG_LEVEL | Başlangıç günlük seviyesi (debug, info, warn, error). Varsayılan info; konsol canlı olarak değiştirebilir. |
Veri dizini, yedek ve kayıt anahtarı
/data bağlı bir veri hacmi olmalıdır; konsolun komutu bunu zaten yapar. İçinde connector belirteci durur, böylece konteyner yeniden eşlenmeden yeniden oluşturulabilir; 2.0 sürümünden beri oturum kayıtlarının kendisi de buradadır: ekran akışları, tuş vuruşu günlükleri ve izole tarayıcı videosu, ilk açılışta üretilen ve /data/recording.key dosyasında tutulan bir anahtarla AES-256-GCM ile şifrelenmiş halde. Dizin bir hacim üzerinde değilse connector açılışta günlüğüne uyarı yazar, çünkü o durumda bir docker rm her kaydı yok eder.
- Veri hacmini recording.key dahil yedekleyin. Cloud'da bile başka kimsede kopyası yoktur; anahtar olmadan kayıtlar okunamaz ve anahtar yeniden üretilemez.
- Diski yalnızca belirteç için değil, kayıtlar için boyutlandırın. Bir kayıt oturum ne kadar sürerse o kadar sürer, hiçbir şey onu yarıda kesmez; diski sınırlayan konsoldaki saklama süresidir, connector bunu kendi dosyalarına uygular, bir de oturumlarınızın tipik uzunluğu.
- Bir kayıt yalnızca bu connector çevrimiçiyken oynatılır ve aranır; konsoldan istenen bir silme, connector bir sonraki bağlanışında tamamlanır.
Kayıtların nasıl açıldığı, izlendiği ve silindiği Oturum kaydı ve canlı izleme rehberinde.
Güncelleme, yeniden eşleme ve günlük seviyesi
Güncelleme. Yeni connector imajını çekip konteyneri yeniden oluşturun; /data içindeki belirteç kalır, connector eşleme kodu olmadan yeniden bağlanır. Daha yeni bir sürüm varsa connector'ın ayrıntı sayfası tam güncelleme komutunu gösterir ve uygulanana kadar connector'ı Outdated olarak işaretler. Connector'lar sunucu tarafındaki güncellemeyle hiçbir zaman güncellenmez; Cloud'da da kendi sunucunuzda da.
Yeniden eşleme. Veri hacmi kaybolduysa ya da belirteç iptal edildiyse ayrıntı sayfasındaki Re-pair işlemi yeni bir eşleme kodu ve çalıştırılacak komutu verir. Connector'a bağlı kaynaklar o geri gelince çalışmayı sürdürür.
Günlük seviyesi. Ayrıntı sayfasındaki Logging bölümünden sorun giderirken connector'ı istek başına günlük tutan debug seviyesine, sonra tekrar info'ya alabilirsiniz; değişiklik tünel üzerinden canlı gönderilir, yeniden dağıtım gerekmez. Aynı sayfa connector'ın son günlüğünü, guacd'den gelen Gateway logs ve KasmVNC'den gelen Isolated browser logs çıktılarını gösterir; başarısız bir uzak masaüstü bağlantısı makineye girmeden okunabilir.
Ürün geneli sorunlar için: Connector çevrimdışı görünüyor · Uygulama açılmıyor · Passkey ile giriş yapılamıyor