nicol@s Опубликовано 12 ноября, 2009 (изменено) · Жалоба Здравствуйте! Схема подключения следующая: есть два гейта: gate1 и gate2. Веб-сервер в DMZ зоне имеет айпишник x.x.47.2. Веб-сервер подлкючен к обоим гейтам. IP сетевого интерфейса DMZ на gate1 - x.x.47.254, на gate2 - x.x.47.1 соотвественно. Сеть 10.1.x.x ходит через gate1, 10.2.x.x - через gate2. На веб-сервере прописаны роуты: для сети 10.1.x.x - x.x.47.254 и для сети 10.2.x.x - x.x.47.1. Схема 10.1.x.x->gate1->dmz->gate1->10.1.x.x работает. Схема 10.2.x.x->gate2->dmz->gate2->10.2.x.x тоже работает. Хотелось бы, чтобы абоненты работали по такой схеме: 1) 10.1.x.x->gate1->dmz->gate2->10.1.x.x 2) 10.2.x.x->gate2->dmz->gate1->10.2.x.x соответственно. Рассмотрим 1-ю схему: пытаюсь зайти на веб-сервер, но не получается. При этом, на сетевом интерфейсе DMZ на gate2 вижу пакеты, но на внтуреннем интерфейсе gate2 в локалку пакетов уже нет. Аналогчино и для 2-го варианта - на сетевом интерфейсе DMZ на gate1 вижу пакеты, а на внутреннем нет. Кусок pf gate1: ext_if = "em0" int_if = "em1" dmz_if = "em2" table <LAN> const { 192.168.0.0/16, 10.0.0.0/8, 197.0.0.0/8 } pass quick from x.x.47.2 to <LAN> keep state block on { $ext_if, $int_if } all По идее pass quick выше - должно перекрывать block on, но сайт не работает. Если закомментировать #block on { $ext_if, $int_if } all , то пакеты видим на внутреннем интерфейсе gate2, видим на сетевухе абонента wireshark`ом, но сайт при этом все равно не открывается. ICMP и порт 53 ходят отлично. Изменено 12 ноября, 2009 пользователем nicol@s Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TiFFolk Опубликовано 12 ноября, 2009 · Жалоба На веб-сервере прописаны роуты: для сети 10.1.x.x - x.x.47.254 gate 1 и для сети 10.2.x.x - x.x.47.1. gate 2 Схема 10.1.x.x->gate1->dmz->gate1->10.1.x.x работает. Схема 10.2.x.x->gate2->dmz->gate2->10.2.x.x тоже работает. Ну так как роутинг работает по адресам назначения, то так и будет работать. У вас маршрут к двум сетям через свои шлюзы, вот траффик и возвращается через свои шлюзы. Хотелось бы, чтобы абоненты работали по такой схеме:1) 10.1.x.x->gate1->dmz->gate2->10.1.x.x 2) 10.2.x.x->gate2->dmz->gate1->10.2.x.x соответственно. Те вы хотите чтобы DMZ отдавал траффик исходящий через противоположный шлюз? Для этого вам надо прописать роутинг на нем, для сети 10.1.x.x - x.x.47.1 и для сети 10.2.x.x - x.x.47.254 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
xWR Опубликовано 13 ноября, 2009 · Жалоба http://house.hcn-strela.ru/BSDCert/BSDA-co...ols-balance-out Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nicol@s Опубликовано 13 ноября, 2009 (изменено) · Жалоба Те вы хотите чтобы DMZ отдавал траффик исходящий через противоположный шлюз? Для этого вам надо прописать роутинг на нем, для сети 10.1.x.x - x.x.47.1 и для сети 10.2.x.x - x.x.47.254 В том то все и дело, что мы прописывали так, но возникала проблемаПри этом, на сетевом интерфейсе DMZ (em2) gate2 вижу пакеты, но на внтуреннем интерфейсе gate2 (em1) в локалку пакетов уже нет. Аналогчино и для 2-го варианта - на сетевом интерфейсе DMZ (em2) gate1 вижу пакеты, а на внутреннем (em1) - нет.Кусок pf gate1: Код ext_if = "em0" int_if = "em1" dmz_if = "em2" table <LAN> const { 192.168.0.0/16, 10.0.0.0/8, 197.0.0.0/8 } pass quick from x.x.47.2 to <LAN> keep state block on { $ext_if, $int_if } all По идее pass quick выше - должно перекрывать block on, но сайт не работает. Если закомментировать Код #block on { $ext_if, $int_if } all , то пакеты видим на внутреннем интерфейсе gate2, видим на сетевухе абонента wireshark`ом, но сайт при этом все равно не открывается. ICMP и порт 53 ходят отлично. http://house.hcn-strela.ru/BSDCert/BSDA-co...ols-balance-outЕсли Вы имели ввиду, как зарулить трафик на самом DMZ - это не проблема. Вопрос в том, почему при схеме, скажем, 10.1.x.x->gate1->dmz->gate2->10.1.x.x трафик на gate2 не попадает с интерфейса DMZ (em2) на внутренний интерфейс (em1). Изменено 13 ноября, 2009 пользователем nicol@s Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TiFFolk Опубликовано 13 ноября, 2009 · Жалоба Кусок pf gate1:Код ext_if = "em0" int_if = "em1" dmz_if = "em2" table <LAN> const { 192.168.0.0/16, 10.0.0.0/8, 197.0.0.0/8 } pass quick from x.x.47.2 to <LAN> keep state block on { $ext_if, $int_if } all При таком наборе правил клиенты не смогут сделать запрос к вебсерверу, так как он обработается block on. Лишь при исходящих запросах от сервера сработает pass, создастся состояние и пакеты пойдут на время конкретной сессии. И какие пакеты вы видите у клиента? Телнет на 80 порт что говорит? МОжет у вас закрыт как-то tcp, 53 порт, это udp(dns). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nicol@s Опубликовано 13 ноября, 2009 · Жалоба Прошу прощения, ошибся! Это кусочек конфига c gate2, а не с gate1. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TiFFolk Опубликовано 13 ноября, 2009 · Жалоба Что за пакеты вы видите? HTTP? Телнетом пробовали забирать страничку? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nicol@s Опубликовано 13 ноября, 2009 · Жалоба Да, http. Если можно,я в понедельник утром выложу tcpdump пакетов. При этом пинги идут отлично от клиента до x.x.47.2 и nslookup проходит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nicol@s Опубликовано 16 ноября, 2009 · Жалоба Еще раз потестировал схему 10.1.2.123->gate1->dmz->gate2->10.1.2.123 При такой схеме пакет идет от абонента через gate1, доходит до интерфейса веб-сервера, согласно внутреннему роутингу посылается на gate2 и обрывается на em2 gate2. Если закомментить правила block, то пакеты проходят, через gate2, но летят без остановки до абонента, и соединение не устанавливается. Покажу вывод tcpdump: Строку pf на gate2 block on { $ext_if, $int_if } all оставим незакомментированной. Что вижу: пинги с абонента идут нормально, nslookup проходит, трассировка тоже. Пробую зайти на сайт от абонента - тишина. На интерфейсе абонента и на внутреннем интерфейсе gate2 (em1) пакетов не вижу. Пробую забирать телнетом - неудача: $ telnet x.x.47.2 80 Trying x.x.47.2... Connected to x.x.47.2 Escape character is '^]'. get index.html ^] telnet> quit Connection closed. Теперь закомментирую block on { $ext_if, $int_if } all Пинги, трассировка, nslookup проходят. Пробую зайти на сайт и вижу просто кучу пакетов на интерфейсах em1, em2 ( на gate2 ) и на интерфейсе абонента. Вот tcpdump: на интерфейсе em2 (gate2) tcpdump -ni em2 host 10.1.2.123 and host x.x.47.2 11:45:36.445602 IP x.x.47.2.80 > 10.1.2.123.50462: S 3361253988:3361253988(0) ack 1389169065 win 65535 <mss 1460> 11:45:36.446266 IP x.x.47.2.80 > 10.1.2.123.50462: S 3361253988:3361253988(0) ack 1389169065 win 65535 <mss 1460> То же самое вижу на внутреннем интерфейсе em1 gate2 (очень много): 11:45:38.930486 IP x.x.47.2.80 > 10.1.2.123.59275: S 3241377898:3241377898(0) ack 429987545 win 65535 <mss 1460> 11:45:38.930934 IP x.x.47.2.80 > 10.1.2.123.59275: S 3241377898:3241377898(0) ack 429987545 win 65535 <mss 1460> На сетевом интерфейсе абонента вижу очень много: tcpdump -ni eth0 host x.x.47.2 11:45:40.988540 IP 10.1.2.123.60970 > x.x.47.2.80: . ack 3983708364 win 5840 11:45:40.988919 IP x.x.47.2.80 > 10.1.2.123.60970: S 3471187685:3471187685(0) ack 4239563930 win 65535 <mss 1460> И сайт не открывается. Телнет тоже ничего не возвращает: telnet x.x.47.2 80 Trying x.x.47.2... Connected to x.x.47.2. Escape character is '^]'. get index.php ^] telnet> quit Connection closed. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TiFFolk Опубликовано 16 ноября, 2009 · Жалоба Отключите PF, проверьте голый роутинг. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yakuzzza Опубликовано 16 ноября, 2009 · Жалоба А можно вопрос по сути: зачем вообще строить такую схему? Поддержу предыдущего оратора - начала настраивают без пакетного фильтра, потом шашечки. Лично бы я строил бы на 2 шлюзах, но с использованием CARP - дешевое отказоустойчивое решение, а трафик резать файрволлом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...