gufw - это не брандмауэр приложения, это графический интерфейс для ufw, который, в свою очередь, является интерфейсом iptables.
Все предустановленные правила фаерволла ufw записаны в каталоге /etc/ufw/applications.d/ ипредставляют собою текстовый файл в несколько строчек.
Основной синтаксис:
[appname]
title=1-liner here
description=a longer line here
ports=1,2,3,4,5,6,7,8,9,10,30/tcp|50/udp|53
Последняя строчка является разрешённым портом .
Для создания предустановленного правила ufw его возможностей недостаточно , так как доступ к определённому порту хостовой машины не является достаточным условием для создания предустановленного правила виртуальной машины.
Для того, чтобы
дать разрешения фаерволу передавать пакеты только virtualbox,а всему остальному запретить
, нужно воспользоваться возможностями IPTABLES, а не вот этими прослойками в виде ufw или gufw.
Правила iptables для virtualbox выглядят примерно следующим образом:
Код:
В sysctl (на основной машине) разрешаем форвардинг
# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
#sysctl -p
Предполагается, что iptables уже установлен и запущен. После запуска Virtualbox у нас появился интерфейс vboxnet0. Наша сетевая карта eth0 (основной системы).
Добавляем следующие правила в iptables :
# iptables -t filter -I FORWARD --in-interface vboxnet0 --out-interface eth0 --source 172.16.0.0/24 -j ACCEPT
# iptables -t filter -I FORWARD --in-interface eth0 --out-interface vboxnet0 --destination 172.16.0.0/24 -j ACCEPT
# iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
Теперь виртуальная машина у нас в сети с выходом в интернет.
Но это - не точно. Это всего лишь направление мышления.
Для создания более точных правил iptables, нужно уточнять твои настройки.