Cấu hình Passive FTP Mode cho Vsftpd trên VestaCP [ Phần 7 ]

1
3091

Cấu hình Passive FTP Mode 

  • Sau bài giới thiệu về Active FTP vs Passive FTP  Hôm nay mình sẽ giới thiệu đến các bạn cách cấu hình sử dụng Passive mode FTP trên VestaCP cụ thể là công vụ Vsftpd FTP. 
  • Nếu các bạn có VPS chưa cài đặt FTP thì có thể cài bằng câu lệnh sau. ( Dành cho các bạn nào không sài VestaCP )

[code lang=”js”]
# yum install vsftpd -y
[/code]

  • Sau khi cài đặt xong thì các bạn dùng trình soạn văn bản vi hoặc là vim

[code lang=”js”]
# vim /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf
[/code]

Thêm vào cuối file config các dòng sau.

[code lang=”js”]
pasv_enable=Yes
pasv_max_port=10300
pasv_min_port=10100
[/code]

Có nghĩa Server chỉ được sử dụng Range port nằm trong khoản  10100 < Ports < 10300

Lưu lại và thoát

Restart lại vsftpd service.

[code lang=”js”]
# /etc/init.d/vsftpd restart
[/code]

==> Như vậy là các bạn đã config xong FTP Server sử dụng Passive mode rùi đó. 🙂

  • Còn đối với VestaCP thì mặt định nó đã cài đặt Vsftpd và cấu hình Passive mode cho mình rùi. Nhưng mà mình thấy có một điều là nó mở Range port quá ít. Có thể dẫn tới tình trạng nhiều FTP User sử dụng cùng lúc thì sẽ bị lỗi Disconnect. Hiện tại thì VestaCP mặt định Range ports là

[code lang=”js”]
pasv_max_port=12100
pasv_min_port=12000
[/code]

Bình thường nếu bạn sài < 5 User thì ổn, Nhưng nếu nhiều hơn thì mình khuyên nên mở Range rộng hơn tầm 300 Ports.

  • Kiểm tra Passive trên Server cấu hình thành công chưa.

==> Kiểm tra bằng Command Line.

[code lang=”js”]
$ ftp -v -d 192.168.1.10 21
Connected to 192.168.1.10.
220 (vsFTPd 2.2.2)
ftp: setsockopt: Bad file descriptor
Name (192.168.1.10:dat): admin
—> USER admin
331 Please specify the password.
Password:
—> PASS XXXX
230 Login successful.
—> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
—> PORT 192,168,1,88,200,52
200 PORT command successful. Consider using PASV.
—> LIST
150 Here comes the directory listing.
-rw-r–r– 1 501 501 18 Jul 18 2013 .bash_logout
-rw-r–r– 1 501 501 176 Jul 18 2013 .bash_profile
-rw-r–r– 1 501 501 124 Jul 18 2013 .bashrc
drwxr-xr-x 5 0 0 4096 Jun 18 16:52 conf
drwxr-x–x 3 0 0 4096 Jun 18 16:52 mail
drwxrwx–x 2 501 501 4096 Jun 18 16:52 tmp
drwxr-x–x 3 501 501 4096 Jun 18 16:52 web
226 Directory send OK.
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
—> PASV
227 Entering Passive Mode (192,168,1,10,47,46)
—> LIST

ftp>
[/code]

Đoạn connect trên là mình dùng command line ftp trên máy Desktop của mình connect tới tài khoản admin ftp của VestaCP. Sau khi connected thì mình gỏ lệnh passive và bật chế độ sử dụng passive mode FTP lên.

==> Đối với các bạn sử dụng FileZilla Client thì mình thấy mặt định nó đã Enable Passive Mode. Các bạn có thể kiểm tra bằng cách chọn Menu Edit –> Chọn Setting –> Cái list Select page bên tay trái bạn chọn FTP.

 

enable-passive-vestacp

 

–> Như hình trên bạn nhìn qua cái mục Transfer Mode Tick vào Passive (Recommanded) là ok …

  • Tổng hợp các lỗi khi sử dụng FTP trên Centos.

==> Transfer done (but failed to open directory) hoặc là 500 OOPS: can’t not change directory.

Thì lỗi này nguyên nhân là do VPS hoặc Server mình chưa tắt SELinux. Và các fix như sau.

Mở file /etc/sysconfig/selinux bằng lệnh vi hoặc vim

[code lang=”js”]
# vim /etc/sysconfig/selinux
[/code]

Sau đó tìm đến dòng SELINUX=enforcing  đổi nó thành SELINUX=disabled, lưu lại và reboot lại VPS –> Done !!

Nếu VPS bạn đang hoạt động và không thể reboot thì có thể dùng 2 rules sau.

[code lang=”js”]
# setsebool -P ftp_home_dir=1
# setsebool -P allow_ftpd_full_access 1
[/code]

  • Hy vọng những kiến thức trên giúp các bạn có thể Control được FTP Service của VPS, Serve mình.
  • Nếu có những câu hỏi hoặc thắc mắc, các bạn đừng ngại comment vào bên dưới vài viết hoặc liên hệ trực tiếp với Fasthost nhé.

Bình luận qua Facebook

1 BÌNH LUẬN

BÌNH LUẬN

Please enter your comment!
Please enter your name here