Как сделать маршрутизацию между мостами в linux?

Я хочу создать мост для моей виртуальной машины. И я хочу иметь доступ в интернет с моего виртуального моста. Что я сделал:

DEVICE=br1
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0

В моей сети есть мост (по протоколу dhcp), связанный с eth0:

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.14  netmask 255.255.255.0  broadcast 192.168.110.255

br0:

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=dhcp

eth0:

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

команда iptables:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.110.14

но это не работает.

ping -I br1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.1.1 br1: 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
61 packets transmitted, 0 received, 100% packet loss, time 59999ms

Что я сделал не так? Пожалуйста помоги.

1 ответ

Мостовое соединение находится на уровне 2, а маршрутизация на уровне 3, а iptables работает на уровне 3, а не на уровне 2. На уровне 2 не существует концепции маршрутизации, где работают мосты. Мосты используют уровень 2, например, MAC, адреса и кадры доставляются непосредственно по адресу назначения уровня 2. Мостовое соединение происходит в одной локальной сети. Маршрутизация происходит между локальными сетями и использует 3-й уровень, например IP-адреса, для отправки пакетов из локальной сети в другую локальную сеть. В локальных сетях кадры инкапсулируют пакеты и используются для отправки кадров непосредственно с одного хоста на другой хост.

Хост в локальной сети замаскирует адрес получателя уровня 3, чтобы определить, находится ли он в своей локальной сети. Если это так, он создаст фрейм для хоста назначения. Если нет, он создаст фрейм для своего настроенного шлюза (маршрутизатора). На втором уровне шлюз - это просто еще один хост в локальной сети. Это шлюз, который будет выполнять маршрутизацию, а не мост. Независимо от того, доставляются ли кадры хосту назначения или шлюзу зависит от хоста источника, а не от моста.

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