網頁

2011年9月21日 星期三

在CentOS (5.x) 開啟ftp(port 21)

CentOS 安裝完成後,預設只開放 Port 22 供外面連結,如要開放其他 port,如 ftp(port 21),要如何進行??

1. 察看 port 21 是否 listen
# netstat -tulnp | grep 21

2. 如 port 21 沒 listen, 啟動 vsftpd
# /etc/init.d/vsftpd start

3. 修改 iptables-config
# vim /etc/sysconfig/iptables-config
將 IPTABLES_MODULES 修改如下,兩模組間用一個空白區隔
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

4. 修改 iptables
# vim /etc/sysconfig/iptables
複製 --dport 22 那一行到下一行,再修改 22 -> 21
ex:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

5. 重啟 iptables
# /etc/init.d/iptables restart

6. 察看 iptables 現在運作的 rule
# iptables -L -n

7. 再預設的情況下,CentOS 的 ftp 並允許實體帳號登入取得家目錄的資料,所以下達 dir 不會有任何資料顯示(此為SELinux的限制,Linux 核心2.6之後版本,SELinux預設是啟動的)。
顯示 SELinux 相關設定
# getsebool -a | grep ftp
...
ftp_home_dir=off <- 要on

# setsebool -P ftp_home_dir=1

沒有留言:

張貼留言