Я пытаюсь поделиться Wi-Fi-интернетом через локальную сеть Ethernet. Две машины A и B, на которых установлена ​​Fedora 32, соединены коммутатором Ethernet, а A подключена к Интернету через Wi-Fi. В firewalld.conf:

FirewallBackend=nftables

Используя nft, я добавил таблицу nat и правило маскарада:

# nft list table nat -a
table ip nat { # handle 7
    chain postrouting { # handle 2
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr 10.0.0.0/24 counter packets 18 bytes 1255 masquerade # handle 13
    }
}

Машина B имеет IP-адрес 10.0.0.4 и имеет доступ везде в локальной сети, и она может пинговать 8.8.8.8, но не может telnet 8.8.8.8 80 (нет маршрута к хосту). Тот же результат на B практически для любого другого интернет-запроса.

# journalctl -x -e
...
FINAL_REJECT: IN=wan0 OUT= MAC=ff:ff:ff:ff:ff:ff:xx:xx:xx:xx:xx:xx:xx:xx SRC=10.188.xx.xxx DST=255.255.255.255 LEN=328 TOS=0x00 PREC=0x00 TTL=128 ID=28534 PROTO=UDP SPT=68 DPT=67 LEN=308
...

Похоже, что запрос от B уходит, но ответ по какой-то причине блокируется брандмауэром, возвращающимся на wan0.

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

0
Byron Hawkins 27 Окт 2020 в 19:28

1 ответ

Более простой способ поделиться своим интернет-соединением выглядит следующим образом:

  1. dnf install firewall-config
  2. откройте приложение из корневой оболочки (иначе оно постоянно требует пароль)
  3. переместить интерфейс lan0 в зону trusted
  4. включить преобразование адресов в зоне FedoraWorkstation по умолчанию
  5. выполнить изменения навсегда (меню параметров)
  6. перезапустите брандмауэр (меню параметров)

Правильные изменения появляются в nft list ruleset. Так что я до сих пор не знаю, как это работает. Но это работает, и приложение интуитивно понятное и достаточно полное, поэтому мне не нужен интерфейс командной строки.

0
Byron Hawkins 28 Окт 2020 в 14:16