LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 936|回复: 1

SNAT脚本错误, 该如何修改?

[复制链接]
发表于 2006-10-14 09:45:14 | 显示全部楼层 |阅读模式
错误信息如下:

/etc/rc.d/snat-firewall: line 24: syntax error near unexpected token `('
/etc/rc.d/snat-firewall: line 24: `for DNS in (grep ^n /etc/resolv.conf|awk '{print $2}'); do'


完整脚本如下:

#!/bin/bash
echo “1” > /proc/sys/net/ipv4/ip_forward
INET_IFACE=”eth1”
INET_IP=”202.104.33.XX”
LAN_IP=”192.168.1.254”
LAN_IP_RANGE=”192.168.1.0/24”
IPT=”/sbin/iptables”
/sbin/depmod –a
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
$IPT –P INPUT ACCEPT
$IPT –P FORWARD ACCEPT
$IPT –P OUTPUT ACCEPT
$IPT –t nat –P PREROUTING ACCEPT
$IPT –t nat –P POSTROUTING ACCEPT
$IPT –t nat –P OUTPUT ACCEPT
for TABLE in filter nat mangle ; do
$IPT –t $TABLE –F
$IPT –t $TABLE –X
done
$IPT –A INPUT –m state –-state ESTABLISHED,RELATED –j ACCEPT
for DNS in $(grep ^n /etc/resolv.conf | awk ‘{print $2}’); do
$IPT –A INPUT –p udp –s $DNS –-sport domain –j ACCEPT
done
$IPT –N LOGDENY
$IPT –A LOGDENY –j LOG –-log-prefix “iptables:”
$IPT –A LOGDENY –j DROP
$IPT –A INPUT –i ! lo –m state –-state NEW,INVALID –j LOGDENY
if [ “$INET_IFACE” = ppp0 ] ; then
$IPT –t nat –A POSTROUTING –o $INET_IFACE –j MASQUERADE
else
$IPT –t nat –A POSTROUTING –o $INET_IFACE –j SNAT –-to $INET_IP
fi


请问该如何修改?!
 楼主| 发表于 2006-10-14 10:33:48 | 显示全部楼层
解决!!
原来自己漏了个符号

此句应该为:

for DNS in $(grep ^n /etc/resolv.conf|awk '{print $2}'); do'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表