解决Linux iptables防火墙和vsftpd的问题
2010-03-31 10:13
369 查看
使用 -P INPUT DROP 引起的网路正常,但是 ftp 存取却失败?
Iptables,只开放 ftp port 21 服务,其他都禁止的话,一般会配置使用:
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
这样的配置: 确认 ftp 用户端是可以连到 ftp 主机并且看到欢迎登入画面,不过后续要浏览档案目录清单与档案抓取时却会发生错误…
ftp 协定本身于 data channnel 还可以区分使用 active mode 与 passive mode 这两种传输模式,而就以 passive mode 来说,最后是协议让 ftp client 连结到 ftp server 本身指定于大于 1024 port 的连接埠传输资料。
这样配置在 ftp 传输使用 active 可能正常,但是使用 passive mode 却发生错误,其中原因就是因为该主机firewall 规则配置不允许让 ftp client 连结到 ftp server 指定的连结埠才引发这个问题。
要解决该问题方式,于 iptables 内个名称为 ip_conntrack_ftp 的 helper,可以针对连入与连外目的 port 为 21 的 ftp 协定命令沟通进行拦截,提供给 iptables 设定 firwewall 规则的配置使用。开放做法为:
modprobe ip_conntrack_ftp
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
其中 -m state 部分另外多了 RELATED 的项目,该项目也就是状态为主动建立的封包,不过是因为与现有 ftp 这类连线架构会引发另外才产生的主动建立的项目。
不过若是主机 ftp 服务不在 port 21 的话,请使用下列方式进行调整:
CODE:
modprobe ip_conntrack_ftp ports=21,30000
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 30000 -j ACCEPT
也就是主机本身提供 ftp 服务分别在 port 21 与 30000 上,让 ip_conntrack_ftp 这个 ftp helper 能够正常提供 ftp 用户端使用 passive mode 存取而不会产生问题。
Iptables,只开放 ftp port 21 服务,其他都禁止的话,一般会配置使用:
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
这样的配置: 确认 ftp 用户端是可以连到 ftp 主机并且看到欢迎登入画面,不过后续要浏览档案目录清单与档案抓取时却会发生错误…
ftp 协定本身于 data channnel 还可以区分使用 active mode 与 passive mode 这两种传输模式,而就以 passive mode 来说,最后是协议让 ftp client 连结到 ftp server 本身指定于大于 1024 port 的连接埠传输资料。
这样配置在 ftp 传输使用 active 可能正常,但是使用 passive mode 却发生错误,其中原因就是因为该主机firewall 规则配置不允许让 ftp client 连结到 ftp server 指定的连结埠才引发这个问题。
要解决该问题方式,于 iptables 内个名称为 ip_conntrack_ftp 的 helper,可以针对连入与连外目的 port 为 21 的 ftp 协定命令沟通进行拦截,提供给 iptables 设定 firwewall 规则的配置使用。开放做法为:
modprobe ip_conntrack_ftp
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
其中 -m state 部分另外多了 RELATED 的项目,该项目也就是状态为主动建立的封包,不过是因为与现有 ftp 这类连线架构会引发另外才产生的主动建立的项目。
不过若是主机 ftp 服务不在 port 21 的话,请使用下列方式进行调整:
CODE:
modprobe ip_conntrack_ftp ports=21,30000
iptables -P INPUT DROP
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 30000 -j ACCEPT
也就是主机本身提供 ftp 服务分别在 port 21 与 30000 上,让 ip_conntrack_ftp 这个 ftp helper 能够正常提供 ftp 用户端使用 passive mode 存取而不会产生问题。
相关文章推荐
- 解决Linux iptables防火墙和vsftpd的问题
- 解决Linux iptables防火墙和vsftpd的问题
- Linux 解决iptables不能启动[缺失/etc/sysconfig/iptables文件]的问题
- linux中vsftpd登陆慢卡问题解决方法
- 解决iptables和vsftpd设置的问题
- Linux 启动防火墙后 tomcat无法访问 问题解决
- Linux下iptables防火墙已停的解决办法
- linux vsftpd关于500 OOPS错误问题解决
- [linux]解决vsftpd 读取目录列表失败的问题
- 修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题
- 解决iptables和vsftpd设置的问题
- linux 下关闭防火墙方法和单向ping通问题之解决
- 关于redis启动时linux的防火墙关闭问题解决
- Linux下iptables防火墙已停的解决办法
- 为了解决linux配置Nginx 只能关闭防火墙才能访问的问题
- linux VNC配置(解决:关闭防火墙仍不能访问端口的问题)
- linux下iptables配置详解~~解决访问端口问题
- LINUX使用VSFTPD不能正常下载问题解决
- linux解决防火墙问题