温馨提示×

Debian vsftp怎么绑定IP

小樊
70
2026-07-02 11:59:19
栏目: 智能运维

在 vsftpd(Very Secure FTP Daemon) 里“绑定 IP”一般是指 让 vsftpd 只监听某个或某几个网卡/IP 地址,而不是监听所有 IP。下面分别在 Debian 下说明常见做法。


一、修改 vsftpd 配置文件

配置文件通常在这里:

/etc/vsftpd.conf

用 root 或 sudo 编辑:

sudo nano /etc/vsftpd.conf

二、绑定单个 IP 地址(最常用)

如果你只想让 vsftpd 监听 指定 IP(例如 192.168.1.10):

listen=YES
listen_ipv6=NO
listen_address=192.168.1.10

⚠️ 注意:

  • listen=YES 表示使用 IPv4
  • listen_ipv6=NO,否则会和 IPv6 冲突
  • listen_address 指定绑定的 IP

保存后重启 vsftpd:

sudo systemctl restart vsftpd

三、同时绑定多个 IP(推荐方式)

vsftpd 原生不支持直接写多个 listen_address。

✅ 正确做法:启动多个 vsftpd 实例

1️⃣ 复制配置文件

sudo cp /etc/vsftpd.conf /etc/vsftpd-ip2.conf

2️⃣ 修改第二个配置

listen=YES
listen_ipv6=NO
listen_address=10.0.0.10
ftp_data_port=20
listen_port=21

如果你想在不同 IP 用不同端口,例如:

IP 端口
192.168.1.10 21
10.0.0.10 2121

3️⃣ 创建 systemd 启动方式(示例)

sudo nano /etc/systemd/system/vsftpd-ip2.service

内容:

[Unit]
Description=vsftpd service for IP2
After=network.target

[Service]
ExecStart=/usr/sbin/vsftpd /etc/vsftpd-ip2.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable vsftpd-ip2
sudo systemctl start vsftpd-ip2

四、IPv6 绑定(如需要)

如果你要绑定 IPv6 地址:

listen=NO
listen_ipv6=YES
listen_address6=2001:db8::1

⚠️ IPv4 和 IPv6 不能同时 listen=YES + listen_ipv6=YES


五、验证是否绑定成功

ss -lntp | grep vsftpd

或:

netstat -lntp | grep vsftpd

你应该能看到类似:

192.168.1.10:21

六、常见问题

1️⃣ vsftpd 启动失败

  • 检查是否 端口冲突
  • 检查 listen / listen_ipv6 是否冲突

2️⃣ 客户端连不上

  • 防火墙放行端口(21 / 被动端口)
  • 确认网卡确实有该 IP

七、总结

需求 做法
绑定单个 IP listen_address=IP
绑定多个 IP 多实例 vsftpd
IPv6 listen_ipv6=YES
重启生效 systemctl restart vsftpd

如果你愿意,可以把你的 实际 IP / 网络环境 / 是否需要被动模式 发给我,我可以帮你写一份 完整可用的 vsftpd 配置。

0 踩