Не удается подключиться к некоторым портам с внешней машины

Вопрос или проблема

У меня есть машина без межсетевого экрана:

root@s0000:/etc/systemd/system# iptables -L
-bash: iptables: команда не найдена

На этой машине работают некоторые службы:

root@s0000:/etc/systemd/system# netstat -natp
Активные интернет-соединения (сервера и установленные)
Протокол Recv-Q Send-Q Локальный адрес         Удаленный адрес       Состояние    PID/Имя программы    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      751/systemd-resolve 
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN      751/systemd-resolve 
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      4731/server    
tcp        0      0 0.0.0.0:4444            0.0.0.0:*               LISTEN      5283/netcat         
tcp        0      0 192.168.1.15:37976      185.125.190.81:80       TIME_WAIT   -                   
tcp        0      0 192.168.1.15:40838      54.77.77.3:1194         ESTABLISHED 3550/openvpn        
tcp6       0      0 :::22                   :::*                    LISTEN      1/init              
tcp6       0      0 :::6556                 :::*                    LISTEN      4519/xinetd         
tcp6       0    848 192.168.1.15:22         192.168.1.40:45636      ESTABLISHED 1029/sshd: ubuntu [

С внешней машины я могу получить доступ к службам, работающим на портах 22 и 6556, но не к службам, работающим на портах 6666 и 4444.

Разница, похоже, в том, что первые слушают на ::: (IPv6), а вторые слушают на 0.0.0.0 (IPv4).

Я протестировал с помощью telnet с linux-машины.

С машиной в одной локальной сети все работает нормально.
Но если машина находится на другой стороне VPN (созданной с помощью OpenVPN), я могу получить доступ только к первым портам.

Быстрое решение для меня – разрешить службам работать на ::: (IPv6).

Как я могу это сделать?

Есть ли другое решение?

Ответ или решение

Вам кажется, что у вас возникла проблема с доступом к некоторым портам ваших сервисов из внешней сети, особенно через VPN. Давайте рассмотрим вашу проблему более детально и предложим несколько возможных решений.

Обоснование проблемы

Судя по вашему описанию, сервисы, работающие на портах 6666 и 4444, слушают на интерфейсе IPv4 (0.0.0.0), тогда как сервисы на порт 22 (SSH) и 6556 (xinetd) могут слушать как на IPv6 (:::), так и на IPv4 (включая IPv4 через конфигурацию системы). Это может объяснять, почему вы имеете доступ только к некоторым из них, особенно если ваш VPN или маршрутизаторы между вами блокируют или некорректно перенаправляют IPv4-трафик.

Решения проблемы

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

    • Изменить конфигурацию приложения для прослушивания на :: вместо 0.0.0.0 или добавить новую конфигурацию, чтобы они слушали и на IPv6.
    • Если это сервера, будьте внимательны с конфигурациями, которые позволяют слушать одновременно на IPv4 и IPv6.

    Например, если вы используете netcat, вы можете запустить его командой:

    nc -l -6 -p 6666   # Для IPv6
  2. Проверка конфигурации OpenVPN:
    Убедитесь, что ваш OpenVPN настроен на работу с обоими типами адресации (IPv4 и IPv6), если это требуется. В конфигурации OpenVPN может быть опция, чтобы разрешить проброс IPv6-трафика.

    Ниже приведен пример конфигурации OpenVPN с включением поддержки IPv6:

    push "route-ipv6 ::/0"
  3. Проверка сетевых маршрутизаторов и NAT:
    Убедитесь, что маршрутизаторы между вашей локальной сетью и удаленной не блокируют порты 6666 и 4444. Возможно, вам потребуется настроить проброс портов (port forwarding) для этих портов на маршрутизаторе.

  4. Диагностика с помощью инструментов:
    Используйте команды telnet, nc, или curl для проверки доступности сервисов на нужных портах. Например:

    telnet <IP-адрес> 6666
  5. Тестирование без VPN:
    Попробуйте подключиться к этой машине без VPN между вашей клиентской машиной и сервером для диагностики. Это поможет выяснить, связана ли проблема с VPN или с самой конфигурацией сервиса.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...