The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с доступом снаружи."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Проблема с доступом снаружи."  +/
Сообщение от sega78 (ok) on 29-Апр-11, 20:21 
Доброго дня Вам.
Постараюсь описать проблему вкратце:
Сменил на сервере FreeBSD 6 (не помню точно какую) на 8.2. Задача сервера почти стандартная для небольших компаний: раздача интернета в локалку, прокси (squid), почта (exim), ftp (ftpd), есть свой домен 2-го уровня. 2 сетевых карты - одна наружу к провайдеру, вторая внутрь.

Проверил все из локалки - работает как часы. Но филиалы компании, которые сидят снаружи и стучаться к нам через интернет за почтой и на фтп обнаружили интересную проблему: соединение проходит, а вот данные получить огромная проблема. В то же время по ssh и www данные получить можно (по крайней мере из дома спокойно подключался).
Так же заметил, что при подключении (здесь и далее буду говорить только о внешних подключениях) к серверу по фтп процесс natd кушает аж 100% WCPU.

Кусочки конфигов:

rc.conf

gateway_enable="YES"
inetd_enable="YES"

natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="fxp0" #Внешний интерфейс
natd_flags="-m -u"

firewall_enable="YES"
firewall_script="/etc/rc.firewall.farm"
firewall_quiet="NO"

#фтп запускаю демоном, но пробовал и через inetd. Ничего не меняется.
ftpd_enable="YES"
ftpd_flags="-l -l"

rc.firewall.farm
# oif - внешний интерфейс (fxp0) oip - внешний ip (статика от провайдера)
# Enable divert
${fwcmd} add 300 divert natd tcp from any to any via ${oif}
${fwcmd} add 400 divert natd udp from any to any via ${oif}
${fwcmd} add 500 divert natd icmp from any to any via ${oif}

# Allow access to our FTP
${fwcmd} add 1100 pass tcp from any to ${oip} 20 setup
${fwcmd} add 1200 pass tcp from any to ${oip} 21 setup

Среди остальных конфигов ничего необычного нет.

P.S. Читал уже очень много и интернета и гугла и манов, но идей уже просто не возникает, а мучаюсь уже три дня. Буду рад любой помощи и идеям, но прошу не советовать сменить софт.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с доступом снаружи."  +/
Сообщение от sTALK_specTrum on 30-Апр-11, 01:14 
> ${fwcmd} add 300 divert natd tcp from any to any via ${oif}
> ${fwcmd} add 400 divert natd udp from any to any via ${oif}
> ${fwcmd} add 500 divert natd icmp from any to any via ${oif}

Вообще-то классика связки ipfw и natd такова:
${fwcmd} add 300 divert natd all from any to any xmit ${oif}
${fwcmd} add 400 divert natd all from any to ${oip} recv ${oif}

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблема с доступом снаружи."  +/
Сообщение от sega78 (ok) on 30-Апр-11, 17:54 
> Вообще-то классика связки ipfw и natd такова:
> ${fwcmd} add 300 divert natd all from any to any xmit ${oif}
> ${fwcmd} add 400 divert natd all from any to ${oip} recv ${oif}

Попробовал... К сожалению, не помогло...

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблема с доступом снаружи."  –1 +/
Сообщение от SDenis (??) on 01-Май-11, 01:32 
>> Вообще-то классика связки ipfw и natd такова:
>> ${fwcmd} add 300 divert natd all from any to any xmit ${oif}
>> ${fwcmd} add 400 divert natd all from any to ${oip} recv ${oif}
> Попробовал... К сожалению, не помогло...

"Сменил на сервере FreeBSD 6 (не помню точно какую)"

Пздц. Сиди и разбирайся. До упора. Потом едь в филиалы и разбирайся.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблема с доступом снаружи."  +/
Сообщение от sega78 (ok) on 01-Май-11, 12:42 
> "Сменил на сервере FreeBSD 6 (не помню точно какую)"

3 года стояла 5.6, потом поменяли на 6-у, работало еще 2 года. Сейчас сменили на 8.2. Это сильно поможет в выяснении где возникла проблема??? Особенно если учесть, что основные конфиги (набор запущенных програм, настройки файрвола) не менялись...

> Пздц. Сиди и разбирайся. До упора. Потом едь в филиалы и разбирайся.

        ^^^^^^^^^^^^^^^^^^ А вот это особо ценный совет, спасибо. Сегодня  уже 5-ый день как я этим и занимаюсь.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблема с доступом снаружи."  +/
Сообщение от PavelR (??) on 01-Май-11, 12:47 
>> "Сменил на сервере FreeBSD 6 (не помню точно какую)"
> 3 года стояла 5.6, потом поменяли на 6-у, работало еще 2 года.
> Сейчас сменили на 8.2. Это сильно поможет в выяснении где возникла
> проблема??? Особенно если учесть, что основные конфиги (набор запущенных програм, настройки
> файрвола) не менялись...
>> Пздц. Сиди и разбирайся. До упора. Потом едь в филиалы и разбирайся.
>         ^^^^^^^^^^^^^^^^^^ А вот это
> особо ценный совет, спасибо. Сегодня  уже 5-ый день как я
> этим и занимаюсь.

Что, с логическим мышлением совсем туго ?

Чтобы выяснить, в чем проблема, отключаем потенциально проблемные компоненты.
- убираем нат
- тестируем.
- убираем файрволл
- тестируем.

тестируем, пока не получим отсутствия проблемы. После этого ковыряем конкретно проблемный компонент.

в помощь для этого - tcpdump. Вообще его надо было бы запустить в самом начале, хотя вы тут про 100% проца natd говорите, что несколько странно. Ну вот поэтому его стоит убрать, и проверить.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Решение"  +/
Сообщение от sega78 (ok) on 03-Май-11, 14:07 
Всем спасибо. Проблема решилась заменой

${fwcmd} add 300 divert natd tcp from any to any via ${oif}
${fwcmd} add 400 divert natd udp from any to any via ${oif}
${fwcmd} add 500 divert natd icmp from any to any via ${oif}
на
${fwcmd} add 300 divert natd tcp from not me to any via ${oif}
${fwcmd} add 400 divert natd udp from not me to any via ${oif}
${fwcmd} add 500 divert natd icmp from not me to any via ${oif}

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру