LinuxMint(Ubuntu ver)配置FTP 的 iptables 防火墙
来源:互联网 发布:网络媒介素养的层次 编辑:程序博客网 时间:2024/05/24 15:42
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP
sudo iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
参考:
http://lumingming1987.iteye.com/blog/1044358
这里先说说FTP传输的两种模式吧:
在正常模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机。当顺利完成 Three-Way Handshake 之后﹐联机就成功建立﹐但这仅是命
令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道用一个 port 命令告诉 server
﹐客户端可以用另一个高于 1024 的 port 做数据信道﹐并准备好 socket 资源。
3. 然后 server 用 port 20 和刚才 client 所告知的 socket 建立数据联机。请注意
﹕联机方向这是从 server 到 client 的﹐TCP 封包会有一个 SYN 旗标。
4. 然后 client 会返回一个带 ACK 旗标的确认封包﹐并完成另一次的 Three-Way
Handshake 手续。这时候﹐数据信道才能成功建立。
5. 开始数据传送。
在 passive 模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机﹐并完成命令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道送一个 PASV 命令给 server﹐
要求进入 passive 传输模式。
3. 然后 server 像上述的正常模式之第 2 步骤那样﹐挑一个高于 1024 的 port ﹐
并用命令通道告诉 client 关于 server 端用以做数据信道的 socket。
4. 然后 client 用另一个高于 1024 的 port 呼叫刚才 server 告知的 scoekt 来建
立数据信道。此时封包带 SYN 标签。
5. server 确认后回应一个 ACK 封包。并完成所有交握手续﹑成功建立数据信道。
6. 开始数据传送。
iptables会自上而下的对比规则﹐找到符合的就不再往下找了。根据这样的特性﹐我们可以将 NAT 外部界面进入的某些联机﹐在那行 syn 过滤规则之前 ACCEPT 进来。
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT这条命令可以解决问题, 只开了20 21 是没用的,要是连被动的ftp服务器,边上21后,服务器端是随机端口和你的连接的,,ESTABLISHED,RELATED -j ACCEPT 可以解决此问题
- LinuxMint(Ubuntu ver)配置FTP 的 iptables 防火墙
- LinuxMint(Ubuntu ver) Iptables How To
- LinuxMint(Ubuntu ver) 做ntp时间服务器Linux及Windows做客户端的配置方法
- Ubuntu的防火墙配置-ufw-iptables
- Ubuntu的防火墙配置-ufw-iptables
- Ubuntu的防火墙配置-ufw-iptables
- Ubuntu 14.04 配置iptables防火墙
- LinuxMint(Ubuntu Ver) 查看进程端口号及运行的程序
- Linux iptables 防火墙的配置
- linux防火墙iptables的配置
- Linux19-防火墙iptables的配置
- linux防火墙的配置iptables
- Ubuntu Server 12.04 配置防火墙iptables
- 在Ubuntu Server配置iptables防火墙
- 阿里云 Ubuntu 16 配置iptables防火墙
- Linux LinuxMint (Ubuntu Ver) 安装exfat 文件系统支持
- FTP服务器iptables的配置
- ubuntu iptables模拟防火墙
- Cheap Louis Vuitton Bags Bdxql
- Authentic Cheap Louis Vuitton UPEQ9
- Cheap Louis Vuitton Bags Apl0I
- java synchronized
- VC中常用的字符类型及相应的字符串处理函数
- LinuxMint(Ubuntu ver)配置FTP 的 iptables 防火墙
- struts和struts2的区别
- 辗转相除法求最大公约数Java实现
- linux常用的命令
- Drawable、Bitmap、Canvas、Paint和 Matrix 的关系和使用
- Cocos2d-x 学习几笔1
- log4j 配置参考
- mac 文件的显示和隐藏
- 从 Win8.1 到 Win10