Вот сценарий. В подсети два хоста (оба являются виртуальными машинами виртуальных ящиков), и оба находятся в одной сети 192.168.1.0. Я дополнительно создал два интерфейса моста с отдельными сетевыми сегментами.
Вопрос: Есть ли способ связи ip на мосту host1 с ip на мосту host2? Ищу способ настроить маршруты с помощью ip route
или что-то подобное, чтобы маршрутизировать пакеты L3 с одного моста на другой без необходимости устанавливать дополнительный сетевой уровень, например vxlan или что-то в этом роде.
Конфигурация:
Интерфейсы Host1:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:ca:4a:14 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.197/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feca:4a14/64 scope link
valid_lft forever preferred_lft forever```
7: br-faf88cbd32f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:28:8c:40:00 brd ff:ff:ff:ff:ff:ff
inet 172.11.11.1/24 brd 172.11.11.255 scope global br-faf88cbd32f0
valid_lft forever preferred_lft forever
Маршрутизация Host1:
default via 192.168.1.1 dev enp0s3 proto static
172.11.11.0/24 dev br-faf88cbd32f0 proto kernel scope link src 172.11.11.1
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.197
Host2 интерфейсы:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:40:ae:5f brd ff:ff:ff:ff:ff:ff
inet 192.168.1.196/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe40:ae5f/64 scope link
valid_lft forever preferred_lft forever
92: br-037dfd7b32bc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:fe:0d:54:86 brd ff:ff:ff:ff:ff:ff
inet 172.11.12.1/24 brd 172.11.12.255 scope global br-037dfd7b32bc
valid_lft forever preferred_lft forever
inet6 fe80::42:feff:fe0d:5486/64 scope link
valid_lft forever preferred_lft forever
Маршрутизация Host2:
default via 192.168.1.1 dev enp0s3 proto static
172.11.12.0/24 dev br-037dfd7b32bc proto kernel scope link src 172.11.12.1
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.196
если я правильно понимаю, вы хотите, чтобы что-то подключенное к host1 или host2 через его мост, разговаривало с другим хостом?
ты бы сделал
ip route add 172.11.11.0/24 via 192.168.1.197 # on host2
ip route add 172.11.12.0/24 via 192.168.1.196 # host1
но остерегайтесь брандмауэра или NAT, которые могли быть включены Virtualbox, они могут нарушить вашу маршрутизацию
У вас включена перенаправление IP-адресов ядра? Вы можете проверить:
cat /proc/sys/net/ipv4/ip_forward
Если он возвращает 1, он включен. Если 0, его необходимо включить на каждом хосте, на который вы хотите маршрутизировать трафик. Вы можете запустить это, чтобы включить его для вашей текущей оболочки:
echo 1 > /proc/sys/net/ipv4/ip_forward
Чтобы сделать изменение постоянным, вы можете отредактировать /etc/sysctl.conf, чтобы добавить его в новую строку:
net.ipv4.ip_forward = 1
После обновления sysctl.conf перезагрузите или запустите его, чтобы загрузить новое значение из файла:
sysctl -p
Похоже, вы знаете, что такое маршрутизация.