Fedora FireWalld проблемы с докером

872
alex-phillips

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

Я добавил следующий XML-сервис к основному сетевому интерфейсу на коробке fedora, а также добавил интерфейс docker0 в «доверенную» зону без удачи

Сервис XML, который я добавил:

<?xml version="1.0" encoding="utf-8"?> <service> <short>My test service</short> <description>Custom service</description> <port protocol="tcp" port="8081"/> <port protocol="udp" port="8081"/> </service> 

Сеть всегда была моим слабым местом в знаниях, поэтому извините, если это (надеюсь, хотя) простой вопрос.

-1

2 ответа на вопрос

0
Aeyoun

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

firewall-cmd --permanent --add-port="8081/tcp" --add-port="8081/udp" 

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

firewall-cmd --reload 

Это все, что вам нужно сделать.

-3
J.JOSEPH

Вы убедились, что вы также отключили брандмауэр? если вы этого не сделаете, он снова включится.

бежать: systemctl disable firewalld

Я могу это сделать, но на самом деле я не хочу, чтобы брандмауэр был отключен. Я отключил его, чтобы убедиться, что это была проблема. Я бы предпочел внести в него любые необходимые изменения, чтобы служба могла обмениваться данными в сети, оставляя брандмауэр включенным. alex-phillips 7 лет назад 0
О, вы пробовали `$ sudo firewall-cmd --zone = public --add-port = 80 / tcp --permanent $ sudo firewall-cmd --reload` тег --permanent гарантирует, что изменения сохраняются при перезагрузке. J.JOSEPH 7 лет назад 0
Я имею. И, насколько мне известно, приведенный выше XML-код, добавленный в качестве службы (`firewall-cmd --zone = public --add-service = custom --permanent`), должен эффективно делать то же самое. Но не игра в кости. alex-phillips 7 лет назад 0
Можете ли вы поделиться результатами `sudo firewall-cmd --list-ports` &&` sudo firewall-cmd --list-services`, а также любыми ошибками firewalld | docker выдает сообщение, как сообщает audd или journalctl -u firewalld | docker? linuxdev2013 7 лет назад 0