Здравствуйте!
У нас есть DFL-800. У нас есть один внешний ip адрес 212.75.131.12, выданный нам провайдером, ну и соответственно локальная сеть с адресацией 192.168.0.0/24. Помогите, пожалуйста, разобраться в нескольких базовых вопросах, очень нужно. Буду рад любой толковой информации и ссылкам на таковую. Когда я пришел на работу все уже почти было настроено мне нужно в этом разобраться, так как раньше работал с очень простыми сетями на несколько компов и все, а тут конечно же все посложнее.
1. Во-первых это устройство - есть межсетевой экран (далее файрвол), в котором есть функция (если можно так назвать опция) NAT. То есть, грубо говоря, если я все правильно понимаю DFL-800 можно разделить на два устройства одно устройство реализует NAT, второе есть непосредственно сам файрвол и если мы хотим задать для файрвола какое-то правило то мы как бы должны входящий трафик направить в core, для анализа этого трафика на соответствие или несоответствие нашему установленному правилу, если же мы создадим какое-нибудь правило для входящего трафика и в DestinationInterface просто укажем lan, то правило выполнятся не будет, то есть тем самым мы говорим что просто транслируем трафик с wan1 на lan. Причем есть порядок выполнения этих операций сначала преобразования адресов, а потом проверка на соответствие или несоответствии правилам. Все ли я верно думаю?
2.Файрвол мы используем, как защиту для нашей безопасности, то есть снаружи к нашей сети никто не может подключиться, и так как у нас один внешний ip мы используем функцию файрвола NAT. Для этого мы создаем правило, в котором мы хотим сказать, что весь трафик, который поступает на интерфейс lan (исходящий трафик нашей локальной сети) нам нужно отправить на интерфейс wan1. Соответственно в SourceInterface (источник) указываем lan, SourceNetwork указываем lannet. Так как в данном случае нам проверять ни каких правил не нужно то в DestinationInterface указываем wan1 (иначе бы мы указывали core), а проверять нам ничего не нужно, потому что мы разрешаем весь исходящий трафик нам нужно просто направить трафик с lan на wan1. Так как в DFL-800 мы работаем с предопределенными объектами то в Service выбираем all_tcpudp, ну и соответственно в Action выбираем NAT потому что мы хотим дать интернет всем пользователям локальной сети. Правильно ли веду свои мысли?
3.Как работает NAT.
Допустим в локальной сети пользователь за компьютером хочет посетить сайт google.ru. Запрос с этого компьютера с ip адресом 192.168.0.36 и номером порта N>1024 поступает на интерфейс lan перенаправляется на интерфейс wan1, но так как используется NAT то адрес 192.168.0.36 заменяется на 212.75.131.12 и номер порта, то же заменяется (только на какой я не пойму). Теперь с вебсервера приходит ответ этому пользователю, но ответ приходит на адрес 212.75.131.12 и все происходит с точностью до наоборот. И все замечательно, пользователи ходят в интернет, и снаружи к нам доступа нет. Так бы и продолжалось
4. Но вот в один прекрасный день шеф сказал, нужен свой сайт. И в локальной сети появляется вебсервер и соответственно сайт с именем моякомпания.ru. Сайт размещен в локальной сети. Первая мысль была… ну и размещен в локальной сети ну что дальше все работает так же как для простой рабочей станции, оказалось все не так просто.
Правильно ли я понимаю следующее. Рассмотрим два случая.
А) Из нашей локальной сети с рабочей станции поступил запрос на сервер google.ru и с сервера google.ru приходит ответ, который является для нас входящим трафиком. Этот ответ доходит до конечной рабочей станции, которая находиться в локальной сети. Все работает, как полагается.
Б) Какой-то пользователь снаружи хочет подключиться к нашему вебсерверу, который находиться в нашей локальной сети за файрволом, пользователь со своего компьютера делает запрос – это является для нас то же входящим трафиком, как и в случае А), но в случае Б) до сервера этот входящий трафик в виде запроса не дойдет, по простой причине в случае А) соединение было инициировано из нашей локальной сети и NAT просто знал, кому направить входящий трафик. В случае Б) соединение инициируется снаружи и у NAT просто нет информации кому направить этот входящий трафик. Значит, мы должны сначала сделать перенаправление портов с помощью SAT, а потом еще для этого перенаправления задать правило. Значит, создаем правило1 в Action задаем SAT в SourceInterface задаем any а также указываем all-nets, потому что мы хотим, чтобы на наш сайт мог попасть любой человек. Идем далее в DestinationInterface задаем core (тут вопрос: почему core а не lan ведь нам просто нужно перенаправить входящий трафик с wan1 на lan для чего мы и указываем Action SAT или же как я понимаю нам нужно чтобы этот входящий трафик прошел как бы через core, чтобы файрвол смог его анализировать) и соответственно в Service задаем http. То есть первым правилом мы делаем, так что наш DFL-800 начинает слушать порт 80 как будто он и есть вебсервер правильно я понимаю? или же файрвол не может слушать порт он просто анализирует входящий трафик и соответственно правилу1 перенаправляет его на вебсервер и сервер отвечает на запрос поэтому снаружи создается ощущение что у нас открыт порт 80 на самом то деле он не открыт, а просто происходит перенаправление входящего трафика. Далее создаем правило2, которое будет разрешать входящий http на 80 порт. Для этого в Action указываем Allow в остальном все как в правило1.
Теперь как работает это все. На наш DFL-800 на внешний ip приходит какой-то запрос. DFL-800 начинает его анализировать и видит что запрос с ip адреса 212.88.23.66 и порта 1025 на наш внешний ip 212.75.131.12 на порт 80. Соответственно в DFL-800 есть правило1 с помощью которого файрвол понимает что этот запрос нужно переадресовать на внутренний адрес вебсервера и он его перенаправляет, а зачем нам в таком случае второе правило, которое как я понимаю, разрешает проходить через файрвол http трафику, а мы можем и не разрешить проходить http трафику зачем нам это надо если ставим у себя вебсервер в сети?
5. А вот вобщем то с чего я это все начал. У нас в сети есть еще фтп сервер вот с ним есть такая проблема из локальной сети фтп работает как положено, при подключении к нашему фтп снаружи, некоторые папки открываются нормально а некоторые не открываются, пробовал подключаться с помощью FileZilla Client, так вот когда я пытаюсь открыть папку которая не открывается FileZilla в журнале сообщений пишет Ошибка:Не могу получить список каталогов!. В логах DFL-800 вот что 2009-10-15 14:45:08 Warning IP_ERROR 01500005 LogChecksumErrors 139 wan1 212.77.130.255 255.255.255.255 invalid_ip_checksum drop rev=1 recvchksum=7458 compchksum=a8b2 ipdatalen=30
Тут же опять как работает фтп за DFL-800.
ФТП сервер слушает входящее соединение на порт 21, соответственно делаем два правила правило1
Action SAT
SourceInterface any
SourceNetwork all-nets
DestinationInterface core
DestinationNetwork wan1_ip
Service ftp-internal
правило2
Action Allow
SourceInterface any
SourceNetwork all-nets
DestinationInterface core
DestinationNetwork wan1_ip
Service ftp-internal
Мне не понятно различие работы активного и пассивного режима. В активном режиме после установки управляющего соединения, сервер с порта 20 инициирует соединение на порт клиента, номер этого порта клиент сообщает серверу. Если я все правильно понимаю, в активном режиме все должно работать правильно. В пассивном режиме соединение для передачи данных инициирует клиент на порт который указывает сервер например 1026, но этот порт у нас не открыт на файрволе (как например порт 21) соответственно передача данных невозможна. правильно ли я это понимаю? Ну как же мне можно решить проблему с моим фтп.
6. Как я понимаю в случае фтп как то должны быть задействованы ALG и что это такое вообще?
Буду очень благодарен за разъяснения.
|