Кажется, что smbd пытается автоматически загрузить модуль ядра net-pf-10
, который является псевдонимом для ipv6
. Это, по-видимому, не разрешено в SELinux, так как обоснованно не ожидалось, что модуль не будет загружен (или что Вы попросили бы привязку IPv6 с отключенным IPv6).
Существует по крайней мере два возможных способа разрешить это.
Реконфигурируйте Samba, чтобы не попытаться связать с любым адресом IPv6. Изменитесь interfaces
строка в smb.conf
связывать с Вашим желаемым IPv4 обращается только. Пример:
interfaces = 127.0.0.1 198.51.100.87
bind interfaces only = yes
В операторе уже используется порт 7777. Для переадресации портов, с помощью
он работает нормально, когда не настраивается виртуальный последовательный канал.
Если я правильно понял, вы хотите настроить виртуальный последовательный канал для связи с хоста на ВМ с помощью доменного сокета Unix?
В этом случае это может сделать следующее:
EDIT:
Пример подключения с хоста с помощью ssh к ВМ:
Эта переадресация хоста отображает порт 10022 локального хоста (host) на порт 22 на ВМ.
Как только ВМ была запущена таким образом, вы можете получить доступ к ней с localhost следующим образом:
Команда -net nic инициализирует очень простую виртуальную сетевую карту.[115820].
Примерьте это при запуске qemu -redir tcp:2222::22
$ ssh -p 2222 localhost
Флаг tcp:2222::22 в команде запуска qemu сопоставляет порт 2222 машины-хоста с портом 22 (порт ssh по умолчанию) на виртуальной машине.
Затем, простое переключение ssh на 2222 порт вашего локального хоста (хост-машины) перенаправит любой трафик на 22 порт ssh на виртуальной машине, что должно позволить вам использовать ssh так же, как вы обычно используете любую другую машину.
Конфигурация OpenSSH протестирована на Buildroot 2016.05, QEMU 2.5.0, хосте Ubuntu 16.04
Помимо перенаправления сети QEMU вам также потребуется чтобы правильно настроить SSH, о чем я расскажу здесь.
Начните с qemu_x86_64_defconfig
и включите пакет openssh:
make qemu_x86_64_defconfig
echo 'BR2_PACKAGE_OPENSSH=y' >> .config
make BR2_JLEVEL=$(nproc)
Затем запустите QEMU с помощью:
qemu-system-x86_64 \
-M pc \
-append root=/dev/vda \
-drive file=output/images/rootfs.ext2,if=virtio,format=raw \
-enable-kvm \
-kernel output/images/bzImage \
-m 512 \
-net nic,model=virtio \
-net user,hostfwd=tcp::2222-:22
Затем в гостевой системе:
vi /etc/ssh/sshd_config
Измените следующие настройки:
PermitRootLogin yes
PermitEmptyPasswords yes
И перезапустите сервер:
/etc/init.d/S50sshd restart
Поскольку этот файл существует, sshd запускается по умолчанию, вот источник: https://github.com/buildroot/buildroot/blob/2018.02/package/openssh/S50sshd и ключ запуска следующие операции:
/usr/bin/ssh-keygen -A
/usr/sbin/sshd
touch /var/lock/sshd
Затем с хоста:
ssh root@localhost -p 2222
В случае сбоя сначала проверьте, работает ли пересылка по сети с помощью инструмента более низкого уровня, чем sshd: например, nc -l
, как описано здесь .
также проверьте журналы сервера на гостевой системе:
less /var/log/messages
Затем в последней системе вы должны автоматизировать создание этого файла журнала с помощью BR2_ROOTFS_OVERLAY
или BR2_ROOTFS_POST_BUILD_SCRIPT
: Настройка сгенерированная целевая файловая система | buildroot.org