免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: chuizx
打印 上一主题 下一主题

路由中iptables问题。。。 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-08-15 13:37 |显示全部楼层

回复 #43 ssffzz1 的帖子

呵呵 。。。我再试试。。

论坛徽章:
0
22 [报告]
发表于 2008-08-15 13:44 |显示全部楼层

回复 #43 ssffzz1 的帖子

还是打不开百度。。。。其他的也开不了。。。我想哭。。。

论坛徽章:
0
23 [报告]
发表于 2008-08-15 14:00 |显示全部楼层

回复 #45 ssffzz1 的帖子

iptables表中是不是由2种情况,一种是停止检查,就是匹配到第一个规则就return了,不再往下匹配了。另一种是继续检查。就是匹配到所有的规则。是不是有这样的情况呢。。。。

论坛徽章:
0
24 [报告]
发表于 2008-08-15 14:13 |显示全部楼层

回复 #47 ssffzz1 的帖子

1、如果你不加上面的配置能否打开网页。   

不加可以打开,都可以打开。

2、帖ifconfig -a的结果。
eth0      Link encap:Ethernet  HWaddr 00:1B:2A:40:01:3A  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:7 Base address:0x9f00

ipsec0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ipsec1    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ipsec2    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ipsec3    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:0  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ixp0      Link encap:Ethernet  HWaddr 00:1B:2A:40:01:38  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4322 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4070 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:256
          RX bytes:375487 (366.6 KiB)  TX bytes:421123 (411.2 KiB)

