загадка для сисадміна: pfsense на proxmox

на роботі (так, знайшов, працюю вже тиждень) налаштовую невеличку тестову «лабораторію», аби підготувати міграцію маршрутизації з debian на pfsense: на «зайвий» десктоп (dell precision t3500) встановлено proxmox, на ньому віртуальна машина з pfsense, і поруч — ще одна, з debian.

так от, загадка: debian має доступ до веб-інтерфейсу pfsense, резолвить і пінгує все вздовж маршруту до google (обидва інтерфейси pfsense, сервер dns в локальній мережі підприємства, обидва інтерфейси головного маршрутизатора, і власне гуглівські dns’и 8.8.8.8 та 8.8.4.4) — але всі спроби відкрити зовнішні сайти веб-оглядачем, завантажити що-небудь wget’ом або достукатися до репозиторіїв debian впираються в «нема відповіді від сервера». в чім проблема?

я порпався в налаштуваннях pfsense, proxmox та шукав два дні (ну, звісно, поміж іншими задачками). пригадував досвід з коледжа, де ми два десятки разів встановлювали pfsense на віртуальні машини для своїх лабораторних робіт, і все працювало «з коробки» в таких простих конфігураціях.

на другий день таки нагуглив щось цікаве: опція hardware checksum offloading, захована глибоченько в системних налаштуваннях pfsense (system > advanced > networking > network interfaces), визначає, хто займатиметься обрахунком і перевіркою контрольних сум мережевих пакетів — мережева карта (за замовчуванням, детальніше у вікіпедії) чи програмний стек tcp/ip (потребує галочки).

поставив галочку — все працює.

цікаво, що цей нюанс згадано в документації pfsense як потенційну проблему з деякими мережевими картами, і зокрема віртуалізованими за допомогою протоколу/драйверів virtio — себто, proxmox також. але ж, як це часто буває із сисадмінськими загадками, відповідь десь на відстані одного пошукового запиту — якщо знати, що шукати!

зображення