Появилась необходимость создать запасной канал связи в интернет. Тех работы у оператора длинной в 12 часов совпадают с рабочим временем. Вариантов для частного дома (на территории СНТ) не так что бы много. Самым простым выглядит usb “свисток” от мобильного оператора. Выбор мобильного оператора остается за рамками. Нужно получить доступ в интернет в момент “отвала” основного провайдера.
Исходные данные
Итого имеет такую ситуацию:
- Proxmox 8.2.2; сервер (внутри кластера, как основа виртуализации);
- Opnsense 24.1.7; (как фаервол и граничный маршрутизатор);
- модем Yota. (как источник интернета “по воздуху”).
Выглядит все это так: есть кластер из нескольких (сейчас двух) сервером Proxmox. Внутри него крутиться виртуальная машина с Opnsense, которая играет роль граничного маршрутизатора и фаервола. Модем, активированные и настроенный на стационарном компьютере (Fedora 40).
Попытка один
Изначальная идея была такова: подключить модем в USB порт сервера и пробросить USB в виртуальную машину. Там уже попробовать “решить драйверную проблему”, если она будет и поднимать сеть силами Opnsense.
Тут же выяснилась, что первый раз (после подключения в USB) домем попадает в Opnsense и там начинается “вакханалия” с ошибками. Но далее, Proxmox (видимо именно сам Debian) сам определяет, что в сервер воткнут модем и начинает пробрасывать только USB “хаб”. Толку от которого внутри Opnsense уже нет.
Итак, по порядку. Создаем USB mapping device:
Пробрасываем его в Opnsense виртуальную машину:
|
|
Вот такой список устройств видится изнутри Opnsense:
Почему же так
Если выбраться “на уровень выше”, в Proxmox, то можно заметать, что в нем появилось несколько новых устройств. Это
виртуальный CD-rom
(/dev/sr0
), и сетевое устройство (/dev/eth0
). Выглядит как буд-то бы Proxmox “успел захватить”
часть устройств, которыми представляется флешка. При этом начинаются сыпаться горы ошибок:
|
|
Решение
Решением этого служим простая команда:
|
|
После ее выполнения поток ошибок прекращается. Пропадает устройство /dev/sr0
и ошибки в выводе. Но это не решает
основную проблему: usb-lan не появляется в Opnsense.
Попытка номер два
Так как сам сетевой интерфейс прокинуть в Opnsense не получается, можно создать бридж на сетевой интерфейс в Proxmox. Потом добавить этот бридж в качестве порта в Opnsense и использовать как DHCP шлюз. Это вариант оказывается проще, так как сетевой интерфейс появляется в Proxmox, и для Opnsense всегда существует виртуальный бридж.
Проблемы с sr0
Так как после подключения (и во время загрузки) происходят постоянные ошибки чтения, весь сервер тормозит. Решить эту проблему сходу не получается, пока-что приходится обходиться простой командой:
|
|
На рабочей станции таких “приколов” нет, но найти отличия сходу так же не получилось. Выпиливать драйвер для cd-rom считаю слишком радикальной идеей. Правила дял udev тоже не очень помогли.