Khi bạn thiết lập máy chủ FTP trên hệ điều hành Red Hat Enterprise Linux 7 (RHEL7), có thể bạn sẽ gặp phải lỗi quen thuộc sau khi client cố gắng kết nối FTP:
230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (10,1,1,110,138,70). ftp: connect: No route to host ftp>
Nguyên nhân gây ra lỗi trên là do thiếu mô-đun kernel ip_conntrack_ftp
.
Bạn có thể nhanh chóng giải quyết bằng cách tải mô-đun này vào kernel bằng lệnh:
# modprobe ip_conntrack_ftp
Tuy nhiên, bạn sẽ phải thực hiện lại thao tác này mỗi khi khởi động lại máy chủ RedHat, điều này không hề tiện lợi trong môi trường vận hành thực tế.
Giải pháp lâu dài:
Để mô-đun này được nạp tự động mỗi lần khởi động lại hệ thống, bạn có thể tạo một script shell thực thi trong thư mục:/etc/sysconfig/modules/.
Tạo một tệp mới có tên:/etc/sysconfig/modules/iptables.modules
Với nội dung sau:
#!/bin/sh exec /sbin/modprobe ip_conntrack_ftp >/dev/null 2>&1
Sau khi lưu tệp, hãy cấp quyền thực thi cho script này bằng lệnh:
# chmod +x /etc/sysconfig/modules/iptables.moduleS
Kết quả sau khi khởi động lại:
Script trên sẽ tự động được thực thi và tải các mô-đun liên quan, bạn có thể kiểm tra bằng cách dùng:
[root@rhel7 ~]# lsmod | grep ftp nf_conntrack_ftp 18638 0 nf_conntrack 101024 9 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,ip6table_nat,nf_conntrack_ftp,iptable_nat,nf_conntrack_ipv4,nf_conntrack_ipv6