Как настроить UFW для разрешения пересылки IP?

У меня на домашнем сервере установлены 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

Любая помощь будет принята с благодарностью.

16
задан 9 July 2012 в 03:51

4 ответа

Если вы установите 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, но это должно быть похоже). Может быть, это не все, что нужно в вашем случае.

С наилучшими пожеланиями

0
ответ дан 9 July 2012 в 03:51

Я понял это.

Отредактируйте /etc/default/ufw и установите DEFAULT_FORWARD_POLICY на ПРИНЯТЬ :

DEFAULT_FORWARD_POLICY="ACCEPT"
0
ответ дан 9 July 2012 в 03:51

Эта команда ufw хорошо сработала для меня: sudo ufw default allow FORWARD

Чтобы убедиться, что изменение применено: sudo service ufw restart

0
ответ дан 9 July 2012 в 03:51

Теперь это возможно - со страницы руководства 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.

0
ответ дан 9 July 2012 в 03:51

Другие вопросы по тегам:

Похожие вопросы: