URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68555
[ Назад ]

Исходное сообщение
"proftpd - слишком медленное соединение. Как ускорить?"

Отправлено chainik , 29-Авг-06 15:46 
Первое соединение устанавливается аж 40 сек. Как избежать такой паузы?

---------------------------
# ftp 192.168.0.3
Connected to 192.168.0.3.
>>>>>>>>> Вот здесь - пауза 40 секунд <<<<<<<<<<<<<<
220 Chainik at Chainikino.
Name (192.168.0.3:root):
---------------------------

Версия proftpd

# proftpd -v
- ProFTPD Version 1.2.10

Стоит на основательно подновленной Slackware 10.1

---------------------------

Далее привожу /etc/proftpd.conf и кусочек из inetd.conf

ServerName                      "Chainik at Chainikino."
#ServerType            standalone
ServerType            inetd
DefaultServer            on
MaxInstances            30
ServerIdent  on "Chainik at Chainikino."
#PassivePorts                    51000 51999
Port                21
SystemLog            /var/log/proftpd.log

<Global>
ServerIdent  on "Chainik at Chainikino."
DefaultRoot ~ !staff
DefaultRoot /home staff
RequireValidShell              off
PassivePorts                   51000 51999
Umask                022
TransferLog            /var/log/xferlog
<Directory /*>
  AllowOverwrite        on
</Directory>
</Global>

IdentLookups                   off
UseReverseDNS                  off

User                nobody
Group                nogroup

# A basic anonymous FTP server configuration.
# To enable this, remove the user ftp from /etc/ftpusers.

<Anonymous ~ftp>
RequireValidShell             off
User                          ftp
Group                         ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias                     anonymous ftp
  # Limit the maximum number of anonymous logins
MaxClients                    20
  # We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
#DisplayLogin                  welcome.msg
#DisplayFirstChdir             .message
  # Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
  DenyAll
</Limit>
# An upload directory that allows storing files but not retrieving
# or creating directories.
#  <Directory incoming/*>
#    <Limit READ>
#      DenyAll
#    </Limit>
#
#    <Limit STOR>
#      AllowAll
#    </Limit>
#  </Directory>

</Anonymous>


# ======= External interface settings ================================================

<VirtualHost a.b.c.d>
Port 21
ServerName "Chainik at Chainikino"
DefaultRoot ~ !staff
DefaultRoot /home staff
RequireValidShell             off
# MasqueradeAddress               a.b.c.d
<Limit WRITE DELE STOR MKD XMKD RNFR RNTO RMD XRMD>
  AllowUser shurik
  AllowUser incoming
  DenyAll
</Limit>

<Anonymous ~ftp>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp

  # Limit the maximum number of anonymous logins
  MaxClients                    20

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  #DisplayLogin                  welcome.msg
  #DisplayFirstChdir             .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>

  # An upload directory that allows storing files but not retrieving
  # or creating directories.
#  <Directory incoming/*>
#    <Limit READ>
#      DenyAll
#    </Limit>
#
#    <Limit STOR>
#      AllowAll
#    </Limit>
#  </Directory>

</Anonymous>

</VirtualHost>

# ======= End of external interface settings ============================================

# ======  domain0001.ru ========================================================================
<VirtualHost 192.168.0.3>
Port 3910 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/vasya/public_domain0001>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
<VirtualHost a.b.c.d>
Port 3910 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/vasya/public_domain0001>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
# ======  domain0001.ru ========================================================================

# ======  subdomain0001 ========================================================================
<VirtualHost 192.168.0.3>
Port 3911 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/subdomain0001/public_ftp>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
<VirtualHost a.b.c.d>
Port 3911 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/subdomain0001/public_ftp>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
# ====== end of subdomain0001 ========================================================================

# ======  domain0003.ru ========================================================================
<VirtualHost 192.168.0.3>
Port 3916 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/domain0003/public_html>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
<VirtualHost a.b.c.d>
Port 3916 # Do not forget to make correspondent corrections in /etc/inetd.conf
<Limit LOGIN>
  DenyAll
</Limit>
<Anonymous /home/domain0003/public_html>
  RequireValidShell             off
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    20
  <Limit LOGIN>
   AllowAll
  </Limit>
  <Limit WRITE>
   DenyAll
  </Limit>
</Anonymous>
</VirtualHost>
# ====== end of domain0003.ru ========================================================================

Вот - кусочек из /etc/inetd.conf

# Professional File Transfer Protocol (FTP) server.
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd
3910     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd
3911     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd
3916     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd


Содержание

Сообщения в этом обсуждении
"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено Сашка , 29-Авг-06 17:34 
DNS

"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено Аноним , 29-Авг-06 19:48 
UseReverseDNS off

http://www.proftpd.org/docs/faq/linked/faq-ch4.html


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено chainik , 29-Авг-06 22:47 
>UseReverseDNS off

Так вроде, так оно у меня и есть, все равно - длинная задержка.


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено chainik , 29-Авг-06 22:44 
>DNS

Так он работает, только без обратной зоны (сложно договориться с провайдером). С другой стороны, в /etc/proftpd.conf у меня записана строчка:
UseReverseDNS off
, и все равно конструкция работает с какой-то задержкой.


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено Imperator , 30-Авг-06 11:58 
>>DNS
>
>Так он работает, только без обратной зоны (сложно договориться с провайдером). С
>другой стороны, в /etc/proftpd.conf у меня записана строчка:
>UseReverseDNS off
>, и все равно конструкция работает с какой-то задержкой.


13. Slow logins

This is probably caused by a firewall or DNS timeout. By default ProFTPD will try to do both DNS and ident lookups against the incoming connection. If these are blocked or excessively delayed a slower than normal login will result. To turn off DNS and ident use:

UseReverseDNS off
IdentLookups                    off
            
IdentLookups and tcpwrappers ***


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено lavr , 30-Авг-06 12:12 
>>DNS
>
>Так он работает, только без обратной зоны (сложно договориться с провайдером). С
>другой стороны, в /etc/proftpd.conf у меня записана строчка:
>UseReverseDNS off
>, и все равно конструкция работает с какой-то задержкой.

в вашем примере:

192.168.0.3 - технологическая сеть по RFC1918:

you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
#       10.0.0.0        -   10.255.255.255
#       172.16.0.0      -   172.31.255.255
#       192.168.0.0     -   192.168.255.255

так причем тут провайдер?

Use ReverseDNS работает для server.config - возможно проблема не в этом.
Чтобы понять - нужно проверить реактивность:

- с самого сервера proftpd
- с клиентов

после чего будет понятно что проблема либо с сервером:
- /etc/hosts + resolv.conf
с клиентами:
- resolv.conf


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено chainik , 30-Авг-06 12:58 
>192.168.0.3 - технологическая сеть по RFC1918:
>
>you can use the following IP networks for
># private nets which will never be connected to the Internet:
>#
>#       10.0.0.0    
>   -   10.255.255.255
>#       172.16.0.0    
> -   172.31.255.255
>#       192.168.0.0    
>-   192.168.255.255
>
>так причем тут провайдер?

Э, нет. На этой машине - 2 интерфейса. Если заметили, в примере есть еще виртуальные (по портам) ftp -  хосты a.b.c.d (внешний адрес). На соседней машине (тоже с внутр и внеш. и-фейсами) работает dns, которая осуществляет только прямые преобразования в зависимости от того откуда поступил запрос (для запросов изнутри локальной сети она отдает внешние ip адреса для машин вне локальной сети и внутренние адреса для машин внутри локальной сети, для внешних запросов она ведет себя несколько иначе). Что касается провайдера, то в принципе он мог бы делегировать нам нашу обратную зону, и тогда сервер мог бы корректно осуществлять обратное преобразование относительно моих доменов для запросов извне.

UseReverseDNS у меня была установлена в off, так что дела в этом действительно не было.

Честно говоря, я так и не успел понять в чем было дело. Может быть, эта проблема была только вчера вечером из-за общей высокой нагрузки на машину, хотя почта, apache и прочие демоны работали довольно шустро, только ftp соединение устанавливалось 1/2 минуты. Сегодня почему-то все работает достаточно быстро, так что о проблеме пока могу писать только в прош. времени. Если есть какие-то идеи насчет причин, с удовольствием их проверю.

Спасибо.


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено lavr , 30-Авг-06 14:38 
>>192.168.0.3 - технологическая сеть по RFC1918:
>>
>>you can use the following IP networks for
>># private nets which will never be connected to the Internet:
>>#
>>#       10.0.0.0    
>>   -   10.255.255.255
>>#       172.16.0.0    
>> -   172.31.255.255
>>#       192.168.0.0    
>>-   192.168.255.255
>>
>>так причем тут провайдер?
>
>Э, нет. На этой машине - 2 интерфейса. Если заметили, в примере
>есть еще виртуальные (по портам) ftp -  хосты a.b.c.d (внешний
>адрес). На соседней машине (тоже с внутр и внеш. и-фейсами) работает
>dns, которая осуществляет только прямые преобразования в зависимости от того откуда
>поступил запрос (для запросов изнутри локальной сети она отдает внешние ip
>адреса для машин вне локальной сети и внутренние адреса для машин
>внутри локальной сети, для внешних запросов она ведет себя несколько иначе).
>Что касается провайдера, то в принципе он мог бы делегировать нам
>нашу обратную зону, и тогда сервер мог бы корректно осуществлять обратное
>преобразование относительно моих доменов для запросов извне.
>
>UseReverseDNS у меня была установлена в off, так что дела в этом
>действительно не было.
>
>Честно говоря, я так и не успел понять в чем было дело.
>Может быть, эта проблема была только вчера вечером из-за общей высокой
>нагрузки на машину, хотя почта, apache и прочие демоны работали довольно
>шустро, только ftp соединение устанавливалось 1/2 минуты. Сегодня почему-то все работает
>достаточно быстро, так что о проблеме пока могу писать только в
>прош. времени. Если есть какие-то идеи насчет причин, с удовольствием их
>проверю.
>
>Спасибо.

Вам ФСЁ расписали что смотреть, если все нормализовалось - проблема в используемом
nameserver(DNS) и/или NAT.
Как проверять тоже отписано, проблемы DNS проверяются елементарно:

- проверка резолвинга на nameserver'е
- на клиентах

локальные запросы и внешние рекурсивные

кеширующий и форвардящий nameserver'а - разные вещи, как использовать rndc для проверок
изучайте самостоятельно, ФСЕ направления отписаны, если непонятно - изучение матчасти
должно помочь, особенно в купе с указанными тонкостями


"proftpd - слишком медленное соединение. Как ускорить?"
Отправлено palachmb , 15-Мрт-10 12:09 
>>DNS
>
>Так он работает, только без обратной зоны (сложно договориться с провайдером). С
>другой стороны, в /etc/proftpd.conf у меня записана строчка:
>UseReverseDNS off
>, и все равно конструкция работает с какой-то задержкой.

Понимаю, что занимаюсь гробокопанием, но вдруг кого устроит такой вариант:
закоментировать строку log_type = SYSLOG authpriv info в /etc/xinetd.conf