Я нахожусь на Ubuntu xenial (16.04 LTS), так как я использую виртуализацию, я решил создать мостовую сеть.
Я создал мост в /etc/network/interfaces
примерно так:
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
, и Интернет работает просто отлично, прежде чем я создаю устройство для прослушивания. Когда я добавляю устройство крана для виртуальной машины следующим образом:
$ user=anyone
$ dev=tap0
$ ip tuntap add $dev mode tap user $usr
$ ip link set $dev up
$ ip link set $dev master br0
я могу использовать устройство крана для доступа к Интернету без проблем от моего виртуализированного гостя и иногда , у меня все еще нормально Доступ в Интернет с моего хоста (т.е. DNS работает).
Однако чаще всего происходит сбой DNS на моей хост-системе (я тестировал, проверяя связь с удаленными хостами с их IP-адресом, и он работал, с их именем не получалось). Все снова в порядке в моей хост-системе, как только я удалю устройство крана.
Я не думаю, что это проблемы с внешними сетями, поскольку у меня была такая же настройка на Fedora, и она работала безупречно. И чтобы было ясно, запускаю ли я виртуальную машину или нет, не имеет значения, как только активируется кран, я могу потерять DNS на хосте, и как только я удалю устройство, он снова заработает.
Я не могу найти ничего полезного в dmesg
, syslog
или ip route
, чтобы помочь мне. Итак, я спрашиваю здесь, кто-нибудь знает, что не так?
С уважением
Хорошо, я решил его. Проблема состоит в том, что устройство моста использует самое низкое количество MAC-адреса своих детей как его собственное по умолчанию. Так как MAC-адреса для устройства касания более или менее случайны, оно иногда изменяет Mac моста, и иногда оно не делает. Случайный MAC заблокирован DNS в моей сети.
К счастью при присвоении MAC мосту, это сохранит его. Таким образом, я должен добавить постоянный MAC-адрес к мосту как это
ip link set br0 address {MAC-ADDRESS}
или иметь его при начальной загрузке я могу добавить пост строку к /etc/network/interfaces
iface br0 inet dhcp
bridge_ports eth0
.
.
.
post-up ip link set br0 address {MAC-ADDRESS}
Для получения дополнительной информации см. http://backreference.org/2010/07/28/linux-bridge-mac-addresses-and-dynamic-ports/