【ubuntu】静态ip+dns缓存解决网速过慢问题
因为用windows主机做的nat,不知道为何linux下的网速比windows下慢很多,差了些资料,对网速有些缓解,但还是和windos有点差距,不知道何原因。
1.静态ip:
step1:设定IP
sudo gedit /etc/network/interfaces
文件内容修改为:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
然后重启networking
sudo /etc/init.d/networking restart
step2:设置DNS
sudo gedit /etc/resolv.conf
文件内容修改为:
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 127.0.0.1 #dns缓存
nameserver 192.168.0.1 #若不加youku貌似看不了。
不需要重启操作,这是修改后马上生效的
输入任意网址进行测试,如果连接成功即设置静态IP成功
2.解决ping过慢的问题。
sudo /etc/init.d/avahi-daemon stop
3.dns缓存
安装sudo apt-get install pdnsd
安装完以后自动进入配置界面,选择manual手工配置,退出配置界面
修改pdnsd
sudo gedit /etc/default/pdnsd
START_DAEMON=no改成START_DAEMON=yes,这个选项允许pdnsd后台运行
修改pdnsd.conf
sudo gedit /etc/pdnsd.conf
perm_cache=10240;
我设置的10240,表示pdnsd用10m空间来缓存dns数据
min_ttl=3d;
这个表示最少缓存3天可以改 1w表示1周 1s表示1秒 1m表示1分钟 1h1小时
将第一个
server {
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxx
}
改成
server {
label="i.root.servers.net";
ip=192.36.148.17;
}
其中label可以自己设置,也可以不要,
ip就是pdnsd使用的dns
sudo gedit /etc/resolv.conf
nameserver 全部删除只留一个设置成127.0.0.1
配置完了重启,pdnsd就自动运行了,以后dns请求会优先到缓存里面找
启动pdnsd
sudo /etc/init.d/pdnsd start
简单测试
dig yahoo.com | grep time
第一次结果显示:;; Query time: 11 msec
第二次结果显示:;; Query time: 0 msec
第三次结果显示:;; Query time: 0 msec
至此,我们的本地DNS代理服务器已经搭建成功。当然,这并没有意味着网速会立马得到提升。但是,当Firefox第二次访问同一个域名下的页面 时,Looking up xxxx.com.... 或者 Connecting to xxxx.com...的时间已经几乎为0。现在我们的Ubuntu的上网速度已经和Windows下相当了。
4.另外有个问题,配置静态ip后右上角的网路图标会消失,有时候要连vpn,会比较麻烦,解决办法如下:
sudo gedit /etc/NetworkManager/nm-system-settings.conf
把 false 改成 true 保存 退出
sudo service network-manager restart