8、FTP服务(服务端口默认)与iptables运行于同台主机,iptables默认策略禁止与本地进程进行通信。为确保客户能够正常访问FTP服务,请列出正确的iptables规则。
时间: 2024-12-29 21:33:53 浏览: 11
在iptables中,要允许外部流量访问FTP服务器(默认端口通常是21),同时保持默认的拒绝所有内部进程(包括自身的FTP服务)通信的策略,你需要编辑iptables规则链。以下是针对FTP服务的典型规则配置步骤:
首先,打开iptables的编辑器(在Ubuntu等基于Debian的系统上,使用`sudo ufw allow ftp`或者`sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT`,如果没有ufw,直接编辑`/etc/iptables/rules.v4`):
```bash
sudo nano /etc/iptables/rules.v4 或者 sudo iptables -t filter -A INPUT
```
然后添加以下两条规则:
1. 允许外部IP访问FTP(21端口):
```bash
-A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
```
这条规则允许新的(NEW)或已建立连接(ESTABLISHED)的FTP连接通过。
2. 确保转发规则允许从内部到外部的连接(例如,如果你的FTP服务器会反向代理到外部地址):
```bash
-i <your_inbound_interface> -o <your_outbound_interface> -p tcp --dport 21 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
```
替换 `<your_inbound_interface>` 和 `<your_outbound_interface>` 为你的内网和外网接口名称。
保存并应用更改:
```bash
sudo iptables-save > /etc/iptables/rules.v4
sudo service iptables restart
```
现在,FTP服务应能在iptables默认的禁止内部通信策略下正常接受外部请求。注意这不会影响到防火墙对其他服务的保护。
阅读全文