LINUX.ORG.RU

SSH один host и несколько hostname

 ,


0

1

Кто как решает такое неудобство? Допустим есть хост, который является клиентом нескольких сетей. Подключаться к нему с клиента нужно по разным сетям, в зависимости от доступности. Сейчас у меня добавлены разные суффиксы к названию хоста в ~/.ssh/config вроде

host host-vpn1
HostName 10.8.2.28
...

Host host-local
HostName 192.168.43.212
...

Host host-vpn2
HostName 10.8.0.3
...

Неудобно вспоминать каждый раз, по какой сети хост доступен. Как это вывести на автоматический уровень? Из хендмейд решений сделать скрипт, который парсит сети на интерфейсах и на основании этого заполняет адрес подключения, но это запасной вариант. Неужели нет уже готовых терминальных решений для таких случаев?

дык напиши скрипт проверялку условий, они для ентого и созданы.
к примеру:
if [ping траляляляля]; then ssh хост_трулюлюлю
if [ping васьвасьвась]; then ssh хост_петьпетьпеть

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от t184256

Если я правильно понял твою мысль, то это в некоторых случаях затруднительно (шлюз впн сети может находиться в одном городе, а локалка в другом и у нее нет белого внешнего адреса). К тому же это сильно увеличит число промежуточных узлов.

Entmatix
() автор топика
Ответ на: комментарий от pfg

Из хендмейд решений сделать скрипт, который парсит сети на интерфейсах и на основании этого заполняет адрес подключения, но это запасной вариант.

Я про это и пишу. Но это такое… костыльное какое-то решение. У меня есть хосты, которые в 6 разных сетях сидят. Получается иногда нужно будет обойти 5 адресов, чтобы понять, какой активный на данный момент.

Entmatix
() автор топика
Ответ на: комментарий от Entmatix

А, VPN не напрямую до этого хоста и неподконтролен.

Напиши подменялку /etc/hosts, умный локальный DNS-сервер или модуль nss, которые будут правильно резолвить хост в зависимости от. Но это, ИМХО, довольно неправильно, правильнее к единому IP сводить.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Общая маршрутизация между всех нужных хостов это конечно круто, но вряд ли получится.

Entmatix
() автор топика
Ответ на: комментарий от Entmatix

тебе шашечки или ехати ?? :)
ты просишь логику по определению «кто я и где я», выполненную в каком-то стороннем приложении ??
дык вот и говорю напиши ентое приложение в виде скрипта. башелапша многое стерпливает :)

pfg ★★★★★
()
Ответ на: комментарий от Entmatix

А как ты собрался не обходя узнавать, доступны они или нет?

Можно vpn поднять и ходить через нее отовсюду. А так тебе все равно придется проверять некие условия. Пинговать или захардкоживать текущую подсеть и в зависимости от нее выбирать адрес.

AVL
()

Вообще, самое верное решение, это вопспользоваться фичей bind отдавать разные адреса в зависимости от того, откуда пришел запрос.

Поднимаешь свою зону, в нее добавлешь хост и разные адреса в зависимости от того, откуда ты выходишь.

AVL
()

Вот и пришло время почитать про DNS и организовать для своих сетей свой собственный сервер имён. Рано или поздно это случается. Может быть, даже и поделитесь со своими сослуживцами, и они перестанут зависеть от левых неведомых DNS. Добавите «антирекламы» и ваш проф. или любительский уровень сильно подрастёт. Попробуйте всё же почитать про DNS и сделать свой сервер.

LaLe
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.