Почему мои сетевые подключения отклоняются?

У меня также есть эта проблема, и я решил ее, добавив конфигурацию в gpg -агент, вы можете найти ее здесь:

https://stackoverflow.com/questions/49491679/how-to-enter-gnupg-agent-key-passhprase-from-cli

3
19.11.2019, 02:20
2 ответа

Ну, я понял. И это охуенно.

CentOS 8 использует nftables , что само по себе неудивительно. Он поставляется с версией nftкоманд iptables, что означает, что когда вы используете команду iptables, она фактически поддерживает набор таблиц совместимости в nftables.

Однако...

Firewalld --, который устанавливается по умолчанию, --имеет встроенную поддержку nftables, поэтому он не использует уровень совместимости iptables.

Пока iptables -S INPUTпоказывает вам:

# iptables -S INPUT
-P INPUT ACCEPT

То, что у вас на самом деле есть:

        chain filter_INPUT {
                type filter hook input priority 10; policy accept;
                ct state established,related accept
                iifname "lo" accept
                jump filter_INPUT_ZONES_SOURCE
                jump filter_INPUT_ZONES
                ct state invalid drop
                reject with icmpx type admin-prohibited  <-- HEY LOOK AT THAT!
        }

Решение здесь (и, честно говоря, вероятно, хороший совет в целом ):

systemctl disable --now firewalld

Без использования firewalld правила iptables, видимые с помощью iptables -S, будут вести себя должным образом.

9
27.01.2020, 21:29

Если вы не собираетесь отключать firewalld, решение состоит в том, чтобы добавить указанное ниже правило nftables на хосте гипервизора.

  1. Сначала добавьте docker0 во внутреннюю зону, если вы не использовали другую конкретную зону:

    firewall-cmd --zone=internal --change-interface=docker0 --permanent
    firewall-cmd --reload
    
  2. Запустите nftables, чтобы применить правило для приема TCP-трафика на порт 80 на интерфейс virbr0 с пунктом назначения 192.168.122.217:

    /sbin/nft добавить правило inet firewalld filter _FWDI _внутренний _разрешить oifname "virbr0" ip ddr 192.168.122.217 tcp dport 80 counter accept comment "comment something"

  3. Также необходимо добавить правило iptables (или преобразовать его в nftables для согласованности, см. ниже):

    /usr/sbin/iptables -t filter -I FORWARD -p tcp -o virbr0 -d 192.168.122.217 --dport 80 -j ACCEPT -m comment --comment "comment something"
    

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

Также можно преобразовать правило iptables в nftables и сохранить оба правила в наборе правил nftables. Но как только вы запустите преобразованное правило iptables, iptables будут заблокированы, и любые новые изменения в iptables можно будет делать только с помощью firewalld и nftables.

Кроме того, необходимо иметь настроенные настраиваемые таблицы ядра, чтобы пакеты, проходящие через мост, не проходили через iptables. Net.bridge.bridge -nf -вызов и sysctl.conf

sysctl net.bridge.bridge-nf-call-iptables=0
sysctl net.bridge.bridge-nf-call-arptables=0
sysctl net.bridge.bridge-nf-call-ip6tables=0

Обратите внимание: если вы добавите его в sysctl.conf, он может не применяться автоматически во время перезагрузки, так как это известная ошибка (в зависимости от вашего дистрибутива Linux ).

-1
12.04.2020, 05:13

Теги

Похожие вопросы