UFW правила с NAT / маскарадинг

Я пытаюсь использовать Ubuntu в качестве роутера, ограничивая компьютер в моей частной сети тем, к чему он может подключаться в Интернете.

В Ubuntu есть две сетевые карты, одна из которых подключена к Интернету (enp0s3), другая - к одному частному ПК (enp0s8).

Для начала я хотел посмотреть, смогу ли я просто разрешить DNS из личного ящика через Ubuntu. Я следовал некоторым инструкциям, чтобы добавить некоторые правила «разрешения маршрута», например:

ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), allow (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
8.8.8.8 on enp0s3          ALLOW FWD   Anywhere on enp0s8        
8.8.4.4 on enp0s3          ALLOW FWD   Anywhere on enp0s8        
10.0.1.5 on enp0s8         ALLOW FWD   Anywhere on enp0s3   

10.0.1.5 - мой частный ПК. Используя Wireshark, я вижу, что DNS-запросы выполняются как на enp0s3, так и на enp0s8, но те, которые на enp0s3, не имеют ответа.

Итак, немного почитав, я обнаружил, что мне нужно настроить NAT и маскировку, поэтому я добавил в правила следующее:

# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 10.0.1.0/24 -o enp0s3 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT

Это сработало, но слишком хорошо. Теперь весь трафик выходит и возвращается на мой частный ПК, по умолчанию запрещается исходящий и другие правила UFW, кажется, все обойдено.

Итак, мой вопрос прост: я хочу, чтобы частный ПК получал подключение через Ubuntu, например, с предоставленным NAT, но с исходящими ограничениями, как я думал, я изначально настроил с использованием командных строк ufw. Есть ли способ, которым я могу заставить правила UFW так или иначе применяться после того, как NAT делает свое дело?

TIA.

0
задан 15 June 2019 в 15:21

1 ответ

Кажется, что направляющие/передающие правила являются абсолютно отдельными к нормальным правилам брандмауэра. Я перемещаю материал NAT в after.rules и изменил правило по умолчанию для "направленного" трафика для "отклонения". Кажется, что POSTROUTING происходит после значения по умолчанию отклоняют правило, применяется - поэтому, если что-то будет отклонено правилом по умолчанию, то это не будет туземное поднятый с постели. Возможно добавить пользовательские правила, конечно (вида "ufw, маршрут позволяют..."), и они могут разрешить трафик, прежде чем значение по умолчанию отклонит, применяется, и это будет затем поднято с постели как ожидалось.

0
ответ дан 24 October 2019 в 04:10

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

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