LINUX.ORG.RU

Qemu kvm мост macvtap ethernet mikrotik

 , , ,


2

3

На хостовой машине установлена Arch linux. Qemu собрал из git. На машинке 4 сетевухи, которые пробрасываю macvtap в гостя. Гостем выступает mikrotik. Соответственно в микротике вижу 4 интерфейса и трафик от них уходит и приходит во внешку, но хост и гость друг друга не видят. Так и должно быть, судя по официальной документации. Задача сделать мост, чтобы гость и хост друг друга видели и трафик внешний проходил в гостя. Пробую сделать один виртуальный tap интерфейс и классический мост над физикой ethernet и tap. Остальные сетевушки в виде macvtap.

ip link add name br0_home type bridge
ip link set address 00:42:43:af:00:30 br0_home up
ip addr add dev br0_home 192.168.17.2/24
brctl addif br0_home eth0
ip link set eth3 up
ip tuntap add dev macvtap0 mode tap
ip link set macvtap0 address 00:42:43:af:00:70 up
brctl addif br0_home macvtap0

ip link set ethХ up
ip link add link ethХ name macvtapХ type macvtap
ip link set macvtapХ address 00:42:43:af:00:7Х up

При такой настроке eth0 хоста должет быть в мосту с tap0, который на микротике eth0. Соответственно даю им адреса из одной подсети (адрес на br0_home и на eth0 на микротике). При этом со стороннего компьютера, подключённого к eth0 хоста кабелем хост пингуется, а микротик нет. Но по мак-адресу зайти на микротик можно, и делать различные настройки. С микротика хост пингуется, а дальше пинги не проходят. В чём может быть проблема? Netctl в archе отключил. Сеть при запуске настраивается скриптом.



Последнее исправление: hardd (всего исправлений: 2)

Если пускаешь через libvirt он может добавлять правила в файрвол. Покажи выхлоп iptables-save и brctl show после старта виртуалки с mikrotik.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

Выхлоп запрошенный

Все команды после запуска виртуалки с микротиком.

bridge name bridge id STP enabled interfaces br0_home 8000.004243af0030 no eth0 macvtap0

iptables-save ничего не выводит, попробовал iptables -L

Chain INPUT (policy ACCEPT) target prot opt source destination

Chain FORWARD (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0_home state UP mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:xx brd ff:ff:ff:ff:ff:ff 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:xx brd ff:ff:ff:ff:ff:ff 4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:xx brd ff:ff:ff:ff:ff:ff 5: eth3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:xx brd ff:ff:ff:ff:ff:ff 6: br0_home: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:30 brd ff:ff:ff:ff:ff:ff 7: macvtap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0_home state UP mode DEFAULT group default qlen 1000 link/ether 00:42:43:af:00:70 brd ff:ff:ff:ff:ff:ff 8: macvtap1@eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state LOWERLAYERDOWN mode DEFAULT group default qlen 500 link/ether 00:42:43:af:00:71 brd ff:ff:ff:ff:ff:ff 9: macvtap2@eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state LOWERLAYERDOWN mode DEFAULT group default qlen 500 link/ether 00:42:43:af:00:72 brd ff:ff:ff:ff:ff:ff 10: macvtap3@eth3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state LOWERLAYERDOWN mode DEFAULT group default qlen 500 link/ether 00:42:43:af:00:73 brd ff:ff:ff:ff:ff:ff

hardd
() автор топика
Ответ на: Выхлоп запрошенный от hardd

P.S. Использую чистый qemu без libvirt или других обвесов. з.ы. Пытался убрать всё под спойлер по руководству, но «оно вот так».

hardd
() автор топика
Ответ на: комментарий от hardd

Решил проблему

Мост с tap интерфейсом реализовал. Добавил в автозагрузку модули моста. Добавил

sysctl net.bridge.bridge-nf-call-ip6tables=0
sysctl net.bridge.bridge-nf-call-iptables=0
sysctl net.bridge.bridge-nf-call-arptables=0
Также поставил в настройках интерфейса в микротике мак отличный от интерфейса tap в хосте. Пакеты пошли.

hardd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.