由 weizhishu 在 12-13-2002 04:56 发表:
iptables端口转发不成功,规则如下。
请各位帮忙看看什么地方出了问题。
#!/bin/bash
WAN_IPADDRESS="211.92.205.82"
LAN_IPADDRESS="192.168.0.0/24"
echo "Start service.............."
if [ -w /proc/sys/net/ipv4/ip_forward ]
then
echo -n "Start IPV4_FORWARD"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo " [OK]"
else
echo "File ip_forward Error!"
fi
if [ -w /proc/sys/net/ipv4/icmp_echo_ignore_all ]
then
echo -n "Drop ICMP form anywhere"
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo " [OK]"
else
echo "File icmp_echo_ignore_all Error!"
fi
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
modprobe ip_talbes
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -A INPUT -i lo -s 127.0.0.2 -j ACCEPT
iptables -A INPUT -s 127.0.0.2 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth1 -s 192.168.0.166 -j DROP
iptables -t nat -A PREROUTING -p tcp -d $WAN_IPADDRESS --dport 80 -j DNAT --to-destination 192.168.0.250:80
iptables -t nat -A PREROUTING -p tcp -d $WAN_IPADDRESS --dport 5555 -j DNAT --to-destination 192.168.0.250:22
iptables -t nat -A PREROUTING -p tcp -d $WAN_IPADDRESS --dport 5556 -j DNAT --to-destination 192.168.0.2:22
iptables -t nat -A PREROUTING -p tcp -d $WAN_IPADDRESS --dport 5557 -j DNAT --to-destination 192.168.0.8:23
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.250 --sport 80 -j SNAT --to-source 211.92.205.82:80
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.250 --sport 22 -j SNAT --to-source 211.92.205.82:5555
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.2 --sport 22 -j SNAT --to-source 211.92.205.82:5556
iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.8 --sport 23 -j SNAT --to-source 211.92.205.82:5557
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $LAN_IPADDRESS -j ACCEPT
由 linuxsky 在 12-13-2002 08:14 发表:
太多了吧。不如先试试简单一点的。你这规则是自己写的还是抄来的?
如果是自己写的,就应该明白含义。
iptables -A INPUT -i lo -s 127.0.0.2 -j ACCEPT
iptables -A INPUT -s 127.0.0.2 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth1 -s 192.168.0.166 -j DROP
这一段不太明白。有必要吗?一个-P INPUT DROP不是更好?
防火墙的规则是先断后开。
至于NAT
我看你一条条的试吧。呵呵。
由 weizhishu 在 12-13-2002 10:34 发表: