Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281664
  • 博文数量: 65
  • 博客积分: 1514
  • 博客等级: 中尉
  • 技术积分: 820
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-20 21:01
文章分类

全部博文(65)

文章存档

2012年(65)

分类: LINUX

2012-01-06 15:34:03

主机 ftp 服务不在 port 21 的话,请使用下列方式进行调整:

  1. modprobe ip_conntrack_ftp ports=21,30000

  2. iptables -P INPUT DROP
  3. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  4. iptables -A INPUT -i lo -j ACCEPT
  5. iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  6. iptables -A INPUT -p tcp --dport 30000 -j ACCEPT
复制代码


也就是主机本身提供 ftp 服务分别在 port 21 与 30000 上,让 ip_conntrack_ftp  这个 ftp helper 能够正常提供 ftp 用户端使用 passive mode 存取而不会产生问题。




若是需要允许主机可以接受 ping 程式测试这台机器是否可以存取的话,可以搭配使用:

  1. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT






1. 一般建议单纯化的 NAT 服务配置语法为何?


这边是假设对外的介面为 eth0,对内介面为 eth1,该对内网段的 ip 范围是 192.168.1.0/24。

若是预设的 FORWARD chain 本身为 ACCEPT 的话,配置语法使用为:

  1. iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE

  2. echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码


若是预设的 FORWARD chain 本身为 DROP 的话,配置语法使用为:

  1. iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE
  2. iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  3. iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT

  4. echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码


当然,请不要忘记前面谈到的议题,也就是搭配先使用好 -F 与 -X 这类项目。还有预设 FORWARD chain 为 DROP 的话,考虑是否也开放允许 echo-request 这类 icmp 协定封包能够允许由内部网段传送出去。




2. 透过 NAT 上网的内部 ip 主机,ftp 连结存取错误?

该问题点与前面谈到 ftp 问题与搭配使用 -m state --state RELATED 配置有关系。由于目前要的是 NAT 下 ftp 连线的追踪功能,所以需要搭配挂入ip_nat_ftp 该 module 才可以正确提供追踪机制。

所以经过该修改配置,于预设的 FORWARD chain 本身为 ACCEPT 的话,配置语法使用为:

  1. modprobe ip_nat_ftp

  2. iptables -A POSTROUTING -t nat -o eth0 -s 192.168.1.0/24 -j MASQUERADE
  3. iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

  4. echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码


搭配 ip_nat_ftp module 后,如此于 FORWARD chain 内使用的 RELATED 参数才会有效用。











阅读(1559) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~