|
|

楼主 |
发表于 2004-5-18 11:22:27
|
显示全部楼层
#!/bin/sh
/sbin/depmod -a
/sbin/insmod ip_tables
/sbin/insmod iptable_filter
/sbin/insmod ip_conntrack
/sbin/insmod ip_conntrack_ftp
/sbin/insmod iptable_nat
/sbin/insmod ip_nat_ftp
/sbin/insmod ipt_state
# Define the IP and PORT
EXTERNAL_IP="服务器外网IP"
INTERNAL_IP="192.168.0.1"
NAT_EXT_PORT="8081"
NAT_INT_IP="192.168.0.2
NAT_INT_PORT="8081"
EXTERNAL_INTERFACE="eth1"
INTERNAL_INTERFACE="eth0"
INTERNAL_NETWORK="192.168.0.0/24"
echo "This is the prerouting dnat "
echo " "
iptables -A PREROUTING -t nat -p TCP -d $EXTERNAL_IP --dport $NAT_EXT_PORT -j DNAT --to-destination $NAT_INT_IP NAT_INT_PORT
echo "This allows packets from external->internal"
echo " "
iptables -A FORWARD -i $EXTERNAL_INTERFACE -o $INTERNAL_INTERFACE -p tcp -d $NAT_INT_IP --dport $NAT_INT_PORT -m state --stat
e NEW,ESTABLISHED,RELATED -j ACCEPT
echo "This allows packets from internal->external"
echo " "
iptables -A FORWARD -i $INTERNAL_INTERFACE -o $EXTERNAL_INTERFACE -p tcp -s $NAT_INT_IP --sport $NAT_INT_PORT -m state --stat
e NEW,ESTABLISHED,RELATED -j ACCEPT
echo "This enables access to the 'public' server from the internal network"
echo " "
iptables -t nat -A POSTROUTING -d $NAT_INT_IP -s $INTERNAL_NETWORK -p tcp --dport $NAT_INT_PORT -j SNAT --to $INTERNAL_IP
这个规则是没错的,能够运行,但就是运行一段时间就不工作了,而且删除规则后要等好长时间再次运行才工作,疑惑中。。。 |
|