免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1925 | 回复: 7
打印 上一主题 下一主题

Iptables的奇怪问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-04 10:53 |只看该作者 |倒序浏览
本帖最后由 frank533 于 2011-01-04 10:59 编辑

我的iptables脚本如下:

#!/bin/bash

#Enable broadcast echo protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#Disable source routed packects
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo 0 > $f done

#Enable TCP SYN Cookie protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries

#Define Const
OPEN_PORTS='22,137,138,139,445'
WAN='eth0'
IPT='/sbin/iptables'

#Init policy
$IPT -F
$IPT -X
$IPT -P INPUT DROP

#Enable lo interface
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

#Define rules
$IPT -A INPUT -i $WAN -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp -m multiport --port $OPEN_PORTS -j ACCEPT

#Define rules for PING
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp -j REJECT --reject-with tcp-reset
$IPT -A INPUT -i $WAN -p udp -j REJECT --reject-with icmp-port-unreachable

大家帮我看看有哪里写的不对?我运行时总是提示:

/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument
/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument
/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument
/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument
/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument
/etc/init.d/rc.firewall: line 7: echo: write error: Invalid argument

我的系统是ubuntu10.04 server ,iptables是系统自带的1.4.4版

再就是运行后虽然提示错误,但防火墙仍然生效。iptables -L显示如下:


Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain
ACCEPT     tcp  --  anywhere             anywhere            multiport ports ssh,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset
REJECT     udp  --  anywhere             anywhere            reject-with icmp-port-unreachable

其中红色那行显示所有端口均是ACCEPT,那是不是说其实后面的规则其实没用?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2011-01-04 10:55 |只看该作者
--port 应该是--dports吧

论坛徽章:
0
3 [报告]
发表于 2011-01-04 11:08 |只看该作者
回复 2# chenyx

不是这个问题,这么写是说源端口与目的端口一样。是可以这么写的。--dports是特指目的端口

论坛徽章:
0
4 [报告]
发表于 2011-01-04 13:31 |只看该作者
不是已经提示第7行错误了么

论坛徽章:
0
5 [报告]
发表于 2011-01-04 13:39 |只看该作者
本帖最后由 taojie2000 于 2011-01-04 13:47 编辑

回复 3# frank533


    第7行是啥?下面这行?

   echo 0 > $f done


    echo 0 > $f ; done

论坛徽章:
0
6 [报告]
发表于 2011-01-04 13:51 |只看该作者
ACCEPT     all  --  anywhere             anywhere            

这个是你设置的 LO 回环

论坛徽章:
0
7 [报告]
发表于 2011-01-04 13:52 |只看该作者
Chain INPUT (policy DROP)

规则是 drop  正确

论坛徽章:
0
8 [报告]
发表于 2011-01-04 14:22 |只看该作者
5楼正解。我看了半天,愣没看出少了一个分号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP