Я борюсь с конфигурацией autoSSH.
Моя установка
- VPS как общедоступная точка контакта, клиенты будут получать доступ к IP-адресу VPS, чтобы добраться до сервера.
- Мой домашний сервер, на котором работает служба. У этой машины есть подключение по двум каналам, поэтому она может переключиться на другого интернет-провайдера, если первый упадет. (IP-адрес изменится)
Я хочу создать туннель SSH, который будет автоматически переподключаться при переключении подключения или перезапуске одной из этих двух машин (или по какой-либо причине туннель обрывается).
Обе машины работают на Debian 10 64bit без графического интерфейса.
Что я сделал:
Я создал службу Systemd, которая будет подключать туннель autossh при запуске машины, когда сеть подключена к сети. Мои услуги можно посмотреть здесь: https://paste.brcb.eu/xefobiremy.ini
Команда autossh:
/usr/bin/autossh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" mctunel@remoteIP -p 22 -N -R 25565:localhost:25565 -i /home/mc/fhkey
Моя проблема:
Всякий раз, когда переключатель подключения или что-то еще выходит из строя, туннель не восстанавливается. Служба будет просто работать без каких-либо попыток повторного подключения. Если я перезапущу сервис вручную, то получу ошибку, что форвардинг не может подключиться к порту 25565 - соединение не было закрыто на стороне VPS и порт до сих пор "используется".
Любая идея, как заставить это работать? Я даже могу использовать другое программное обеспечение, кроме autossh, если это лучше для моей ситуации.
Спасибо!