当前位置:操作系统 > Unix/Linux >>

关于linux+iptables+ADSL做NAT

大家帮忙看看以下配置有何问题

  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本文来自:http://www.xiaoyaxiao.com/1609.html
发表您的意见和建议!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,