linux - маршрутизация между мостовыми сетями без оверлея

Вот сценарий. В подсети есть два хоста (оба - виртуальные машины virtualbox), и оба находятся в одной сети 192.168.1.0. Я дополнительно создал два интерфейса моста с отдельными сетевыми срезами.

Question: Есть ли способ для ip на мосте host1 взаимодействовать с ip на мосте host2? Я ищу способ настроить маршруты, используя ip route или аналогичный, чтобы направлять L3-пакеты с одного моста на другой без необходимости устанавливать дополнительный сетевой уровень, например vxlan или что-то подобное.

Configuration:

Host1 interfaces:

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 routing:

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 interfaces:

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 routing:

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
1
задан 1 January 2020 в 01:42
2 ответа

Если я правильно понимаю, вы хотите, чтобы что-то, подключенное к 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, они могут нарушить вашу маршрутизацию

3
ответ дан 4 January 2020 в 08:59

Включена ли перенаправление 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

Похоже, вы знаете часть маршрутизации.

0
ответ дан 10 January 2020 в 23:16

Теги

Похожие вопросы