У меня на домашнем сервере установлены UFW, OpenVPN и Virtualbox. У меня есть сеть только для хоста для моих гостей виртуальной машины (vboxnet0), настроенная с диапазоном IP-адресов 10.0.1.0, и другой диапазон IP-адресов 10.0.0.0, настроенный на другом конце соединения OpenVPN.
Переадресация IP настроена на хосте, поэтому, когда UFW отключен , они могут общаться друг с другом без каких-либо проблем. Тем не менее, я бы хотел запустить UFW, так как этот хост будет доступен через Интернет, и мне нужен контроль доступа.
Как я могу настроить UFW, чтобы разрешить такой трафик?
Я пробовал различные комбинации: ufw allow allow in|out on vboxnet0|tun0
безуспешно.
Мои правила UFW:
root@gimli:~# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Anywhere ALLOW 10.0.0.0/16
Anywhere on vboxnet0 ALLOW Anywhere
Anywhere on tun0 ALLOW Anywhere
Anywhere ALLOW OUT Anywhere on vboxnet0
Anywhere ALLOW OUT Anywhere on tun0
Любая помощь будет принята с благодарностью.
Если вы установите DEFAULT_FORWARD_POLICY в ACCEPT в / etc / default / ufw, брандмауэр будет пересылать все пакеты независимо от настроек пользовательского интерфейса.
Я думаю, что пользовательский интерфейс предназначен только для простой фильтрации входов и выходов. Для переадресации вам нужно добавить правила iptables в /etc/ufw/before.rules, например, здесь:
-A ufw-before-forward -i eth1 -p tcp -d 192.168.1.11 --dport 22 -j ACCEPT
У вас, вероятно, уже есть правило, которое разрешает соединения изнутри, и другое, которое позволяет пакетам связываться и устанавливаться tcp сеансы обратно.
Я не специалист по iptables, мне потребовалось очень много времени, чтобы понять это (с ip6tables, но это должно быть похоже). Может быть, это не все, что нужно в вашем случае.
С наилучшими пожеланиями
Я понял это.
Отредактируйте /etc/default/ufw
и установите DEFAULT_FORWARD_POLICY
на ПРИНЯТЬ :
DEFAULT_FORWARD_POLICY="ACCEPT"
Эта команда ufw хорошо сработала для меня:
sudo ufw default allow FORWARD
Чтобы убедиться, что изменение применено: sudo service ufw restart
Теперь это возможно - со страницы руководства ufw:
Правила для трафика, предназначенного не для самого хоста, а для трафика, который должен перенаправляться / пересылаться через брандмауэр, должны указывать ключевое слово route до правило (правила маршрутизации значительно отличаются от синтаксиса PF и вместо этого учитывают соглашения цепей FORWARD netfilter). Например:
ufw route allow in on eth1 out on eth2
Это позволит всему трафику, направляемому на eth2 и поступающему на eth1, проходить через межсетевой экран.
ufw route allow in on eth0 out on eth1 to 12.34.45.67 port 80 proto tcp
Это правило позволяет любым пакетам, поступающим в eth0, проходить через межсетевой экран eth1 в порт 80 tcp 12.34.45.67.
В дополнение к правилам и политике маршрутизации вы также должны настроить переадресацию IP. Это можно сделать, установив следующее в /etc/ufw/sysctl.conf:
net/ipv4/ip_forward=1 net/ipv6/conf/default/forwarding=1 net/ipv6/conf/all/forwarding=1
и перезапустив брандмауэр:
ufw disable ufw enable
Помните, что настройка параметров ядра - это операционная система Специфические и UFSW настройки sysctl могут быть переопределены. Подробности смотрите на странице справочника sysctl.