Проброс портов в Ubuntu

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

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

В настоящее время я пытаюсь перенаправить случайно выбранный порт: 58970 на мой компьютер с Ubuntu, который имеет IP 192.168.0.174

(base) tue@tue-ubuntu:~$ 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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 18:c0:4d:db:fd:d1 brd ff:ff:ff:ff:ff:ff
    altname enp4s0
    inet 192.168.0.174/24 brd 192.168.0.255 scope global dynamic noprefixroute eno1
       valid_lft 2985sec preferred_lft 2985sec
    inet6 2a06:4006:2033:0:3e:f9fc:11ff:8478/64 scope global temporary dynamic 
       valid_lft 3883sec preferred_lft 2883sec
    inet6 2a06:4006:2033:0:e40c:8b84:fe3a:da6b/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 3883sec preferred_lft 2883sec
    inet6 fe80::a646:62fd:198a:6378/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether bc:17:b8:c0:bd:b8 brd ff:ff:ff:ff:ff:ff
4: br-3b5806c4ad15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:0b:84:44:d0 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global br-3b5806c4ad15
       valid_lft forever preferred_lft forever
    inet6 fe80::42:bff:fe84:44d0/64 scope link 
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d1:4c:de:b7 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
7: veth7fc3c63@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3b5806c4ad15 state UP group default 
    link/ether 1e:f4:aa:af:bf:4b brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::1cf4:aaff:feaf:bf4b/64 scope link 
       valid_lft forever preferred_lft forever

Сначала я отключил ufw, но потом подумал, что он может понадобиться для работы переадресации портов, и попытался следовать этому руководству: https://99rdp.com/how-to-open-a-port-in-ubuntu-20-04/

В общем, я включил ufw и добавил порты в ufw, теперь у меня есть:

(base) tue@tue-ubuntu:~$ sudo ufw status
Статус: активен

Куда                       Действие    Откуда
--                         ------      ----
58970                      РАЗРЕШИТЬ   Везде                  
51036                      РАЗРЕШИТЬ   Везде                  
58970 (v6)                 РАЗРЕШИТЬ   Везде (v6)             
51036 (v6)                 РАЗРЕШИТЬ   Везде (v6)    

     

Однако порт не отображается, когда я использую netstat, как было предложено:

(base) tue@tue-ubuntu:~$ netstat -lntu
Активные интернет-соединения (только серверы)
Протокол Recv-Q Send-Q Локальный адрес           Удаленный адрес         Состояние      
tcp        0      0 127.0.0.1:29754         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:17603         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:17600         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 :::17500                :::*                    LISTEN     
tcp6       0      0 ::1:3350                :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::3389                 :::*                    LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
udp        0      0 0.0.0.0:17500           0.0.0.0:*                          
udp        0      0 127.0.0.53:53           0.0.0.0:*                          
udp        0      0 0.0.0.0:111             0.0.0.0:*                          
udp        0      0 0.0.0.0:33266           0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp6       0      0 :::111                  :::*                               
udp6       0      0 :::33156                :::*                               
udp6       0      0 fe80::a646:62fd:198:546 :::*                               
udp6       0      0 :::5353                 :::*  

                         

А если я зайду на https://www.yougetsignal.com/tools/open-ports/ и введу свой публичный IP-адрес и порт, мне также сообщают, что порт закрыт.

У кого-нибудь есть хорошие идеи о том, какие должны быть мои следующие шаги или как я должен устранять эту проблему?

Вывод вашей netstat показывает, что нет приложения, прослушивающего соединение на порту 58970.

Нет слушателя = Порт закрыт.

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

Проблема с переадресацией портов в Ubuntu

Если вы сталкиваетесь с проблемами при переадресации портов на своем компьютере под управлением Ubuntu, важно разобраться со всеми этапами настройки. Вы описали ситуацию, в которой вы пытаетесь перенаправить порт 58970 на машину с локальным IP 192.168.0.174. Я помогу вам подробно рассмотреть, что может быть не так и как это исправить.

1. Проверка состояния UFW

Вы уже включили UFW (Uncomplicated Firewall) и открыли необходимый порт. Ваша команда ufw status показывает, что порт 58970 действительно открыт:

To                         Action      From
--                         ------      ----
58970                      ALLOW       Anywhere
58970 (v6)                 ALLOW       Anywhere (v6)

Это хороший первый шаг, но давайте убедимся, что UFW правильно настроен для обработки входящего трафика.

2. Проверка, прослушивает ли приложение порт

Ваша команда netstat -lntu показывает, что на порту 58970 в данный момент ничего не прослушивается:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
...

Это означает, что на этом порту нет приложения, которое готово принимать подключения. Вам необходимо проверить следующее:

  • Убедитесь, что приложение, которое должно использовать этот порт (например, веб-сервер или другой сервис), действительно запущено и настроено на прослушивание этого порта. Если вы не уверены, какое приложение использовать, вы можете протестировать, запустив простейший сервер, например:
sudo nc -l -p 58970

Эта команда запустит простой TCP-сервер на порту 58970. Теперь, в другой терминал, вы можете попробовать подключиться к этому порту с помощью:

nc localhost 58970

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

3. Настройка маршрутизатора

Так как вы утверждаете, что успешно перенаправляли порты на других компьютерах в вашей сети, убедитесь, что:

  • Вы действительно указали правильный IP-адрес (192.168.0.174) на своем маршрутизаторе для перенаправления порта.
  • Проверьте, что у вас нет конфликтов с другими правилами перенаправления портов.
  • Перезагрузите маршрутизатор после внесения изменений в настройки.

4. Тестирование открытых портов

Вы уже использовали сайт yougetsignal.com для проверки, открыт ли порт. Если порт закрыт, это подтверждает, что проблема находится на сервере, а не на клиенте.

5. Логи и дебаг

Для более глубокого анализа запустите следующую команду для отображения логов:

sudo tail -f /var/log/ufw.log

Это может помочь вам увидеть, блокируются ли какие-либо подключения и какие правила работают. Также проверьте журналы вашего приложения, чтобы узнать, слушает ли оно запросы на этом порту.

Выводы

Ваша проблема заключается в отсутствии приложения, которое слушает на порту 58970 на Ubuntu. Убедитесь, что соответствующее приложение запущено и корректно настроено. Проверьте конфигурации маршрутизатора и используйте средства логирования для дальнейшего анализа. Следуя этим шагам, вы сможете успешно настроить переадресацию портов в Ubuntu.

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

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