So Tired !_! 逆水行舟, 不进则退!

9Jul/14

Mac OS X安装Dnsmasq来加速网络

Posted by Nick Xu

众所周知的原因,在兲朝没有干净的DNS解析,使用国内运营商的DNS解析服务会出现被劫持的情况,使用国外公共DNS解析服务会被GFW污染。所以在Mac上使用Dnsmasq搭建一个DNS解析服务,同时把Buffalo路由刷上dd-wrt系统,dd-wrt系统自带Dnsmasq服务,可以使家里所有电脑的解析都一致。因为我的Mac经常外带,所以要本地也建一个Dnsmasq。

Dnsmasq是一个简单的DNS缓存和DHCP服务程序,为什么使用它而不使用hosts?因为每台电脑上都维护一个hosts是个很辛苦的工作,而且Dnsmasq与hosts相比最大的好处是支持泛解析。只要路由使用Dnsmasq服务,其他电脑不用设置就都可以使用了。

虽然使用Dnsmasq不能解决DNS污染的问题,但是简化了hosts的维护,而且关键它支持DNS缓存,解析过的地址会优先使用缓存,不需要再解析了,所以很大程度上,可以加速网络访问。

下面是Mac OS X上安装Dnsmasq和相关配置的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$ brew install dnsmasq
$ cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
$ vi /usr/local/etc/resolv.dnsmasq.conf
    # Google DNS
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    # OpenDNS
    nameserver 208.67.222.222
    nameserver 208.67.220.220
$ vi /usr/local/etc/dnsmasq.conf
    resolv-file=/usr/local/etc/resolv.dnsmasq.conf
    strict-order
    listen-address=127.0.0.1 # 多个IP用逗号隔开
    no-hosts
    cache-size=32768
    address=/bitbucket.org/131.103.20.167
    address=/google.com/173.194.38.128
    address=/ggpht.com/173.194.38.128
    address=/googleapis.com/173.194.38.128
    address=/googleusercontent.com/173.194.38.128
    address=/gstatic.com/173.194.38.128
    address=/youtube.com/173.194.38.128
    address=/gmail.com/173.194.38.128
    address=/googlesource.com/173.194.38.128
    address=/googlelabs.com/173.194.38.128
    address=/googlecode.com/173.194.38.128
    address=/goo.gl/173.194.38.128
    address=/google.cn/203.208.46.210
    address=/google.com.hk/203.208.46.210
    address=/flickr.com/66.196.66.157
    address=/up.flickr.com/119.161.24.27
    address=/api.flickr.com/208.71.44.31
    address=/farm1.staticflickr.com/72.30.196.151
    address=/farm2.staticflickr.com/72.30.196.152
    address=/farm3.staticflickr.com/98.137.205.236
    address=/farm4.staticflickr.com/98.137.204.89
    address=/farm5.staticflickr.com/68.142.227.95
    address=/farm6.staticflickr.com/98.139.21.45
    address=/farm7.staticflickr.com/98.139.235.135
    address=/farm8.staticflickr.com/72.30.198.116
    address=/farm9.staticflickr.com/72.30.198.117
    address=/github.global.ssl.fastly.net/185.31.17.184
$ sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

设置完上面,把系统DNS设置为127.0.0.1就行了,使用dig看看结果

1
$ dig google.com

如果修改了配置文件,可以通过下面的命令重启Dnsmasq

1
2
$ sudo launchctl stop homebrew.mxcl.dnsmasq
$ sudo launchctl start homebrew.mxcl.dnsmasq

Mac OS X清除系统DNS缓存命令

1
$ sudo killall -HUP mDNSResponder

 

最后,问候GFW项目的全家,上到祖宗十八代,下到子孙十八代!!!

Tagged as: , Comments Off
15Jul/11

Debian命令行下网络参数设置的方法

Posted by Nick Xu

以eth0为例

1. 以DHCP方式配置网卡

编辑文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface - use DHCP to find our address

auto eth0

iface eth0 inet dhcp

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

当然,也可以在命令行下直接输入下面的命令来获取地址

sudo dhclient eth0

2. 为网卡配置静态IP地址

编辑文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.3.90

gateway 192.168.3.1

netmask 255.255.255.0

network 192.168.3.0

broadcast 192.168.3.255

将上面的ip地址等信息换成你自己就可以了.

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

3. 设定第二个IP地址(虚拟IP地址)

编辑文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

在该文件中添加如下的行:

auto eth0:1

iface eth0:1 inet static

address 192.168.1.60

netmask 255.255.255.0

network x.x.x.x

broadcast x.x.x.x

gateway x.x.x.x

根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

4. 设置主机名称(hostname)

使用下面的命令来查看当前主机的主机名称:

sudo /bin/hostname

使用下面的命令来设置当前主机的主机名称:

sudo /bin/hostname newname

系统启动时,它会从/etc/hostname来读取主机的名称.

关于设置主机名称的更多信息,请访问这里

5. 配置DNS

首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询.

要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件.

假设DNS服务器的IP地址是192.168.3.2, 那么/etc/resolv.conf文件的内容应为:

search test.com

nameserver 192.168.3.2

更一般地,还有ifconfig和route这两个命令,可用来临时设置IP和网关:
ifconfig -a 显示网络设置
ifconfig eth0 inet down 先关掉eth0
ifconfig eth0 inet up 192.168.1.2 \
netmask 255.255.255.0 broadcast 192.168.1.255 这是一行。设置个IP
route add default gw 192.168.1.1 eth0 设置网关
route del default gw 192.168.1.1 网关错了可以删掉,设完后可以用route来检查
设置DNS,直接写/etc/resolv.conf即可,多写几个没问题,只是不知道会不会用到。下面这两个是Opendns的,还是不错的,尤其是对网通和电信的用户来说。
domain
nameserver 208.67.222.222
nameserver 208.67.220.220
还有主机名:
hostname 显示主机名
hostname 名字 设置主机名
可以直接编辑/etc/hostname

Tagged as: , , No Comments
   
site
site