在由 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 一起工作。