Linux网速慢问题解决之——配置DNS

Linux网速慢问题解决之——配置DNS,第1张

一、最近发现Linux的打开网页的网速贼慢,经过排查,发现网上 的一些认为是无线路由器不支持802.11n,其实已经过时,现在的路由器早以802.11b/g/n向下兼容。

二、后来发现是原来配置DNS服务器设置成114.114.114.114,这个dns服务器的响应速度太慢,于是打通运营商的客服查找最快的DNS(以山西联通为例:首选202.99.192.68,备用 202.99.192.66)

```

vi  /etc/resolv.conf   

              #打开后配置如下:

# Generated by NetworkManager

search DHCP HOST

nameserver 202.99.192.68

nameserver 202.99.192.66

```

1、fast

是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com,我们可以通过以下命令来安装这个工具:

$ npm install --global fast-cli

不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下:

$ fast

93 Mbps ↓

从以上结果可以看出,直接使用fast命令的话,将只返回网络下载速度。如果你也想获取网络的上传速度,则需要使用-u选项。

$ fast -u

⠧ 81 Mbps ↓ / 8.3 Mbps ↑

2、speedtest

是一个更加知名的工具。它是用Python写成的,可以使用apt或pip命令来安装。你可以在命令行下使用,也可以直接将其导入到你的 Python

项目,使用的时候,可以直接运行speedtest命令即可:

$ speedtest

Retrieving speedtest.net configuration...

Testing from Tencent cloud computing (140.143.139.14)...

Retrieving speedtest.net server list...

Selecting best server based on ping...

Hosted by Henan CMCC 5G (Zhengzhou) [9.69 km]: 28.288 ms

Testing download

speed................................................................................

Download: 56.20 Mbit/s

Testing upload

speed......................................................................................................

Upload: 1.03 Mbit/s

从运行结果可以看出,speedtest命令将直接提供上传/下载速率,测试的过程也是挺快的。你可以编写一个脚本来调用这个命令,然后定期进行网络测试,并在结果保存在一个文件或数据库,这样你就可以实时跟踪你的网络状态。

3、iperf

是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

这个工具不仅仅在Linux系统下可以用,在Mac和Windows系统同样可以使用。

如果你想测试网络带宽,则需要两台电脑。这两台电脑需要处于同样的网络,一台作为服务机,另一台作为客户机,并且二者必须都要安装

iPerf,可以通过如下命令获取服务器的IP地址:

$ ip addr show | grep inet.*brd

inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic

noprefixroute ens33

之后,我们再在服务机上启动iperf工具:

$ iperf -s

然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:

$ iperf -c 192.168.242.128

通过几秒钟的测试,它就会返回网络传输速率及带宽。

linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器。下面就以redhat为例(其他版本大同小异)教大家做一台能限速的路由器,如何在linux下进行路由器限速就不再困难了。

安装linux如果是新手请安装时安装图形桌面。Linux路由器限速的'设置步骤如下:

路由器限速第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。

路由器限速第二步:打开IP转发和伪装(也就是路由与NAT)

1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行:

GATEWAYDEV=PPP0这句话的作用是设定默认路由,有时没有也可

2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1

3、重启系统

路由器限速第三步:设置iptables防火墙,决定那些IP能通过linux主机上网。

下面以允许192.168.0.0网段为例:

1、打开终端在#字提示符下输入以下命令:

iptables-tnat-IPOSTROUTING-oppp0-jMASQUERADE#这句意思是伪装从pppo出去的IPiptables-AFORWARD-s192.168.0.0/24-jACCEPT#这句意思是转发来自192。168。0。0网段的通讯iptables-AFORWARD-d192.168.0.0/24-jACCEPT#这句意思是转发到达192。168。0。0网段的通讯iptables-AFORWARD-s!192.168.0.0/24-jDROP#这句意思是拒绝转发非192.168.0.0网段的通讯。

2、保存以上防火墙规则,以保证重启后还有效,输入命令:iptables-save>/etc/sysconfig/iptables,这样,你的linux路由器应该就能跑起来了。

linux做路由器限速的实现:在linux中有专门限速的软件--tc,但TC的语法新手难以掌握,我们可以在防火墙上通过限定某个IP或某段IP在一秒内通过的数据包的数量来限速。

下面以限制192.168.0.2这个IP的网速为例说说,在桌面环境下打开/etc/syscofngi/iptables有没有发现,刚才的设定全记录在这个文件里,现在做的就在这个文件里添加规则就得了。

1、先要找到filter

2、在filter下面一行增加以下两行:

-AFORWARD-mlimit-d192.168.0.2--limit30/sec-jACCEPT#这句意思是限定每秒只转发30个到达192。168。0。2的数据包(约每秒45KB一个数据包是1.5KB)

-AFORWARD-d192.168.0.2-jDROP#这句作用是超过限制的到达192.168.0.2的数据包不通过)

3、路由器限速经过重启系统就实现了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/5859517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-02-22
下一篇 2023-02-22

发表评论

登录后才能评论

评论列表(0条)

保存