|
|
我写了一个脚本,作NAT,想法是没有我的授权,不允许使用我的服务器,下面脚本中的10.44.0.2就是得到了授权。另外还允许用户开设FTP服务,将10.44.0.2:21映射到162.105.44.197:10021,只要用户在自己计算机上安装Serv-U软件,并设置10.44.0.2,21端口,其他人只要在自己的机器上用FTP软件,输入162.105.44.197,10021端口,即可。
可是,实际使用中,我从其他的机器上输入162.105.44.197:10021后,显示已连接通,但马上又显示连接超时。
请各位帮我看看是IPTABLES脚本的问题,还是可能有其他什么问题,谢谢!!!
附上脚本:
#!/bin/sh
#
# configuration options
#
LAN_IP_RANGE="10.44.0.0/16"
LAN_IP="10.44.0.1"
LAN_BCAST_ADRESS="10.44.255.255"
LAN_IFACE="eth1"
INET_IP="162.105.44.197"
INET_IFACE="eth0"
LO_IP="127.0.0.1"
LO_IFACE="127.0.0.1"
IPTABLES="/sbin/iptables"
echo "1" > /proc/sys/net/ipv4/ip_forward
#echo "Starting iptables rules..."
#
# Load all required IPTables modules
#
#
# Needed to initially load modules
#
/sbin/depmod -a
#
# Adds some iptables targets like LOG, REJECT and MASQUARADE.
#
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
#
# Delete old PREROUTING chain
#
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -A PREROUTING -p tcp -i $INET_IFACE -d $INET_IP --dport 10021 -j DNAT --to 10.44.0.2:21
#$IPTABLES -t nat -A PREROUTING -s 10.44.0.2 -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -d 10.44.0.2 -j ACCEPT
#
# Deny all unauthorized IP
#
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -j DROP
$IPTABLES -t nat -A PREROUTING -d $LAN_IP_RANGE -j DROP
#
# Delete old POSTROUTING chain
#
$IPTABLES -t nat -F POSTROUTING
#
# MASQ to INET_IFACE
#
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
#
# set SNAT
#
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to $INET_IP
#
# Delete old INPUT chain
#
$IPTABLES -F INPUT
#-----------------------------------------------------------------------------------------------
# port:22
#
$IPTABLES -A INPUT -p tcp -i $INET_IFACE -s 162.105.44.199/32 -d $INET_IP --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j DROP
#
# disable port 1 to 1024
#
$IPTABLES -A INPUT -p tcp --dport 1:1024 -j RETURN
$IPTABLES -A INPUT -p udp --dport 1:1024 -j RETURN
#
# Delete old Forward chain
#
$IPTABLES -F FORWARD
#
# set natlog train
#
$IPTABLES -F natlog
$IPTABLES -A natlog -p tcp --syn -j LOG --log-prefix "nat_tcp: " --log-level 6
$IPTABLES -A natlog -p udp -j LOG --log-prefix "nat_udp: " --log-level 6
#
# Log all forward
#
$IPTABLES -A FORWARD -j natlog
#
# save settings
#
/etc/init.d/iptables save |
|