LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2548|回复: 17

我要配置一个有双网卡的linux 利用adsl 拨号上网, linux还要做路由器 请问怎么配置?

[复制链接]
发表于 2003-5-12 21:49:25 | 显示全部楼层 |阅读模式
我的网络结构如下
见附件:


现在我们的路由器一个口接在switch 上 一个口接在adsl 上利用pppoe
拨号 路由器把adsl 的110 25 端口 映射到网内的一台机器的110 25 上


由于我们的机器太多了 所以路由器频繁死机.我现在准备用linux 来完成路由器的所有功能

网内机器少于200台 所以网络掩码设定为255.255.255.0


linux 有2块网卡 eth0
eth1

eth0 的ip 设定为192.168.0.2
网络掩码为 255.255.255.0
广播 192.168.0.255
网关 :192.168.0.2

eth0 和SWITCH 连接在一起 将作为其他所有机器上网的默认网关


eth1 用来拨adsl 上网
eth1 的ip 设定为192.168.0.9
网络掩码为 255.255.255.0
广播 192.168.0.255
网关 :192.168.0.2

以上的设定我不知道是否有错!



安装了rp-pppoe 3.5
根据
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=26224
里的例子。 我设置好以后做,运行adsl-start,没有出现conntect,
网络也无法连接。
运行adsl-status 出现
can't read /var/run/pppoe.adsl.pid

而且我还想实现 把adsl 上的110 25 号端口映射到192.168.0.1 上的110 25 号端口的功能
不知道该如何做?

路由器有自动拨号的功能 linux 的rp=pppoe 是否也能实现呢?
同时我也希望利用linux 对上网的流量进行控制 我不知道该怎么做?请高手指教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2003-5-12 22:27:25 | 显示全部楼层
总感觉应该是网络版的文章啊……
不太会,哪位兄台说说?
发表于 2003-5-13 10:34:50 | 显示全部楼层

错太多了:)

首先你不应该把两个网卡的地址设置到同一网段。
如果这样的话,会产生路由冲突的。

关键是我对于ADSL不是很熟,你可以找一些how to 来看,我以下的讨论基于你的ADSL已经正常工作的情况。

假设你的ADSL拨号(eth1)获得的地址(或者是一个分配给你的固定地址)为192.168.0.9,网关为192.168.0.2,eth0千万千万不要设成192.168.0.2,而要改成另外的一个网段,假设为192.168.1.2吧。(这表示你内网其他的机器也要都在192.168.1.0/24)所有内网的电脑网关设置为192.168.1.2。(你那台邮件服务器改为192.168.1.1)
下一步就简单了,用iptables设置规则,如果按照你说的要求,不考虑安全问题,简单的就是下面三条:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.0.9
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.9 --dport 110 -j DNAT --to 192.168.1.1:110
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.9 --dport 25 -j DNAT --to 192.168.1.1:25

至于流量控制,通常使用tc,这方面的资料也是一大堆,你可以在google搜索“Linux 流量控制”,剩下的就是学习实践了:)

还有一个叫做mrtg的东东,可以察看网络数据统计,也不错的,你也可以试试。

至于自动拨号,非我所长了,好像看过有人说写脚本解决,你可以找找看。
发表于 2003-5-13 11:25:40 | 显示全部楼层
adsl自动播号,可以到lfs hint里面找一个adsl hint,里面有。
如果你作路由,200台机器太多了,iptables没有缓冲可能不行,但是也听说有的网吧带它80几台的。机器多了就要用squid了。
映射端口用iptables就可以了,
控制流量需要iproute2的包,包含tc,具体你可以看看网路版精华有一个我很早以前发的“疯狂电驴”的文章,里面说了怎么编译内核支持,怎么写脚本,还有一些很好的iptables的链接。

squid不懂,网路版有相关的文章。

ps:我把这个文章转到网路版,在那里你可以得到更多的帮助。
发表于 2003-5-13 16:28:24 | 显示全部楼层

不敢苟同

doooom说的200台机器太多了,我想可能是相对于ADSL来说的吧?

实质上如果从理论上分析,iptables工作在网络层,squid在应用层,应该iptables快一些,但是squid因为作了缓存所以可能感觉会快,但是从绝对值上讲,如果大家浏览的是不同的页面,没有缓存,还是iptables快。
而且对于qq、telnet之类的,squid好像就不太擅长了。或者是我们这里的论坛,你总不希望看到的总是缓存的东西吧?
 楼主| 发表于 2003-5-13 21:49:51 | 显示全部楼层

thank you

原来要把2个ip 设定为不同的网断

这和我以前的路由器不一样

我回去再try 一下

因为adsl 可能会断线 我需要设定网络让他不怕断线 24小时挂在上面


多谢各位

我还发现 我的linux 2块网卡 一块192.168.0.4 一块192.168.0.9 当任何一块
连上网络以后 其他的机器就能ping 通没有联接网络的那块网卡

我在netcfg 里取消了数据包转发 也没有用
发表于 2003-5-14 09:13:12 | 显示全部楼层

回复: 不敢苟同

最初由 tedyt 发表
doooom说的200台机器太多了,我想可能是相对于ADSL来说的吧?

实质上如果从理论上分析,iptables工作在网络层,squid在应用层,应该iptables快一些,但是squid因为作了缓存所以可能感觉会快,但是从绝对值上讲,如果大家浏览的是不同的页面,没有缓存,还是iptables快。
而且对于qq、telnet之类的,squid好像就不太擅长了。或者是我们这里的论坛,你总不希望看到的总是缓存的东西吧?


有道理。
对于架网吧没有经验,也是道听途说。

对squid里面的缓冲不是狠了解,它是象浏览器cache那样的工作,还是好象网卡前面都有的缓冲一样协调这边输入和那边输出的频率。
 楼主| 发表于 2003-5-16 09:08:45 | 显示全部楼层

up 一下

我把ip 设定在一个网段 可以实现上网的

但是端口映射不行
发表于 2003-5-16 09:25:45 | 显示全部楼层
不会吧如果router都经常死机......, 总体上将Linux的稳定性还是不会逼专用router好的.

eth1不需要配置ip, 设置为manual启动即可.Suse 里是 /etc/sysconfig/network/ifcfg-ethX,  STARTMODE='manual'即可

SUSE中将YaST配置ADSL, 可以设置为机器启动, 自动激活.

squid, 如果大家访问的网页比较分散, 就没有很大的效果.

机器多, 想凑合是不行的.
 楼主| 发表于 2003-5-16 14:26:16 | 显示全部楼层

端口映射不行

/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.9 --dport 110 -j DNAT --to 192.168.1.1:110
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.9 --dport 25 -j DNAT --to 192.168.1.1:25
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表