Ако предњи порт прихвата везе након што SSH изађе, прегледајте све три јединице. Активациони сокет, systemd-socket-proxyd помоћник и SOCKS слушалац који је створио SSH имају различит животни век:

СокетПомоћникSSHТумачење
СлушаНеактиванНеактиванМоже нормално да чека захтев
СлушаАктиванАктиванПроцеси постоје; здравље следећег одредишта остаје недоказано
СлушаАктиванНеактиванПредња страна може да прихвати посао без свог позадинског дела

Заједничко покретање помоћника и SSH не дефинише каснији прелаз заустављања. За помоћника који не сме да остане активан без свог тунела, systemd документује јачу везу:

[Unit]
BindsTo=ssh-socks.service
After=ssh-socks.service

Примените то на одговарајућу јединицу у стварном дизајну. Requires= и редослед решавају само део везе. Већ активна предња страна иначе можда никада више неће покренути активацију након што њен позадински део нестане. Проверите и стање неуспелих јединица и ограничења брзине покретања; зависности не поништавају та ограничења.

Затим успоставите спремност за покретање. After= распоређује послове, а не спремност Type=simple SSH слушаоца. Фиксна пауза може да закаже током споре аутентификације. Користите уговор о покретању који успоставља потребног слушаоца; ExitOnForwardFailure=yes хвата неуспех подешавања прослеђивања, а не каснију доступност одредишта.

На крају, дефинишите излаз у мировању и реактивацију. Опција излаза у мировању демона за прослеђивање односи се на одсуство активних веза, а не на недостатак бајтова на отвореној вези. Тиха сесија може да га одржава активним. Следећи захтев треба да активира потребне услуге, а петље поновног покретања треба да остану ограничене и видљиве. Поновно стварање слушаоца прихвата нове везе; не враћа старе проксиране TCP сесије.

Повезани чланци