У меня проблема при подключении через ssh по имени. У меня есть 1 основной компьютер (гигабайт) и еще 4 дополнительных компьютера (одроиды). Я использую Ubuntu во всех из них. У меня есть компьютеры в сети, использующие маршрутизатор, поэтому, когда я ssh один из одроидов, я делаю:

ssh odroid@odroid1.local

Если у меня есть маршрутизатор, подключенный к Интернету, я могу ssh все машины по имени. Но если роутер не подключен к интернету, я не могу установить ssh с последней машины. Так:

ssh odroid@odroid4.local

не работает И это происходит с двумя маршрутизаторами, которые у меня есть. Это маршрутизаторы Buffalo. С другой стороны, я могу подключиться к odroid4 по IP-адресу.

ssh odroid@192.168.11.x

Если я использую ssh -vvv odroid@odroid4.local я замечаю, что IP-адрес неверен , он дает мне:

debug1: Connecting to odroid4.local [192.168.11.1] port 22.
debug1: connect to address 192.168.11.1 port 22: Connection refused
ssh: connect to host odroid4.local port 22: Connection refused

192.168.11.1 не является IP-адресом любой машины. Я думаю, что мне не хватает какой-либо конфигурации в маршрутизаторах или на компьютерах, но я не знаю, что.

1 ответ1

1

ssh -vvv показывает, что все запросы перенаправляются на ваш шлюз (если 192.168.1.1 действительно так).

Вы, вероятно, используете DHCP для получения локальной конфигурации IP. С этим приходит конфигурация DNS-сервера, который, опять же, вероятно, является вашим локальным шлюзом. Обычно он служит ретранслятором DNS, который отправляет ваши запросы DNS на внешний DNS-сервер.

Когда у вас нет подключения к Интернету, большинство CPE (Customer Premises Equipment) предлагают специальный портал, позволяющий вам - клиенту - устранять неполадки с подключением к Интернету, если вы пытаетесь получить доступ к внешнему веб-сайту с помощью предпочитаемого браузера.

Для этого CPE использует DNS-спуфинг для перенаправления всех запросов к себе. Это довольно нормально для CPE, даже если обычно перенаправляются только HTTP-запросы, чтобы избежать такого рода проблем, а также только внешние запросы. Это может быть дефект на стороне Буффало.

Чтобы обойти это, вы можете:

  • предложите себе новый универсальный маршрутизатор;
  • дешевле установить собственный DNS-сервер в локальной сети для обработки запросов, которые вы делаете;
  • еще более минимальный, настройте локальный файл hosts.

Настройка DNS

  • Настройка файла локальной зоны с нужными именами локальной сети
  • Используйте его в качестве основного DNS-сервера
  • Используйте шлюз в качестве второго DNS-сервера.

Это может замедлить выполнение DNS-запросов в случае разрешения внешнего FQDN (в лучшем случае, на несколько сотен миллисекунд).

Файл локальных хостов

Этот файл можно редактировать для регистрации локальных полных доменных имен. Ваша система будет искать его перед отправкой DNS-запросов, и, если получит совпадение, она будет использовать связанный IP-адрес.

В Windows: C:\Windows\System32\drivers\etc\hosts

В системах Unix (включая Mac OS X): /etc/hosts

Не стесняйтесь комментировать мой ответ, если он не решит вашу проблему и вы можете предоставить более подробную информацию о нем (как вы можете видеть, мне пришлось написать много "вероятно"). Это где вы могли бы добавить больше информации в первую очередь :)).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .