论坛风格切换切换到宽版
  • 637阅读
  • 0回复

[问题求助]请问一个关于iptables的疑难问题? [复制链接]

上一主题 下一主题
离线dylanok.
 
发帖
2098
C币
-60666
威望
362
贡献值
1
银元
-3
铜钱
4752
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我使用的firewall是用这个脚本:http://www.malibyte.net/iptables/scripts/fwscripts.html.
里面的端口转发.部分不大合理,原脚本如下:           建材
        if [. $PORT_FORWARD -gt 0 ]; th.en           建材
           if [ -f /etc/.firewall/firewal.l.nat ]; then健康
         ..    while read IP_PORT; do投资
     .          # extract the protocols., IPs and ports            杀毒
               NAT_TYPE=$(ec.ho "$IP_PORT" | awk. '{print $1}').
               NAT_EXT_PORT=$(echo "$IP_PORT" .| awk '{print $2}'.)(        游戏          )
               N.AT_INT_IP=$(echo "$IP_PORT" | .awk '{print $3}')域名
               NAT_INT_PORT=$(echo "$IP._PO.RT" | awk '{print $4}').

             .  # write the r.ules!    健康

             .  # this. is the prerouting dnat.
   .            iptables -A PREROUTING -t nat -p $NAT_TYPE -d $EXTERNAL_IP --dpor.t $NAT_.EXT_PORT -j DNAT \--- 印刷
                --to-destination $NAT_INT_IPNAT_INT_PORThttp://upload.bbs.csuboy.com/Mon_1004/126_6958_00bc4ff17adaaa0.gif[/img]服务器
要求的firewall..nat格式为    美容
TCP 21 19.2.168.0.1 21电脑
现在有2个问题就是1:不能控制源IP和源端口(就是比如我想只给源I.P是218.77.0.0/16 网络和源端口是 5000以上的才允许.DNAT到内部服务就不能做到..电脑
问题2:
TCP 21 192.168..0.1 21用这个做FTP的DNAT时不能和服务器建立port连接,也就.是不能使用主动式FTP,得再加条TCP .20 192.168.0.1 20做2.0端口的DNAT才行,这样来又有了新的问题就是如果服务器运行基于IP虚拟主机时或再DN.AT另外一台FTP时再用TCP 2100 192.168.0.2 21 TCP 20 192.168.0.2 20这个就不起做用了,因为第一条规则已经匹配到192.168.0.1了?[成人用品]
以上的要求如果这个用iptables.输.入就非常容易了,          婚庆
iptables -t nat -A PREROUTING -d EX.TERNAL_IP -p tcp. --d.port 20:21 -j DNAT --to 192.168.0.1教育
iptables -I FORWARD -.d 192.168.0.1 -i eth1 -o et..h0 -p tcp --dport 20:21 -j ACCEPT.
iptab.les -I. FORWARD -s 192.168.0.1 -.i eth0 -o eth1 -p tcp --sport 20:21 -m state --state RELATED,ESTABLISHED  -j ACCEPT外贸
手工用iptables命令做PREROUTI.NG只用了一条规则,脚本要用2条.在.FORWARD链脚本.也要4条规则,因为20,21分别单独来DNAT.这样效率上就差了,因为iptables要检查的规则就多了.           女人
在DNAT另外一台机器也容易
iptables -t n..at -A PREROUTING -d. EXTERNAL_IP -p tcp -m multiport --dport 20,2100 -j DNAT --to 192.168.0.2.
FOR.WARD链也同理放行就可以了.           建材
这里我要问的是以上的脚本能改.成在firewall.nat这个文.件里用这样的格式:域名
sourc.eIP protocol sourcePORT NAT_INT_IP NAT_INT_.PORT.
如果这样行得通后怎样可以在source.PORT指定20:.21(这个默认.好象可以) 但NAT_INT_PORT如果指定为20:21后在看执行规则只有20有效?           建材
还有-m m.ultiport 20,2100这.个可以指定吗?    美容
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个