Bài viết này sẽ hướng dẫn bạn cách cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.
VSFTPD (Very Secure File Transport Protocol Daemon) là một FTP Server Stand Alone được phân phối bởi Red Hat Enterprise Linux. Đây là phần mềm để tạo FTP Server với tốc độ nhanh, cấu hình đơn giản. Ngoài ra, nếu không sử dụng VSFTPD thì bạn có thể dùng ProFTPD hoặc Pure-FTPD đều được.
Trong bài hướng dẫn cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6, mình sẽ cài đặt FTP server lên máy CentOS-7. Việc cài đặt được thực hiện với quyền root.
Để cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6, bạn cần chuẩn bị:
- Một máy cài CentOS-7 có Ipv6
- IP address của FTP Server : 2400:6540:0:fffe:7000::10
Cài đặt VSFPTD
Cài đặt gói Vsftpd:
# yum install vsftpd
Khởi động hệ thống:
Sau khi quá trình cài đặt hoàn tất, ta khởi động dịch vụ và cho phép nó khởi động cùng hệ thống.
# systemctl start vsftpd
# systemctl enable vsftpd
Cấu hình tường lửa cho dịch vụ FTP và port 20-21:
# ip6tables -A INPUT -p tcp –dport 20 -j ACCEPT
# ip6tables -A INPUT -p tcp –dport 21 -j ACCEPT
# services ip6tables save
Kiểm tra lại trạng thái vsftpd service:
Cấu hình VSFTPD
File cấu hình vsftpd nằm tại : /etc/vsftpd/vsftpd.conf
Copy file cấu hình để backup:
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
Chỉnh sửa file cấu hình vsftpd.conf:
# vi /etc/vsftpd/vsftpd.conf
Tìm và chỉnh sửa các tham số sau:
anonymous_enable=NO # disable anonymous login
local_enable=YES # permit local logins
write_enable=YES # enable FTP commands which change the filesystem
local_umask=022 # value of umask for file creation for local users
dirmessage_enable=YES # enable showing of messages when users first enter a new directory
xferlog_enable=YES # a log file will be maintained detailing uploads and downloads
connect_from_port_20=YES # use port 20 (ftp-data) on the server machine for PORT style connections
xferlog_std_format=YES # keep standard log file format
listen=NO # prevent vsftpd from running in standalone mode
listen_ipv6=YES # vsftpd will listen on an IPv6 socket instead of an IPv4 one
pam_service_name=vsftpd # name of the PAM service vsftpd will use
userlist_enable=YES # enable vsftpd to load a list of usernames
tcp_wrappers=YES # turn on tcp wrappers
chroot_local_user=YES #keep user in their folder
allow_writeable_chroot=YES
chroot_list_enable=YES # enable chroot jail
chroot_list_file=/etc/vsftpd/chroot_list # user listed in chroot_list will not be affected by chroot jail
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
Để vsftpd lắng nghe bằng Ipv6, các bạn chú ý option là: listen_ipv6=YES
Sau khi edit các tham số, chúng ta restart lại cấu hình vsftpd
# systemctl rerstart vsftpd
Truy cập FTP SERVER
Tạo user local:
# adduser vinahost
# passwd vinahost
Ở đây mình đặt password cho user vinahost là: vinahost@12345
LƯU Ý: mọi người nên đặt password phức tạp, độ dài từ 10-16 ký tự, có ít nhất 1 ký tự đặc biệt, 1 ký tự IN HOA, 1 số để tránh bị bruteforce password.
Sau khi thêm xong mặc định thư mục home của user vinahost là /home/vinahost
Cấp quyền truy cập cho user:
# echo vinahost >> /etc/vsftpd/user_list
# echo vinahost >> /etc/vsftpd/chroot_list
Restart lại dịch vụ
# systemctl rerstart vsftpd
Truy cập vào FTP Server bằng IPV6:
Các bạn có thể dùng bất kỳ phần mềm FTP Client nào để kết nối chẳng hạn như WinSCP, FileZilla Client, command line scp của window/linux, lftp … ở đây mình dùng FileZilla Client để kết nối:
Ta tiến hành nhập Username, Password, Ipv6 vào như hình:
Sau khi nhập đúng địa chỉ IPV6 của FTP server và tài khoản đăng nhập, ta sẽ thấy giao diện như trên với các thư mục trên FTP server.
Trên đây là hướng dẫn cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4/IPv6. Chúc bạn thành công!