Как разрешить порт на Firewalld?

Я изучаю докер.

Я использую SSH на своем локальном компьютере (окно) для подключения к серверу (ubuntu).

На серверном ПК я извлек образ nginx из Docker Hub и запустил его с параметром порта.

      {server}@{server}:~$ docker run -itd --name test -p 32769:80 nginx:latest 

Это статус процесса докера.

      {server}@{server}:~$ docker ps -a
CONTAINER ID   IMAGE            COMMAND               CREATED          STATUS                PORTS                                         NAMES
687b709f8675   nginx:latest  "/docker-entrypoint.…"   50 minutes ago   Up 50 minutes  0.0.0.0:32769->80/tcp, :::32769->80/tcp               test 

Я также проверяю статус порта этой командой

      {server}@{server}:~$ netstat -ntlp | grep 32769
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:32769           0.0.0.0:*               LISTEN      -
tcp6       0      0 :::32769                :::*                    LISTEN      -     

На моем локальном ПК я попытался получить доступ к порту 32769 серверного ПК. Но это не сработало.

В Chrome я попытался подключиться «http://{server_ip}:32769/». Это не удалось.

И на cmd я попробовал эту команду.

      C:{local_path}>tcping {server_ip} 32769
Probing {server_ip}:32769/tcp - No response - time=2003.578ms
Probing {server_ip}:32769/tcp - No response - time=2007.065ms  

Я подумал, что проблема связана с брандмауэром, и на серверном ПК я останавливаю firewalld.

      {server}@{server}:~$ sudo systemctl stop firewalld 

После остановки firewalld соединение удалось.

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

      {server}@{server}:~$ firewall-cmd --permanent --add-port=32769/tcp
{server}@{server}:~$ firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp3s0
sources:
services: dhcpv6-client ssh
ports: 32769/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:  
{server}@{server}:~$ sudo systemctl start firewalld

Но соединение не удалось. Пожалуйста, помогите мне. Я не хочу решать эту проблему, а не просто отключать весь firewalld. Я хочу использовать firewalld и разрешить подключение к определенному порту. Что не так с моими командами?

0 ответов

Другие вопросы по тегам