Ad Widget

Collapse

No route to host

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Wexvellencex
    Junior Member
    • Mar 2024
    • 6

    #1

    No route to host

    Добрый день, подскажите пожалуйста, в чем может быть проблема, хочу чтобы 1 хост мониторился, но выдает ошибку. Я выключал файрвол и на сервере и на хосте, писал правила, но безрезультатно. Подскажите, в чем может заключаться проблема? (Сервер на ubuntu 22.04 (192.168.88.129, хост на Rocky 9 192.168.88.135)
    По телнету соответственно не подключается
    Вот что выдает ip route на сервере:
    root@linux1:~# ip route
    Code:
    default via 192.168.88.2 dev ens33 proto dhcp src 192.168.88.129 metric 100
    192.168.88.0/24 dev ens33 proto kernel scope link src 192.168.88.129 metric 100
    192.168.88.2 dev ens33 proto dhcp scope link src 192.168.88.129 metric 100
    iptables на хосте:
    Code:
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
    -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
    -A INPUT -p udp -m multiport --dports 80,443 -j ACCEPT
    -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
    -A INPUT -p udp -m multiport --dports 5060,5061 -j ACCEPT
    -A INPUT -p tcp -m multiport --dports 5060,5061 -j ACCEPT
    COMMIT
    ​
  • DSV12
    Senior Member
    Zabbix Certified Specialist
    • Nov 2018
    • 156

    #2
    Originally posted by Wexvellencex
    Добрый день, подскажите пожалуйста, в чем может быть проблема, хочу чтобы 1 хост мониторился, но выдает ошибку. Я выключал файрвол и на сервере и на хосте, писал правила, но безрезультатно. Подскажите, в чем может заключаться проблема? (Сервер на ubuntu 22.04 (192.168.88.129, хост на Rocky 9 192.168.88.135)
    По телнету соответственно не подключается
    Вот что выдает ip route на сервере:
    root@linux1:~# ip route
    Code:
    default via 192.168.88.2 dev ens33 proto dhcp src 192.168.88.129 metric 100
    192.168.88.0/24 dev ens33 proto kernel scope link src 192.168.88.129 metric 100
    192.168.88.2 dev ens33 proto dhcp scope link src 192.168.88.129 metric 100
    iptables на хосте:
    Code:
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
    -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
    -A INPUT -p udp -m multiport --dports 80,443 -j ACCEPT
    -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
    -A INPUT -p udp -m multiport --dports 5060,5061 -j ACCEPT
    -A INPUT -p tcp -m multiport --dports 5060,5061 -j ACCEPT
    COMMIT
    Зачем на конечном хосте вы открываете порт 10051? Это порт zabbix trapper (активные проверки). Ну и, диагностика "No route to host" в исполнении линуксов - когда порт никто не слушает. У вас агент-то запущен? Настроен? 'telnet localhost 10050' прямо на хосте пробовали?

    Comment

    • Wexvellencex
      Junior Member
      • Mar 2024
      • 6

      #3
      Originally posted by DSV12

      Зачем на конечном хосте вы открываете порт 10051? Это порт zabbix trapper (активные проверки). Ну и, диагностика "No route to host" в исполнении линуксов - когда порт никто не слушает. У вас агент-то запущен? Настроен? 'telnet localhost 10050' прямо на хосте пробовали?
      Пробовал разные методы и порты открывал и файрвол отключал и правила туда вписывал, но безрезультатно. Агент запущен, а вот на хосте телнет выдает следующее:
      Code:
      [root@rocky9 ~]# telnet localhost 10050
      Trying ::1...
      Connected to localhost.
      Escape character is '^]'.
      Connection closed by foreign host.
      Так же пробовал выключать файрвол и попробовать снова, но так же не дает

      Comment

      • DSV12
        Senior Member
        Zabbix Certified Specialist
        • Nov 2018
        • 156

        #4
        Originally posted by Wexvellencex

        Пробовал разные методы и порты открывал и файрвол отключал и правила туда вписывал, но безрезультатно. Агент запущен, а вот на хосте телнет выдает следующее:
        Code:
        [root@rocky9 ~]# telnet localhost 10050
        Trying ::1...
        Connected to localhost.
        Escape character is '^]'.
        Connection closed by foreign host.
        Так же пробовал выключать файрвол и попробовать снова, но так же не дает
        Покажите результат выполнения команды (на хосте):

        # netstat -tulnp | grep 10050

        При работающем агенте должны быть что-то вроде:

        tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1235/zabbix_agentd

        Comment

        • Alex_UUU
          Senior Member
          • Dec 2018
          • 541

          #5
          Универсальные правила:
          1. Сервера до агента должен быть открыт порт 10050
          С агента до сервера - 10051
          2. У агента в конфиге должен быть прописан Server=адрес сервере
          ServerActive= адрес сервера
          3. На сервере в настройках хоста должно быть указано имя, которое выдает hostname -f (или указанное в настройках агента)

          Выполнив эти три несложных правила у вас будут работать активные, пассивные и многие другие проверки

          Comment

          • Wexvellencex
            Junior Member
            • Mar 2024
            • 6

            #6
            Originally posted by DSV12

            Покажите результат выполнения команды (на хосте):

            # netstat -tulnp | grep 10050

            При работающем агенте должны быть что-то вроде:

            tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1235/zabbix_agentd
            Code:
            [root@rocky9 ~]# netstat -tulnp | grep 10050
            tcp6 0 0 :::10050 :::* LISTEN 1063/zabbix_agent2

            Comment

            • Wexvellencex
              Junior Member
              • Mar 2024
              • 6

              #7
              Originally posted by Alex_UUU
              Универсальные правила:
              1. Сервера до агента должен быть открыт порт 10050
              С агента до сервера - 10051
              2. У агента в конфиге должен быть прописан Server=адрес сервере
              ServerActive= адрес сервера
              3. На сервере в настройках хоста должно быть указано имя, которое выдает hostname -f (или указанное в настройках агента)

              Выполнив эти три несложных правила у вас будут работать активные, пассивные и многие другие проверки
              Порты на открыты, с server=адрес сервера и ServerActive тоже делал, сейчас посмотрю, какое имя указано в настройках хоста, если не ошибаюсь я указывал Zabbix server, оно и стоит на хосте, но делал это не через hostname -f

              Comment

              • DSV12
                Senior Member
                Zabbix Certified Specialist
                • Nov 2018
                • 156

                #8
                Originally posted by Wexvellencex

                Code:
                [root@rocky9 ~]# netstat -tulnp | grep 10050
                tcp6 0 0 :::10050 :::* LISTEN 1063/zabbix_agent2
                Ну вот и ответ: у вас хосте агент не слушает порт 10050 на IPv4, а только на IPv6. На хосте 'ip a' что выдаёт? Ну и настройки агента, относящиеся к сетевитости, покажите.

                Comment

                • Hamardaban
                  Senior Member
                  Zabbix Certified SpecialistZabbix Certified Professional
                  • May 2019
                  • 2713

                  #9
                  Исходя из присланного листинга получается что на хосте у вас вообще нет протокола IPv4?
                  Но есть агент 2ой версии который слушает порт 10050 по всем адресам IPv6

                  ЗЫ
                  упс - пока писАл - уже ответили....

                  Comment

                  • Wexvellencex
                    Junior Member
                    • Mar 2024
                    • 6

                    #10
                    Originally posted by DSV12
                    Ну вот и ответ: у вас хосте агент не слушает порт 10050 на IPv4, а только на IPv6. На хосте 'ip a' что выдаёт? Ну и настройки агента, относящиеся к сетевитости, покажите.
                    А как перенастроить на IPv4?
                    Выдает следующее:
                    Code:
                    [root@rocky9 ~]# ip a
                    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                        inet 127.0.0.1/8 scope host lo
                           valid_lft forever preferred_lft forever
                        inet6 ::1/128 scope host
                           valid_lft forever preferred_lft forever
                    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
                        link/ether 00:0c:29:64:ff:ee brd ff:ff:ff:ff:ff:ff
                        altname enp2s1
                        inet 192.168.88.135/24 brd 192.168.88.255 scope global noprefixroute ens33
                           valid_lft forever preferred_lft forever
                        inet6 fe80::20c:29ff:fe64:ffee/64 scope link noprefixroute
                           valid_lft forever preferred_lft forever
                    Не совсем понимаю, что значит, относящиеся к сетевитости?

                    Comment

                    • Hamardaban
                      Senior Member
                      Zabbix Certified SpecialistZabbix Certified Professional
                      • May 2019
                      • 2713

                      #11
                      Всётаки IPv4 есть! Хорошо

                      Лучше всего начать с прочтения документации по параметрам настроек в конфигурации агента (агента2)
                      Если у вас пассивные проверки - то вам подходит параметр
                      ListenIP A list of comma-delimited IP addresses that the agent should listen on. The first IP address is sent to the Zabbix server, if connecting to it, to retrieve the list of active checks.

                      т.е. пишете в конфиге агента2 “ListenIP 192.168.88.135” , перезапускаете агента2 и проверяете что сокет прослушивается.

                      Если проверки только активные то это не нужно…
                      Если агент2 в докере (прости господи не к ночи будет помянуто) то там свои заморочки с параметрами и сетями

                      ЗЫ
                      к стати - а кто выдает такую диагностику "No route to host"?

                      Comment

                      • DSV12
                        Senior Member
                        Zabbix Certified Specialist
                        • Nov 2018
                        • 156

                        #12
                        Originally posted by Hamardaban
                        к стати - а кто выдает такую диагностику "No route to host"?
                        Это стандартная линуксовая диагностика, если хост порт не слушает. С толку сбивает конкретно:

                        # telnet host 22
                        Trying 192.168.1.1...
                        Connected to host.
                        Escape character is '^]'.
                        SSH-2.0-OpenSSH_8.0
                        ^]
                        telnet> quit
                        Connection closed.

                        # telnet host 332
                        Trying 192.168.1.1...
                        telnet: connect to address 192.168.1.1: No route to host​

                        Comment

                        • Wexvellencex
                          Junior Member
                          • Mar 2024
                          • 6

                          #13
                          Сделал, всем спасибо, перевел с tcp6 на tcp и все ок стало

                          Comment

                          Working...