为什么 xinetd 忽略“bind”选项?

为什么 xinetd 忽略“bind”选项?

在由 xinetd(plesk/centos FWIW)控制的 proftpd 服务器上,我想让 proftpd 仅在特定的 ip 地址上监听。

我尝试过输入bind = 12.34.56.78/etc/xinetd.d/ftp_psa也尝试过输入DefaultAddress 12.34.56.78/etc/proftpd.conf但似乎不起作用。

重新启动 xinetd 之后,nmap 显示我的其他公共 IP 仍在监听端口 21。

谁能告诉我我做错了什么?

只是作为测试,我在 xinetd 配置文件中注释掉了整个 ftp 服务,并且确实禁用了该服务,所以我显然在正确的位置,但是选项bind似乎不起作用。

提前致谢

更新:配置文件(为简洁起见,munis 注释)

ftp_psa 的目录

#DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY,
#SO ALL YOUR CHANGES WILL BE LOST AFTER YOU UPGRADE PARALLELS PLESK PANEL.

service ftp
{
    flags       = IPv6
        disable     = no
    socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        instances       = UNLIMITED
        server          = /usr/sbin/in.proftpd
        server_args     = -c /etc/proftpd.conf
        bind            = 12.34.56.78
}

我知道这里说不要修改,但是我没有进行 plesk 升级,并且我也尝试将绑定放在默认部分(没有这样的警告):

/etc/xinetd.conf

defaults
{
    log_type    = SYSLOG daemon info
    log_on_failure  = HOST
    log_on_success  = PID HOST DURATION EXIT
    cps     = 50 10
    instances   = 50
    per_source  = 10
    v6only      = no
    groups      = yes
    umask       = 002
    bind            = 12.34.56.78
}

includedir /etc/xinetd.d

为了完整性:/etc/proftpd.conf

ServerIdent off
ServerName          "ProFTPD"
ServerType          inetd
DefaultServer           on
<Global>
DefaultRoot ~       psacln
AllowOverwrite      on
</Global>
DefaultTransferMode binary
UseFtpUsers         on
TimesGMT            off
SetEnv TZ :/etc/localtime
Port                21
DefaultAddress      12.34.56.78
SocketBindTight     on
Umask               022
MaxInstances            30
ScoreboardFile /var/run/proftpd/scoreboard
TransferLog /usr/local/psa/var/log/xferlog
<Directory /var/www/vhosts>
    GroupOwner  psacln
</Directory>
AuthPAM on
AuthPAMConfig proftpd
IdentLookups off
UseReverseDNS off
AuthGroupFile   /etc/group

答案1

你使用的是哪个版本的 CentOS?我刚刚尝试了 CentOS 6.3。xinetd 文件名为/etc/xinetd.d/xproftpd,需要disable=no在文件中设置并输入 来启用chkconfig proftpd on。我只需要设置bind = 10.0.2.15让 proftpd 只监听这个地址。无需proftpd.conf进一步调整。

更改bind为不同值后,我无法再连接到任何其他 IP 地址。甚至localhost……

/etc/xinetd.d/xproftpd:

# default: off
# description: The ProFTPD FTP server serves FTP connections. It uses \
#   normal, unencrypted usernames and passwords for authentication.
service ftp
{
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/sbin/in.proftpd
    log_on_success      += DURATION USERID
    log_on_failure      += USERID
    nice            = 10
    disable         = no
    bind            = 10.0.2.15
}

检查配置:

# chkconfig --list proftpd
proftpd         0:off   1:off   2:on    3:on    4:on    5:on    6:off

/etc/proftpd.conf仍保持其默认状态,除了设置ServerType inetd使其与 xinetd 一起工作。

相关内容