由 rainingant 在 08-18-2004 13:05 发表:
端口转换问题?
本人想把局域网内的2000上的web服务和ftp服务通过代理服务器linux10.0对外!
外网网卡eth0 ip :218.62.*.138对内网卡eth1 2000ip是192.168.0.42
代码如下:
iptables -t nat -A PREROUTING -p tcp --dport 21 -i eth0 -j DNAT --to 192.168.0.42
iptables -t nat -A PREROUTING -p tcp -d 218.62.*.138 --dport 21 -j DNAT --to 192.168.0.42:21
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.42
iptables -t nat -A PREROUTING -p tcp -d 218.62.*.138 --dport 21 -j DNAT --to 192.168.0.42:80
没有实现对外,我在内网可以ftp服务器也可以访问web,登陆linux10.0也可以ftp2000上.
希望高人指点
目前本人想把所有的代码全换了大家给点意见
代码如下:
echo "1" > /proc/sys/net/ipv4/ip_forward
INET_IFACE="eth0"
INET_IP="218.62.*.138"
LAN_IFACE="eth1"
LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/24"
IPT="/sbin/iptables"
WWW_IP_RANGE="192.168.0.41-192.168.0.43"
FTP_IP="192.168.0.42"
HTTP="80"
HTTPS="443"
FTP="21"
FTP_DATA="20"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe iptables_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 PREROUING 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 -A INPUT -p tcp --sport $HTTP -j ACCEPT
$IPT -A INPUT -p tcp --sport $HTTPS -j ACCEPT
$IPT -A INPUT -p tcp --sport $FTP -j ACCEPT
$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
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPT -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
$IPT -t nat -A PREEOUTING