Ошибка VBoxNetFlt: Dropped over-sized packet
Запуск виртуалок в virtualbox с бриджованым интерфейсом дело обычное, но иногда по непонятным причинам может возникать геморрой. Выглядит он следующим образом — виртуалка пингуется мелкими пакетами, но перестает отвечать по tcp, невозможно установить ssh соединение и что-либо сделать, при этом если зайти в терминал самой виртуалки то в ней сеть есть. Перезапуск помогает. Выяснилось что дело в mtu интерфейсов. Если на виртуалке есть несколько интерфейсов, часть из которых находится во внетненней сети, которая организуется между самими гостями то на них обязательно нужно выставлять mtu равное (или меньше) хостовой машине, в общем случае рекомендуется ставить 1350, при чем делать это внутри самого гостя.
Параллельно с этим единственая ошибка, которую можно наблюдать в dmesg, кажется довольно безобидной.
[ 1174.036340] VBoxNetFlt: Dropped over-sized packet (1464 bytes) coming from internal network.
В текущем частном случае обязательным условием было получение адреса по dhcp — и параметр mtu в конфиге интерфейсов на деле не может переопределить параметр который debian считает оптимальным — mtu 1500. Чтобы это сделать нужно использовать post-up :
cat /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet dhcp
post-up ifconfig $IFACE mtu 1350 up
Чтобы проверить какой mtu в принципе возможен можно воспользоваться простым пингом, с ручным указанием mtu из которого вычитаем длину заголовком IP + ICMP
ping -c 1 -s $((1350-28)) -M do www.debian.org
И напоследок:
интересная таблица оптимальных mtu для debian с сайта debian
https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_finding_optimal_mtu
Table 5.18. Basic guide lines of the optimal MTU value
network environment MTU rationale
Dial-up link (IP: PPP) 576 standard
Ethernet link (IP: DHCP or fixed) 1500 standard and default
Ethernet link (IP: PPPoE) 1492 (=1500-8) 2 bytes for PPP header and 6 bytes for PPPoE header
Ethernet link (ISP\'s backbone: ATM, IP: DHCP or fixed) 1462 (=48*31-18-8) author\'s speculation: 18 bytes for Ethernet header, 8 bytes for SAR trailer
Ethernet link (ISP\'s backbone: ATM, IP: PPPoE) 1454 (=48*31-8-18-8) see \"Optimal MTU configuration for PPPoE ADSL Connections\" for rationale