讓 vsftpd FTP Server 同時支援 IPv4 及 IPv6

星期一, 9th 十二月 2013

CentOS Linux 上安裝的 vsftpd FTP Server 預設只支援 IPv4,並不支援 IPv6,
# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
‘ls’ 位置 0 [重新連接前延遲(秒): 51]

可以發現無法以 IPv6 的方式連線

啟用 IPv6 的方式
# vim /etc/vsftpd/vsftpd.conf

listen=YES
改成
#listen=YES


#listen_ipv6=YES
改成
listen_ipv6=YES

重新啟動 vsftpd FTP Server
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:                       [  確定  ]以 IPv6 的方式連線
# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 2001:288:a229:1::109:/>

但可以以 IPv6 連線,却會發現無法以 IPv4 的方式連線
# lftp 140.111.74.109
lftp 140.111.74.109:~> ls
‘ls’ 位置 0 [重新連接前延遲(秒): 28]

但是不能同時開啟 IPv4 和 IPv6,否則啟動時會出現錯誤訊息
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:500 OOPS: run two copies of vsftpd for IPv4 and IPv6
                                                           [失敗]


如果要同時能以 IPv4 和 IPv6 的方式來連線,則要在 /etc/vsftpd 目錄下增加 vsftpd_ipv6.conf 設定檔
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_ipv6.conf

修改 /etc/vsftpd/vsftpd.conf
改成下面的設定
# vim /etc/vsftpd/vsftpd.conf
改成下面的設定
listen=YES
#listen_ipv6=YES

修改 /etc/vsftpd/vsftpd_ipv6.conf
# vim /etc/vsftpd/vsftpd_ipv6.conf
改成下面的設定
#listen=YES
listen_ipv6=YES

重新啟動 vsftpd FTP Server
# service vsftpd restart
正在關閉 vsftpd:                                          [  確定  ]
正在啟動 vsftpd 中的 vsftpd:                       [  確定  ]
正在啟動 vsftpd_ipv6 中的 vsftpd:               [  確定  ]

測試發現以 IPv4 和 IPv6 均可以正常連線
# lftp 140.111.74.109
lftp 140.111.74.109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 140.111.74.109:/> bye

# lftp 2001:288:a229:1::109
lftp 2001:288:a229:1::109:~> ls
drwxrwxr-x   37 504      504          4096 Dec 01 07:34 CentOS
drwxr-xr-x    3 0        0            4096 Oct 17 15:57 Linux
drwxr-xr-x    2 0        0            4096 Nov 23 03:00 ezgo
drwxr-xr-x    2 0        0            4096 Dec 05 12:19 ezgo_New
drwxr-xr-x    8 0        0            4096 Nov 25 09:34 raspbian
lftp 2001:288:a229:1::109:/> bye