ixp1      Link encap:Ethernet  HWaddr 00:1B:2A:40:01:39  
          inet addr:192.168.100.56  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11105 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3940 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:256
          RX bytes:875342 (854.8 KiB)  TX bytes:327066 (319.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:616 (616.0 B)  TX bytes:616 (616.0 B)

tunl0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

3、帖route 的结果。
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   *               255.255.255.0   U     0      0        0 ixp1
192.168.0.0     *               255.255.255.0   U     0      0        0 ixp0
default         192.168.100.1   0.0.0.0         UG    0      0        0 ixp1

4、详细的说一下你的要求。

是这样的,我现在在做路由WEB,界面上有这样一个功能:网页管制,可以实现对单IP,IP段和所有IP进行网页管制,我现在实现了对这些IP进行禁止:意识是用户填入的网址可以被禁止掉,其他的网址可以上。但我想对这些IP允许只上某个网址,也是用户填的网址。问题就出再这。我把那脚本的原代码贴上:
#!/bin/sh

#write in 2007.11.16 at first

[ -f /etc/lineconf.cfg ] && . /etc/lineconf.cfg

WEBPAGE_CHAIN="nat-webpage"
WEBPAGE_FILE="/etc/kingcan/webpage.cfg"

#del all mangle rule
/sbin/iptables -t nat -D POSTROUTING -j $WEBPAGE_CHAIN 1>null 2>&1  
/sbin/iptables -t nat -F $WEBPAGE_CHAIN 1>/dev/null 2>&1
/sbin/iptables -t nat -X $WEBPAGE_CHAIN 1>/dev/null 2>&1

#add mangle rule
/sbin/iptables -t nat -N $WEBPAGE_CHAIN  1>/dev/null 2>&1
/bin/cat $WEBPAGE_FILE | while read f1 f2 f3 f4
do
    [ -z "$f4" ] && break
    if [ "$f1" = "ALL" ]; then
        ip1=`/bin/echo $LAN1_IPADDR | /usr/bin/cut -d '.' -f1`
                                ip2=`/bin/echo $LAN1_IPADDR | /usr/bin/cut -d '.' -f2`
                                ip3=`/bin/echo $LAN1_IPADDR | /usr/bin/cut -d '.' -f3`
                                ip4="0/24"
                                ip_net="$ip1.$ip2.$ip3.$ip4"
                                if [ "$f3" = "refuse" ]; then
                                                    iptables -t nat -I $WEBPAGE_CHAIN -s $ip_net -d $f4 -j DROP 2>/dev/null
                    else
                                  iptables -t nat -I $WEBPAGE_CHAIN -s $ip_net -d $f4 -j ACCEPT 2>/dev/null  //我要修改的地方
                    fi
    elif [ "$f1" = "ONE" ]; then
                    IPADDR="$f2"
                    if [ "$f3" = "refuse" ]; then
                                                    iptables -t nat -I $WEBPAGE_CHAIN -s $f2 -d $f4 -j DROP 2>/dev/null
                    else
                                  iptables -t nat -I $WEBPAGE_CHAIN -s $f2 -d $f4 -j ACCEPT 2>/dev/null  //我要修改的地方

                    fi
    else
        IPSTART=`/bin/echo $f2 |/usr/bin/cut -d "-" -f1`
                    IPEND=`/bin/echo $f2 |/usr/bin/cut -d "-" -f2`
                    ip1=`/bin/echo "$IPSTART" | /usr/bin/cut -d '.' -f1`
                    ip2=`/bin/echo "$IPSTART" | /usr/bin/cut -d '.' -f2`
                    ip3=`/bin/echo "$IPSTART" | /usr/bin/cut -d '.' -f3`
                    ip_net="$ip1.$ip2.$ip3"
                    #echo "$ip_net"
                    ips=`/bin/echo "$IPSTART" | /usr/bin/cut -d '.' -f4`
                    ipe=`/bin/echo "$IPEND" | /usr/bin/cut -d '.' -f4`
                    ipnum=$(($ipe-$ips))
                    while [ $ipnum -ge 0 ]
                    do
                             if [ "$f3" = "refuse" ]; then
                                                    iptables -t nat -I $WEBPAGE_CHAIN -s $ip_net.$ips -d $f4 -j DROP 2>/dev/null
                             else
                                  iptables -t nat -I $WEBPAGE_CHAIN -s $ip_net.$ips -d $f4 -j ACCEPT 2>/dev/null  //我要修改的地方

                             fi
                             ips=$(($ips+1))
                             ipnum=$(($ipnum-1))
                    done
    fi
done
/sbin/iptables -t nat -I POSTROUTING -j $WEBPAGE_CHAIN 1>null 2>&1

[ 本帖最后由 chuizx 于 2008-8-15 14:15 编辑 ]

论坛徽章:
0
25 [报告]
发表于 2008-08-15 14:20 |显示全部楼层
原帖由 ssffzz1 于 2008-8-15 14:06 发表
不是的是按照顺序匹配的原则,一旦有匹配就不再继续匹配后续的规则。

如果是这样的话,应该匹配到允许百度后就不应该去匹配DROP了啊,但实际情况是所有都DROP了。也就是断网了!

论坛徽章:
0
26 [报告]
发表于 2008-08-15 14:56 |显示全部楼层

回复 #53 ssffzz1 的帖子

哈哈  好像可以了,百度能上,其他的不可以。。但是我打iptables -I FORWARD -d www.baidu.com -j ACCEPT这命令时报错  我就改成这样iptables -I FORWARD -d 220.181.6.6-j ACCEPT   220.181.6.6是百度的IP。还有解释些为什么这样就行了呢,,非常感谢你啊!!!!!

论坛徽章:
0
27 [报告]
发表于 2008-08-15 15:05 |显示全部楼层

回复 #55 ssffzz1 的帖子

好的 。非常感谢你哈。我也在做这方面。可以的话加我QQ哈  275342410.

论坛徽章:
0
28 [报告]
发表于 2008-08-15 17:53 |显示全部楼层
iptables -I FORWARD -j DROP
iptables -I FORWARD -d www.baidu.com -j ACCEPT
iptables -I FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -I FORWARD -p udp -j ACCEPT

怎么把DNS打开,是不是吧53端口打开呢 ?
如下这样可以吗?
iptables -I FORWARD -j DROP
iptables -I FORWARD -d 0/0 -p tcp --dport 53 -j ACCEPT //添加这一行。
iptables -I FORWARD -d www.baidu.com -j ACCEPT
iptables -I FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -I FORWARD -p udp -j ACCEPT

论坛徽章:
0
29 [报告]
发表于 2008-08-23 13:13 |显示全部楼层

回复 #55 ssffzz1 的帖子

iptables -I FORWARD -d www.baidu.com -j ACCEPT,在这条命令中,www.baidu。com字符串里可不可以使用通配符,如:iptables -I FORWARD -d *.baidu.com -j ACCEPT。这样的字符串iptables可以识别吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP