Назад | Перейти на главную страницу

ping работает, но ssh не работает

  1. machine1 IP: 172.30.11.119
  2. machine2 IP: 172.30.11.120
  3. machine3 IP: 172.30.11.121
  4. machine4 IP: 172.30.11.122

Примечание. Эти машины подключены к локальной сети.

Я настроил статический IP-адрес для интерфейса Ethernet каждой машины, как указано выше в файле / etc / network / interfaces, чтобы сохранить IP-адрес даже после перезагрузки системы.

Я установил шлюз по умолчанию как 172.30.11.97 на машине 4 (чтобы добраться до него с рабочего стола пользователя через диспетчер соединений с замазкой)

allow-hotplug eth0
 iface eth0 inet static
      address 172.30.11.122
      netmask 255.255.255.0
      gateway 172.30.11.97

Но на других 3 машинах я не установил шлюз по умолчанию, как это было сделано для 122. Вместо этого я попробовал маршрутизацию политик на этих 3 машинах, как показано ниже в файлах «interfaces» и «rt_table»:

 echo "1 policy_gw" >> /etc/iproute/rt_table
    In /etc/iproute/rt_table:
      1 policy_gw

В / etc / network / interfaces:

      allow-hotplug eth0
      iface eth0 inet static
              address 172.30.11.121
              netmask 255.255.255.0

      post-up ip rule add dev eth0 table policy_gw
      post-up ip route add default via 172.30.11.97 dev etho src 172.30.11.121/24 table policy_gw 

Сделано так для 120/119 машин. Теперь я могу добраться до этих машин напрямую через замазку.

Проблема возникла: Я могу пинговать каждую машину в этой локальной сети с другой машины в той же локальной сети. Но ssh выдает ошибку port 22: no route to host

Предположим, что если я нахожусь в машине 121: ssh 172.30.11.120 выдает вышеуказанную ошибку.

шлюз по умолчанию - это системный маршрутизатор / коммутатор cisco. Они блокируют порты для протоколов SSH, telnet, но не для ICMP.

Маршрутный стол станка 122:

root@debian:~# route -n                                       
Kernel IP routing table 
Destination  Gateway      Genmask       Flags   Metric Ref Use Iface 
0.0.0.0      172.30.11.97 0.0.0.0       UG       0      0   0  eth1 
172.30.11.0  0.0.0.0      255.255.255.0 U        0      0   0  eth1

Содержимое файла ssh_config:

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

У вас хосты, расположенные в одной физической сети?

«нет маршрута к хосту» - похоже, это ответ ICMP от вашего маршрутизатора, вы можете проверить его с помощью сетевого анализатора. Кажется, ваш трафик ssh проходит через маршрутизатор, несмотря на то, что хосты расположены в одной сети, возможно, ваша таблица policy_gw имеет более высокий приоритет, чем встроенная локальная таблица. Маршрутизатор отказывается пересылать его (но в то же время как-то разрешает icmp) или у него действительно нет маршрута к месту назначения. Просмотрите таблицы своего маршрутизатора или исправьте политику маршрутизации, чтобы хосты общались напрямую, как и должно.