惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
V
Vulnerabilities – Threatpost
T
Tenable Blog
Forbes - Security
Forbes - Security
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
S
Securelist
C
Cybersecurity and Infrastructure Security Agency CISA
Project Zero
Project Zero
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Visual Studio Blog
WordPress大学
WordPress大学
Latest news
Latest news
K
Kaspersky official blog
T
Tailwind CSS Blog
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
C
Cisco Blogs
博客园 - 聂微东
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
小众软件
小众软件
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
Security Latest
Security Latest
Y
Y Combinator Blog
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
L
LINUX DO - 最新话题
月光博客
月光博客
The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
S
Security Affairs
P
Proofpoint News Feed
D
DataBreaches.Net
有赞技术团队
有赞技术团队
云风的 BLOG
云风的 BLOG

博客园 - chengbo

Android Studio:为Android定制的IDE 使用Gitolite来对Git的repository实现权限控制 更快的,更好的支持硬件的模拟器 当LISTVIEW有HEADER时,ONITEMCLICK里的POSITION不正确 准备再写写东西了 压缩 ViewState 后,与 UpdatePanel 的兼容问题 - chengbo 如何让 firefox 的窗口大小不再被网页脚本改变 52个行之有效的减压方法 用Javascript检查Caps Lock是否按下 如何用C#和SQL获得当前月的第一天和最后一天 每天如何自动编译项目并将之打包添加到VSS中 - chengbo - 博客园 maxthon 2 预览版的邀请 成都古羌科技有限公司招聘 怎样用TSQL建JOB xml参数存储过程 如何在ReadOnly的DataGrid中的让CheckBox列可点击 激情黄健翔 Head first design patterns 读书笔记 – Strategy(策略模式) 双击U盘出现“拒绝访问”的解决方法
用Debian当路由,来解决BT造成的网络慢的问题
chengbo · 2012-04-20 · via 博客园 - chengbo

自从@TimothyYe童鞋介绍偶加入HDC后,为了快点完成新人作业,也为了满足我不折腾不舒服斯基的欲望,哥配了一台凌动小PC,Intel ATOM D525NW的主板,集成了CPU和显卡,加上小机箱总共700元。到手后,插上我Thinkpad拆下来的2根1G内存和另外一台闲置N久的台式机160G SATA硬盘,装了个Debian,就可以用了。 装上transmission后,全速挂BT无压力,比那些直接路由或者1、200的NAS给力多了。哥还继续在上面折腾了Git,emule,动态DNS等,远远没有把2G内存榨干,当然这里都说远了,继续回来。 我家使用的是电信ADSL,一个宽带无线路由,手机,notebook,iPad,PC,xbox等(哥真败家。。。),路由拨号连入Internet,然后通过WIFI把其它设备连入LAN,共享外网连接。这个配置在我挂PT之前一直工作正常,可是当我把BT开着,就算上传和下载速度都为0,LAN中的其它设备访问Internet的速度一样很慢,很慢。 分析了下,估计是我那100元的低端无线路由无法支撑如此多的连接会话造成的,简单直接的办法就是升级路由,于是开始上网查高端路由,不查不知道,一查才知道这东西好贵,便宜的怕是不能解决问题,贵的哥又承受不了。纠结了N久,最后发现,何不把我那台Debian来做路由呢? 马上在淘宝买了根20元的USB有线网卡,收到后插入Debian上,这东西不像Windows和MAC可以自动识别出来然后提示你安装驱动,要自己去折腾,而且附送的光盘上也没有Linux的驱动,看来,要找Google了。

安装配置USB网卡

在Debian上运行

chengbo@chengbo-server:~$ lsusb

Bus 005 Device 002: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Advent) DM9601 Fast Ethernet Adapter 从上得知,USB网卡是DM9601这个型号的

chengbo@chengbo-server:~$ /sbin/ifconfig

只有lo和eth0,新加的网卡没有识别 以DM9601为关键字,Google,找到了这里,下载解压好linux的驱动后,编译出错,好像是头文件不对,哥不会写驱动啊,只有继续Google,发现DM9601的驱动已经集成在新版的内核里了,但是我试了下,用不了,不知道什么原因。继续Google,又找到了这里,根据上面的说明,下载了qf9700的驱动,编译,成功,生成文件qf9700.ko。 安装刚才编译好的驱动

root@chengbo-server:~$ cp qf9700.ko /lib/modules/`uname -r`/kernel/drivers/net/usb
root@chengbo-server:~$ cd /lib/modules/`uname -r`/kernel/drivers/net/usb
root@chengbo-server: usb$ modprobe usbnet
root@chengbo-server: usb$ insmod qf9700.ko
root@chengbo-server: usb$ ifconfig eth1 up

配置好驱动后再运行

root@chengbo-server:~$ ifconfig

多了一个eth1了,到现在新网卡已经可以使用了。

安装配置ADSL拨号相关软件

把原先连接无线宽带路由和猫的网线拔掉,接在猫和Debian的USB网卡上 安装拨号软件

root@chengbo-server:~$ apt-get install pppoe pppoeconf

成功后运行

root@chengbo-server:~$ pppoeconf

会弹出一个窗口,自动检测连接ADSL的网卡,然后照提示输入你的用户名,密码,其它的可以用默认值。 运行

root@chengbo-server:~$ pon dsl-provider

就可以拨号了,过后再ifconfig一下,会发现多了个ppp0。poff命令可以关闭ppp0连接。另外,我发现多次拨号可以有多个ppp,比如ppp1,而且IP还不一样,不知道这样是否可以让带宽double,待测试。此时Debian可以上网了,但是LAN中的其它设备还不行。

设置LAN路由

设置Debian连接LAN的网卡配置

root@chengbo-server:~$ vim /etc/network/interfaces
allow-hotplug eth0 iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.3

由于所有的无线设备都是有无线宽带路由来DHCP的,所以登录无线宽带路由,把配置改下:

range 192.168.3.100-192.168.3.200 netmask 255.255.255.0 gateway 192.168.3.3 dns 8.8.8.8 or 4.4.4.4

DNS没有用电信分配给我的,是因为不想看电信强行插入的广告 设置NAT

root@chengbo-server:~$ echo "1" > /proc/sys/net/ipv4/ip_forward
root@chengbo-server:~$ /sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.3.0/24 -j MASQUERADE

至此LAN中的其它设备也可以上网了,如果还不行的话,检查下你的配置是否正确,然后再看看路由表,把错误的路由改掉。 最后,我家网络的结构如下图 home network // TODO: 此文还需添加Debian重启后自动配置USB网卡,拨号,NAT的内容 本文由Roy最初发表于:http://blog.chengbo.net/2012/04/18/use-debian-server-as-a-router.html,你可以在保持文章完整和保留本声明的情况下转帖、分发和印刷等。