我的电脑上有两个虚拟机 VMware,都是 Fedora。
我尝试在它们之间使用 FTP,但是得到的结果如下:ftp: connect: No route to host
下面是我从 VM1 ping 到 VM2 时的输出:
[root@localhost ~]# ping 192.168.20.129
PING 192.168.20.129 (192.168.20.129) 56(84) bytes of data.
64 bytes from 192.168.20.129: icmp_seq=1 ttl=64 time=0.640 ms
64 bytes from 192.168.20.129: icmp_seq=2 ttl=64 time=1.46 ms
^C
--- 192.168.20.129 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1012ms
rtt min/avg/max/mdev = 0.640/1.052/1.464/0.412 ms
当我尝试通过 FTP 连接时:
[root@localhost ~]# ftp 192.168.20.129
ftp: connect: No route to host
答案1
可能是您的防火墙阻止了端口 21。
运行以下命令,打开21端口并重新启动防火墙服务。
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
答案2
如果您收到此错误后连接成功(例如当您尝试列出或获取文件时),请确保除了端口 21 之外,动态被动模式端口也打开。您可以在 vsftpd 中手动定义这些:
#/etc/vsftpd/vsftpd.conf
pasv_max_port=40000
pasv_min_port=50000