关于linux+iptables+ADSL做NAT
2004-04-23 15:18 pm来自:Linux文档
现载:Www.8s8s.coM
地址:无名
大家帮忙看看以下配置有何问题
linux7.2
CPU PII450
RAM 256M
eth0 Intel82558 IP:192.168.0.1/24(内部网关)
eth1 3COM-3C905C(连ADSL)
rc.local配置
modprobe ip_tables
modprobe ip_nat_ftp
#进行ip伪装
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
在/etc/sysconfig/network 中已经加入了
FORWARD_IPV4=YES
ADSL配置完成,已能拨号可以ping 外部地址,内部的计算机可以ping网关192.168.0.1
但ping 不到外部地址,也ping 不到point-to-point(ppp0)的地址,以下是运行
netstat -r
Destination Gateway Genmask Flags MSS Window irtt Iface
218.20.189.1 * 255.255.255.255 UH 40 0 0 ppp0
192.168.0.0 * 255.255.255.0 U 40 0 0 eth0
10.10.40.0 * 255.255.255.0 U 40 0 0 eth1
127.0.0.0 * 255.0.0.0 U 40 0 0 lo
default 218.20.189.1 0.0.0.0 UG 40 0 0 ppp0
[root@linuxnat /]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
不知道那里出问题了,是否要编译内核?
你的iptables连个作NAT的规则都没有,怎么样能出去呢?
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
执行这两条命令看如何呀!
哈哈,版煮,人家已经加了,你写的第一条规则就说明了你对iptables根本不熟,你理解错了,我写过一个脚本为什么不叫他拿去用??可以支持拨号的
建议你的rc.local这么写:
echo 0 > /proc/sys/net/ipv4/ip_froward
iptables -t filter -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_froward