denmmx
@denmmx
Системный администратор

Как решить проблему с доступом между двумя локальными подсетями (Shorewall)?

Добрый день!

Интересует решение следующего вопроса. Имеется настроенный сервер на Debian 7.8, два физических интерфейса - один смотрит к провайдеру (eth0), другой в локальную сеть (eth1). На eth1 раздаются по DHCP адреса (подсеть 10.0.0.0/8) и на них же настроен маскарадинг (NAT). Дополнительно поднят виртуальный интерфейс eth1:1 со статической адресацией, без DHCP (подсеть 192.168.0.0/16). Из этой подсети доступ осуществляется через Squid3, но суть не в этом. В сети eth1:1 есть расшаренный ресурс со статическим ip, к которому необходимо дать доступ клиентам из сети eth1 (10.0.0.0/8).
Все это дело разруливается при помощи Shorewall.

Привожу конфиги.

/etc/shorewall/interfaces
#ZONE INTERFACE OPTIONS
net eth0 tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0
- eth1 dhcp,tcpflags,nosmurfs,routefilter,logmartians

/etc/shorewall/zones
#ZONE TYPE OPTIONS
fw firewall
net ipv4
loc ipv4
loc2 ipv4

/etc/shorewall/hosts
#ZONE HOSTS OPTIONS
loc eth1:10.0.0.0/8
loc2 eth1:192.168.0.0/16

/etc/shorewall/policy
#SOURCE DEST POLICY LOG LEVEL
net fw DROP err
net all DROP
loc net ACCEPT
loc2 net DROP
# THE FOLLOWING POLICY MUST BE LAST
all all REJECT err

/etc/shorewall/rules
#... часть правил я опустил, т.к. не имеют отношения к проблеме
#ACTION SOURCE DEST PROTO DEST SOURCE
# Allow Ping n SMB between loc and loc2 (test)
Ping(ACCEPT) loc loc2
Ping(ACCEPT) loc2 loc
SMB(ACCEPT) loc loc2:192.168.100.5

/etc/shorewall/masq
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0 10.0.0.0/8

Проблема в том, что не удается получить доступ из подсети 10.0.0.0/8 в подсеть 192.168.0.0/24, собственно пинги не идут и не открываются ресурсы по SMB, хотя явные правила для этого прописаны в /etc/shorewall/rules.
Использовал официальный мануал, там есть пример, как решается подобный вопрос (Example 6) - shorewall.net/Shorewall_and_Aliased_Interfaces.html
Подскажите, где может быть ошибка? Если будут нужны дополнительные логи или конфиги, то приведу без проблем.
  • Вопрос задан
  • 4545 просмотров
Пригласить эксперта
Ответы на вопрос 3
bk0011m
@bk0011m
Системный администратор
Сложности какие-то.
Не знаю что такое shorewall, подозреваю что файрвол какой-то, но ваша проблема разруливается обычной маршрутизацией. Как я понимаю у вас это шлюз. Ну так проверьте маршруты, сделайте разрешающие правила на своем shorewall. Чтоб не блокировал хождение пакетов из одной сети в другую

PS. Почитал про shorewall.. Ужас какой-то. Чем iptables то не устроил?

PS2.. А, все понял. Это обвязка для iptables. Все равно ужас!
Ответ написан
@9erhard
Серьезно с вашими конфигами не разбирался. Но по опыту:
1) Чтобы интерфейс начал пропускать пакеты на вход-выход (замыкая обработку трафика на себе, без передачи другим интерфейсам) в Shorewall нужно использовать опцию routeback в файле interfaces. Как в примере по вашей ссылке, в Example 5.
2) Не понял зачем в zones описан eth1 дважды для обоих внутр.подсетей. В моих конфигах такое не используется. Ну может и не сильно влияет на проблему. Хотя..
Ответ написан
t_q_l
@t_q_l
Интересная личность
ip route add 192.168.0.0/24 dev eth1:1
ip route add 10.0.0.0/8 dev eth1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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