Маршрутизация с помощью nftables (Fedora33, nmcli, brctl)

A/ Хост (Fedora 33) с Ethernet, еслиeth0. IP 192.168.18.11(/24)
и
гость B1/KVM с ifvnet0порабощен . ip 192.168.101.88(/24) (ручная маршрутизация, статический IP)
или
гость B2/KVM с ifvnet1порабощенvirbr102. ip 192.168.102.210(/24) (маршрутизация вирт-менеджера, DHCP)

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

Что происходит:

  1. Из A я могу пропинговать B и подключиться к B по SSH.
  2. Из B я могу пропинговать A
  3. Из А я могу пропинговать 192.168.18.1
  4. Из B не могу пропинговать 192.168.18.1, это и хочу исправить на данном этапе

Разница между B1 и B2 заключается в том, что если я пингую именованный сервер, например google.com, с B1 он говорит, что маршрут к хосту отсутствует, с B2 он находит IP-адрес, но ответов на пинг нет.

Маршрутизируемая сеть с использованиемnmcli+brctl+

На хосте,virbr101:

      ip link add virbr101-mac address 52:54:41:0b:00:01 type dummy
brctl addif virbr101 virbr101-mac

файлifcfg-virbr101:

      DEVICE=virbr101
NAME=virbr101
# Change to 'no' to disable NetworkManager for this interface.
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Bridge
DELAY=2
STP=on

IPADDR=192.168.101.1
NETMASK=255.255.255.0

Активируйте этот интерфейс:

      nmcli connection load /etc/sysconfig/network-scripts/ifcfg-virbr101
nmcli connection up virbr101

Включите переадресацию IP:

      echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p

Направьте интерфейс следующим образом:nftкоманды:

      delete table ip filter
add table ip filter
add chain ip filter INPUT
add chain ip filter FORWARD
add chain ip filter OUTPUT
add rule ip filter FORWARD oifname "virbr101" ip daddr 192.168.101.0/24 counter accept
add rule ip filter FORWARD iifname "virbr101" ip saddr 192.168.101.0/24 counter accept
add rule ip filter FORWARD iifname "virbr101" oifname "virbr101" counter accept
add rule ip filter FORWARD iifname "virbr101" counter reject
add rule ip filter FORWARD oifname "virbr101" counter reject

Маршрутизируемая сеть с использованием

Сеть:

      <network>
  <name>bridged102</name>
  <uuid>2e8d6e42-b70e-43c8-8523-02008070f03c</uuid>
  <forward dev="ens3" mode="route">
    <interface dev="ens3"/>
  </forward>
  <bridge name="virbr0" stp="on" delay="0"/>
  <mac address="52:54:00:42:1d:e4"/>
  <domain name="bridged102"/>
  <ip address="192.168.102.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.102.128" end="192.168.102.254"/>
    </dhcp>
  </ip>
</network>

Гостевой интерфейс:

      <interface type="network">
  <mac address="52:54:00:ee:a6:67"/>
  <source network="bridged102" portid="238df934-14ac-422e-bfbd-a4047a9444fb" bridge="virbr0"/>
  <target dev="vnet1"/>
  <model type="virtio"/>
  <link state="up"/>
  <alias name="net1"/>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/>
</interface>

Дляvirt-managerрешение, я последовал этому примеру: libvirt docs // Формат XML сети // Конфигурация маршрутизируемой сети

0 ответов

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