systemd-socket-proxyd SSH SOCKS tunelindən sonra da işləyə bilər
Socket yönləndirmə köməkçisinin ömür dövrünü SSH asılılığı ilə uyğunlaşdırın ki, ölü tunel sağlam görünən ön hissə buraxmasın.
SSH çıxdıqdan sonra ön port hələ də bağlantı qəbul edirsə, hər üç vahidi yoxlayın. Aktivləşdirmə soketi, systemd-socket-proxyd köməkçisi və SSH-in yaratdığı SOCKS dinləyicisi fərqli ömürlərə malikdir:
| Soket | Köməkçi | SSH | Şərh |
|---|---|---|---|
| Dinləyir | Qeyri-aktiv | Qeyri-aktiv | Adi qaydada tələbi gözləyir ola bilər |
| Dinləyir | Aktiv | Aktiv | Proseslər var; son təyinatın sağlamlığı sübut olunmayıb |
| Dinləyir | Aktiv | Qeyri-aktiv | Ön hissə arxa hissəsi olmadan iş qəbul edə bilər |
Köməkçini və SSH-i birlikdə başlatmaq sonrakı dayanma keçidini müəyyən etmir. Tuneli olmadan aktiv qalmamalı olan köməkçi üçün systemd daha güclü əlaqəni sənədləşdirir:
[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service
Bunu real dizaynda uyğun vahidə tətbiq edin. Requires= və sıralama əlaqənin yalnız bir hissəsini həll edir. Artıq aktiv olan ön hissə arxa hissəsi yox olduqdan sonra aktivləşdirməni bir daha heç vaxt işə salmaya bilər. Uğursuz vahid vəziyyətini və başlama sürəti limitlərini də yoxlayın; asılılıqlar bu limitləri aşmır.
Sonra başlanğıc hazırlığını müəyyən edin. After= işləri sıralayır, Type=simple SSH dinləyicisinin hazırlığını yox. Sabit gözləmə yavaş autentifikasiya zamanı uğursuz ola bilər. Tələb olunan dinləyicini quran başlanğıc müqaviləsindən istifadə edin; ExitOnForwardFailure=yes yönləndirmə qurulumunun uğursuzluğunu tutur, sonrakı təyinat əlçatanlığını yox.
Nəhayət, boş dayanma çıxışını və yenidən aktivləşdirməni təyin edin. Yönləndirmə demonunun boş-dayanma seçimi aktiv bağlantıların olmamasına aiddir, açıq bağlantıda bayt olmamasına yox. Sakit sessiya onu aktiv saxlaya bilər. Növbəti tələb lazımi xidmətləri aktivləşdirməlidir və yenidən başlatma dövrələri məhdud və görünən qalmalıdır. Dinləyicini yenidən yaratmaq yeni bağlantılara yol verir; köhnə proksilənmiş TCP sessiyalarını bərpa etmir.