端口转换问题?

由 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

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus