Linux中使用有状态防火墙实现FTP功能
来源:asp之家 发布时间:2009-12-22 19:13:00
首先大家要认清楚一个概念,使用FTP是从http代理出去,还是由socks代理或firewall上打开一个口转发。从http代理出去的FTP,实际上使用的是http代理程序,象最常用的squid,是http/https代理,但是它也能代理ftp请求。当你打开浏览器登陆ftp站点时,使用的就是http代理程序来处理ftp的问题。而有些程序只能设置成socks或firewall代理,象Cuteftp,wu-ftp和dos下的FTP。此类的代理才是标准的FTP代理。
本文假设大家对netfilter技术已经有了一定了解,介绍利用netfilter的有状态功能在inux2.4内核上实现FTP。
系统环境:
linux7.2,安装了iptable,squid,有两块网卡:
eth0:x.x.x.x 接internet,
eth1:192.168.0.1 接内网。
firewall相关规则:
##Ismod the firewall modules *加载模块
modprobe ip_tables
insmod ip_conntrack
insmod ip_conntrack_ftp
insmod ip_nat_ftp
关于有状态功能,重点在于后三个模块:ip_conntrack模块能够使防火墙具有连接跟踪能力。(通过输入 "cat /proc/net/ip_conntrack" 可以查看您的机器参与的活动网络连接。)加载这个模块后,基本上所有有状态的返回包都能识别,例:telnet,http,QQ,mail,ping,dns等。
实际上,加载了ip_conntrack模块,ftp已经能够登陆,并能使用象pwd,cd等命令,但当使用ls命令显示文件内容时,就会timeout。原因在于显示文件列表的包防火墙无法识别,就会进入默认策略----禁止,此时就需要加载ip_conntrack_ftp模块。
ip_conntrack_ftp模块使防火墙能够识别FTP某类特殊的返回包。如果防火墙上对所有出去的返回包作了伪装,就需要加载ip_nat_ftp模块。ip_nat_ftp模块在出去的包作了伪装以后,必须加载,否则防火墙无法知道返回的包该转发到哪里。 ##Define the policy *定义默认规则
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
所有从局域网出去的包伪装。 #accept lan use ftp *允许所有局域网用户使用FTP
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 21 -j ACCEPT
打开ftp的20,21端口
#accept come back packets from INTERNET
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
允许有状态的返回包转发。
关于netfilter有状态基础知识,请查看相关资料。
猜你喜欢
- 1.什么是服务器集群随着Internet的 * 性增长,Internet与人的生活越来越息息相关,通过Internet上进行交易也就越来越受关
- 1.新建用户wwweee000[root@localhost ~]# useradd wwweee000[root@localhost ~]
- 在使用Windows NT 4.0时,IIS就已经成为流行的Web服务器平台。IIS4.0是作为OptionPack4的一部分发行的,需要进
- linux系统下,我们可以修改或者添加.htaccess 文件来实现discuz的伪静态。1. 文章中引用的部分,则是实现伪静态的方法!我们
- 下午15时左右,百度再次改版百度指数(index.baidu.com)功能和布局。新布局更加直观,便于查看相关检索词数据与相关新闻内容。此外
- Firefox 3 Final 很可能会在下个月发布。很多 Firefox fans 都已按耐不住,不断的到Mozilla FTP上寻找这个
- 本来不打算写这接下的一系列讨论欺骗的文章(计划中有arp欺骗、icmp欺骗、路由rip欺骗、ip地址欺骗等),这主要是自己有些担心有些人会给
- 已经习惯每天到这个网站来看一看,就像习惯于每天上新浪看新闻一样!有不少愤青说,新浪的新闻尽是歌舞升平,报喜的多报忧的少,站长网似乎有点反过来
- 公司一台服务器,网络环境太高,那台服务器和源服务器连接下载,就跑到400M-500M,为了控制一下,所以研究了一下TC.来做流量控制。给他控
- 对SEO来说,友情链接的重要性是大家都知道的。所以很多做SEO的公司都成立了媒介部呀,外联部呀等等一个专门的部门来做友情链接或者软文的工作,
- 技术小白,记录一下自己第一次安装Linux系统的过程。首先,请在Windows7下安装VMware虚拟机,这个比较简单,直接从官网下载安装即
- 关于新发布的IE8 Beta1,网友们都纷纷下载来使用,尝到了功能强大的甜头;有的却因网络流传:安装后会覆盖原来的IE7,并且不能
- 我们知道VMware也分几种版本,普通用户最常用的就是Workstation,但是不管使用哪种版本,我们都能发现在安装过程中让我们选择 网络
- Windows2003服务器安装及设置教程好久没有更新了,正好最近上了一台服务器,正好把剩下的几篇补全,今天先说的是MSSQL安全篇第一篇—
- 网上流传的很多关于windows server 2003系统的安全配置,但是仔细分析下发现很多都不全面,并且很多仍然配置的不够合理,并且有很
- 1. 输入命令:cd /media2. 输入命令:sh VBoxLinuxAdditions.run3. 可能会出现错误:解决的办法是依次输
- 企业最有价值的资产通常是其数据库中的客户或产品信息。因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件
- 非主流闪图一直是“美图秀秀[点击下载]”软件的重点功能之一,操作简单,动感十足,深受非主流一族的喜爱
- 背景给VirtualBox虚拟机(装载了Ubuntu16.04系统)配置了两张网卡,网络模式分别为“网络地址转换(NAT)”和“仅主机(Ho
- HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内