proftpd and xinetd
The aim of xinetd is providing services that don't consume ressource if they are not used. So this is perfect for my ftp server because most time the server isn't used. xinetd listens on port 21 and it someone connects to this port it starts an instance of proftpd and passes an connection to the instance:
sonium@raumstation:~$ cat /etc/xinetd.d/proftpd
service ftp
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/proftpd
log_type = FILE /var/log/xinetd.log
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
#bind = [IP to bind to]
}
even proftpd must be configured to work with xinetd:
sonium@raumstation:~$ cat /etc/proftpd.conf
ServerName "Debian"
ServerType inetd
# I'm behind a firewall, port 21 and 60000-60200 are forwared to my ip
# myserver.dyndns.org points to my external IP
MasqueradeAddress myserver.dyndns.org
PassivePorts 60000 60200
# Set the user and group that the server normally runs at.
User ftp
Group ftp
ScoreboardFile /var/run/proftpd.score
# ensure write access to this file
dyndns is updated by ddclient.
sonium@raumstation:~$ cat /etc/ddclient.conf
pid=/var/run/ddclient.pid
protocol=dyndns2
use=web, web=www.whatismyip.com
server=myserver.dyndns.org
login=mylogin
password=mypwd
myserver.dyndns.org
sonium@raumstation:~$ cat /etc/xinetd.d/proftpd
service ftp
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/proftpd
log_type = FILE /var/log/xinetd.log
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
#bind = [IP to bind to]
}
even proftpd must be configured to work with xinetd:
sonium@raumstation:~$ cat /etc/proftpd.conf
ServerName "Debian"
ServerType inetd
# I'm behind a firewall, port 21 and 60000-60200 are forwared to my ip
# myserver.dyndns.org points to my external IP
MasqueradeAddress myserver.dyndns.org
PassivePorts 60000 60200
# Set the user and group that the server normally runs at.
User ftp
Group ftp
ScoreboardFile /var/run/proftpd.score
# ensure write access to this file
dyndns is updated by ddclient.
sonium@raumstation:~$ cat /etc/ddclient.conf
pid=/var/run/ddclient.pid
protocol=dyndns2
use=web, web=www.whatismyip.com
server=myserver.dyndns.org
login=mylogin
password=mypwd
myserver.dyndns.org
Comments