ubuntu9.04无法共享网络

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
muchmail5
帖子: 8
注册时间: 2008-09-12 13:35

ubuntu9.04无法共享网络

#1

帖子 muchmail5 » 2009-04-27 18:28

昨天刚装了9.04,我们寝室是通过共享上网,刚装上的时候还可以共享上网更新源,可是现在自己拨号可以上网,但是共享上不去了,昨天配置了一晚上也没有弄好。
我配置的/etc/interfaces文件如下:
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.88
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.97.224.69

iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
无论怎么弄都不能实现共享。
改怎么办???????
muchmail5
帖子: 8
注册时间: 2008-09-12 13:35

Re: ubuntu9.04无法共享网络

#2

帖子 muchmail5 » 2009-04-27 18:48

我刚刚ping了一下网关,有反应
ping 192.168.0.1
xubigboy
帖子: 3
注册时间: 2008-02-14 10:59

Re: ubuntu9.04无法共享网络

#3

帖子 xubigboy » 2009-04-28 20:51

我的也是. 但是我今天弄好了!!
首先:(拷贝的)

这可以用单条 iptables 规则来完成,也许基于您网络配置来说会有一些小的差异:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

上述命令假设您的私有地址空间是192.168.0.0/16,您与 Internet 相连的设备是 ppp0。语法分解如下所示:

* -t nat -- 该规则将进入 nat 表
* -A POSTROUTING -- 该规则将被追加 (-A) 到 POSTROUTING 链
* -s 192.168.0.0/16 -- 该规则将被应用在源自指定地址空间的流量上
* -o ppp0 -- 该规则应用于计划通过指定网络设备的流量。
* -j MASQUERADE -- 匹配该规则的流量将如上所述 "跳转" (-j) 到 MASQUERADE (伪装) 目标。

在过滤表 (缺省表,在那里有着大多数或全部包过滤指令) 中的每条链 (chain) 都有一个默认的 ACCEPT 策略,但如果您还在网关设备上设置防火墙,那么您也许还要设置 DROP 或 REJECT 策略,这时您被伪装过的流量还需要被 FORWARD 链 (chain) 中的规则允许才能正常工作:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT

上述命令将允许通过从您局域网到 Internet 的所有连接,这些连接所有的相关流量也都返回到发起它们的机器。

然后,最最重要的是,在你的客户机上,DNS设置成adsl返回的DNS, 可以使用plog查看,或在/etc/resolv.conf文件中的nameserver.
回复