Назад | Перейти на главную страницу

Пакеты не попадают в правило POSTROUTING, интерфейс остается неотредактированным

Я пытаюсь настроить маршрутизацию из своей локальной сети в vmbr1 в публичный интерфейс vmbr0. У моего компьютера IP 192.168.0.1 на vmbr1 интерфейс. Я настроил следующее правило пост-маршрутизации: iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE

В качестве теста проверяю DNS-сервер Google 8.8.4.4 с другого компьютера 192.168.0.101 который имеет 192.168.0.1 настроен как шлюз по умолчанию.

С помощью iptables -t nat -L -v, Я вижу, что некоторые пакеты попадают в фильтр, но по скорости увеличения становится ясно, что правильные пакеты - нет.

Chain POSTROUTING (policy ACCEPT 5 packets, 300 bytes)
 pkts bytes target     prot opt in     out     source               destination
   24  8358 MASQUERADE  all  --  any    vmbr0   anywhere             anywhere

Из tcpdump -i vmbr0, Я вижу, что пакеты покидают интерфейс без редактирования.

18:41:35.162157 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 996, length 64
18:41:36.170172 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 997, length 64
18:41:37.178164 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 998, length 64

Вот моя конфигурация сети:

iface eth0 inet manual

auto vmbr1
iface vmbr1 inet static
        address  192.168.0.1
        netmask  255.255.255.0
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0
#NAT

auto vmbr0
iface vmbr0 inet static
        address  151.80.1.13
        netmask  255.255.255.0
        gateway  151.80.1.254
        broadcast  151.80.1.255
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        network 151.80.1.0

И маршруты:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         151.80.1.254    0.0.0.0         UG    0      0        0 vmbr0
151.80.1.0      *               255.255.255.0   U     0      0        0 vmbr0
192.168.0.0     *               255.255.255.0   U     0      0        0 vmbr1

Я тоже пробовал iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE но это тоже не сработало.

Редактировать: Оказалось, что установка bridge_ports на dummy0 была проблемой. Кто-нибудь может объяснить почему?