|
错误信息如下:
/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
请问该如何修改?! |
|