Назад | Перейти на главную страницу

Мост и OpenVPN с Shorewall

У меня есть этот сценарий, и все работает нормально, но я хочу настроить Shorewall и не могу этого сделать.

Мои интерфейсы:

br0 (bridge of eth0)
tun0 (OpenVPN)
vnet* (each one of bridged interfaces with public IP's)


Public Main IP: 188.165.X.Y
OpenVPN IP's: 172.28.0.x
Bridge: public ip's

Итак, у меня есть следующая конфигурация Shorewall:

/ etc / shorewall / зоны

#ZONE   TYPE        OPTIONS     IN          OUT
#                               OPTIONS     OPTIONS
fw      firewall
inet    ipv4
road    ipv4

/ и т.д. / shorewall / интерфейсы

#ZONE   INTERFACE   BROADCAST       OPTIONS
inet    br0         detect          routeback
road    tun+        detect          routeback

/ etc / shorewall / policy

#SOURCE DEST    POLICY      LOG LIMIT:      CONNLIMIT:
#               LEVEL   BURST       MASK
$FW  all     ACCEPT
inet    $FW  DROP       info
road    all     DROP
inet    road    DROP

/ etc / shorewall / туннели

#TYPE           ZONE        GATEWAY     GATEWAY
#                                       ZONE
openvpnserver:1194          inet      0.0.0.0/0

Проблема в том, что даже при запущенном shorewall я могу пинговать или подключаться к виртуальным машинам за мостом.

Вы не должны защищать интерфейсы межсетевого экрана, которые являются членами моста, а только сам интерфейс моста. Мост - это домен уровня 2, тогда как iptables - это межсетевой экран уровня 3, поэтому он работает только тогда, когда хост маршрутизирует пакеты на уровне 3.

В вашем случае Shorewall должен знать только о br0 и tun+, поскольку eth0 и vnet+ являются членами br0. Если вы хотите контролировать трафик между виртуальными машинами и Интернетом, вы должны изменить свою конфигурацию, чтобы не подключать виртуальные машины к локальной сети (т.е. eth0 снаружи br0).