分类
Linux

CentOS6.5 64bit如何安装DNS服务dnsmasq加速网站访问

dnsmasq是个非常小巧的dns服务器,可以解决小范围的dns查询问题,建议内网终端不要超过50台主机为佳。刚刚调整了一下内容,重新发布此文章。
Dnsmasq_icon.svg

Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。ITGeeker建议可以使用它来:

  1. 优先使用本地自定义dns和host,可以针对不同的网站使用不同的DNS,以提高网页打开速度。
  2. 提供dhcp服务,方便内网主机和移动设备管理。

1. YUM安装方法

非常方便,但版本比较低,目前只能安装dnsmasq x86_64 2.48-13.el6,但官方最新版已到2.71

yum install dnsmasq

2. 编译安装dnsmasq

cd /tmp && wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.71.tar.gz 
tar -zxvf dnsmasq-2.71.tar.gz && cd dnsmasq-2.71
make install
#也很容易,安装完成

cp dnsmasq.conf.example /etc/dnsmasq.conf
mkdir -p /etc/dnsmasq.d   #这个目录备用

3. dnsmasq配置

主要有三个文件:

/etc/dnsmasq.conf
/etc/dnsmasq.d/resolv.dnsmasq.conf
/etc/dnsmasq.d/dnsmasq.hosts

第一个是系统默认必须的,后面两个可以自行建立,放置的路径也可以根据自己需要定义。

vi /etc/dnsmasq.conf

自带的配置文件有很多说明,可以直接在上部加入以下内容,保留之前的可以当帮助文件用,也可直接删除原先的内容。

#ITGeeker每次开启都提示错误,目的是让dnsmasq读取目录内所有配置文件
#conf-dir=/etc/dnsmasq.d

#让dnsmasq读取你设定的resolv-file
#no-resolv
resolv-file=/etc/dnsmasq.d/resolv.dnsmasq.conf

no-poll
strict-order

#不读取系统hosts,读取你设定的
no-hosts
addn-hosts=/etc/dnsmasq.d/dnsmasq.hosts

#dnsmasq日志设置
log-queries
log-facility=/var/log/dnsmasq.log

#dnsmasq缓存设置
cache-size=1024

#单设置127只为本机使用,加入本机IP为内部全网使用
listen-address=127.0.0.1,192.168.188.199

在/etc/dnsmasq.d目录下新建2个文件

vi /etc/dnsmasq.d/resolv.dnsmasq.conf

国内快的DNS也就这些了,谷歌的8.8.8.8这两天有点慢,甚至ping不同,可能和香港和越南的光纤断裂有关,所以暂时注销了。

#nameserver 127.0.0.1   不应该添加
nameserver 202.96.209.5
nameserver 202.96.209.133
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 114.114.114.114
nameserver 8.8.4.4
#nameserver 8.8.8.8

vi /etc/dnsmasq.d/dnsmasq.hosts

给出以下样本,ITGeeker建议自己制作一个最新好用的。

173.194.120.88   0.docs.google.com
216.239.32.39    0.docs.google.com
173.194.120.88   0.drive.google.com
216.239.32.39    0.drive.google.com
......

dnsmasq启动脚本

编译安装比较麻烦的就是这件事了,当然也可直接手动操作:

启动: /usr/local/sbin/dnsmasq
验证:netstat -tunlp|grep 53
关闭:killall -KILL dnsmasq
重启: pkill -9 dnsmasp && /usr/local/sbin/dnsmasq -h

还是编辑一个启动脚本吧

vi /etc/init.d/dnsmasq

 

#!/bin/sh
#
# Startup script for the DNS caching server
#
# chkconfig: - 49 50
# description: This script starts your DNS caching server
# processname: dnsmasq
# pidfile: /var/run/dnsmasq

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

dnsmasq=/usr/local/sbin/dnsmasq
[ -f $dnsmasq ] || exit 0
RETVAL=0

# See how we were called.
case "$1" in
  start)
        if [ $UID -ne 0 ] ; then
            echo "User has insufficient privilege."
            exit 4
        fi
        echo -n "Starting dnsmasq: "
        daemon $dnsmasq $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dnsmasq
        ;;
  stop)
        if test "x`pidof dnsmasq`" != x; then
            echo -n "Shutting down dnsmasq: "
            killproc dnsmasq
        fi
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dnsmasq /var/run/dnsmasq.pid
        ;;
  status)
        status dnsmasq
        RETVAL=$?
        ;;
  reload)
        echo -n "Reloading dnsmasq: "
        killproc dnsmasq -HUP
        RETVAL=$?
        echo
        ;;
  force-reload)
        # new configuration takes effect only after restart
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  condrestart)
            if test "x`/sbin/pidof dnsmasq`" != x; then
                $0 stop
                $0 start
                RETVAL=$?
            fi
            ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload|condrestart|status}"
        exit 2
esac

exit $RETVAL

Tips:如果你是本地编辑上传的,提示找不到文件记得

set ff=unix

再赋予执行的权限

chmod +x /etc/init.d/dnsmasq

现在可以启动和设置自动启动了

service dnsmasq restart
chkconfig dnsmasq on

验证是否正确启动

netstat -tunlp|grep 53

验证是否正确工作

需要命令dig和nslookup,如果没有,安装一下

yum install bind-utils

记得在iptables防火墙开放53端口,tcp和udp都要开

vi /etc/sysconfig/iptables

-A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT

将其他机器的DNS换成dnsmasq所在服务器的IP,这是关键,否则没人使用你的DNS服务。

利用dig或者nslookup参看DNS Server是否是

127.0.0.1或者192.168.188.199

大功告成!!!

/etc/dnsmasq.conf中dns和address配置范例

如果你想使用dnsmasq的泛解析功能,ITGeeker这里提供一些范例供你参考。

设定某些网址使用国内的DNS服务器,这里选用了上海最快的上海电信服务器,你也可以选择适合你的最快DNS服务器地址。

#Specify DNS server China
server=/www.freegeeker.com.cn/202.96.209.5
server=/itgeeker.net/202.96.209.5
server=/geekerconsulting.com/202.96.209.5
server=/baidu.com/202.96.209.5
server=/cn/202.96.209.5
server=/taobao.com/202.96.209.5
server=/weibo.com/202.96.209.5
server=/weibo.cn/202.96.209.5
server=/xunlei.com/202.96.209.5

#Specify DNS server out of china
server=/google.com/8.8.4.4
server=/twitter.com/8.8.4.4
server=/facebook.com/8.8.4.4

dnsmasq广受好评的泛解析,可以设定局域网内的特殊网址解析,禁止的ip解析等

#local itgeeker
address=/local.itgeeker.com/192.168.188.199

#forbid ip list
#1. video play website
address=/.youku.com/192.168.188.199
address=/.tudou.com/192.168.188.199
address=/video.sina.com.cn/192.168.188.199
address=/.ku6.com/192.168.188.199
address=/.funshion.com/192.168.188.199
address=/video.sina.com.cn/192.168.188.199
address=/video.sina.com.cn/192.168.188.199
address=/.youku.com/192.168.188.199
address=/.tudou.com/192.168.188.199
分类
Apple

MacBookPro网络恢复折腾记 如何使用快速Apple DNS

1. 五国界面,不断重启 – 事故的起因

本人使用的是MacBookPro 2012年下半年的型号,因为想调试Python程序,想在Mac OS里部署PyCharm,于是用HomeBrew安装更新,要求重装Xcode才能安装一些依赖,于是乎从APP Store直接安装了最新版本的Xcode7,之前是Xcode6.x.

就在这个时候,笔记本产生假死状况,等待许久后,任何按键还是没有任何反应。于是乎按住电源键5秒强行关机,也不是第一次这么干了,结果重启后,就是下面的5国语言,并不断循环的重启。

macbookpro-5-country

2. 尝试“急求” 修复未果

osx_recovery_command

 

 

按住电源按键5秒钟关机,然后再按一下启动,按住Commond + R键,直到出现苹果logo和loading进度条,放开,进入恢复系统界面。

yosemite-restart-recovery_mode-reinstall_os_x

然后选择“磁盘工具”, 选择系统盘,点击“急救”,过一会系统告诉你已经扫描了巴拉巴拉,修复了巴拉巴拉,然后我就重启电脑,结果不是5国语言了,变成一个带问号的文件夹图标了。

mac-folder-questionmark-screen-icon

重新进入恢复模式,结果找不到原先的系统盘了,于是计划重新安装系统,有两个选择:

  1. 制作USB安装盘进行安装
  2. 使用系统自带的网络恢复进行自动安装

PS:其实这里走了岔路,原因就是过分相信苹果的质量了,查阅苹果官方资料 关于 Mac 启动时您看到的屏幕 里面说这个原因是找不到启动磁盘的原因,到最后我才知道当时我的MacBooKPro的硬盘线出现问题了。如果换了硬盘线都可以不用重装系统了。

3. U盘制作安装盘,无果

尝试了一下网络恢复,30M的光钎电信宽带,速度很慢,只好选择U盘安装,Google一番下载了一些OS X 10.14 EI Capitan DMG文件,按照网上的方法用了很多种方法,试了好几个USB,有3.0的有2.0的,都无法启动安装盘,甚至用了老版本的OS X 10.9 DMG也没成功,在搜索中偶有看到,有人说苹果10.7之后不支持USB安装了。

网上大多教程都是在Mac OS系统里如何制作USB安装盘的,但往往情况是,我们的OS系统已经崩溃,所以只能在Windows底下制作Mac OS X安装盘,网上唯一的工具就是TransMac,网上搜一下就有下载的,每次制作都要花上好长时间。

结果没有一次是成功的,苹果官方也没有关于制作安装U盘的指导文件。

4.无奈选择网络恢复 折磨的开始

不管是Option按键或者Commond+R,都能进入网络恢复,因为此时MacBookPro找不到启动盘,就会自动启动网络恢复功能,只要你选择无线WiFi,输入密码即可。如果是插入有线的网线,记得打开路由器的DHCP,否则容易1202F等类似错误,因为MacBook Pro没被分配IP就无法联网。

乍一看,苹果还是很人性化,免去其他麻烦,直接一联网就解决安装问题了,可这恰恰就是苹果不重视中国用户的地方,在中国实用网络恢复的噩梦。因为速度很慢,Apple也不在中国加个CDN之类。网上一搜关于MacOS网络恢复的问题,都是关于抱怨速度太慢的问题,太多的人都在被苹果蹂躏,花了同样的价格,却享受不到同样的服务质量。(另外不重视中国用户的地方是银联绑定的问题,我们稍后再表。)

  1. 苹果的恢复模式是首先给你安装恢复程序,好了就是上面恢复模式的界面,我试了一下基本要1-3个小时可以下载装好,有时也失败。中间我有一次装好恢复程序后,换了个硬盘,重启后又要重新下载,为什么不能就装到硬盘呢?此处浪费了大把时间。
  2. 装好恢复程序后,就可以点击重新安装OS X了,链接网络,验证后就可以开始安装了。但不是给你安装新版本OS,是你最初笔记本自带的系统版本。这个体积很大,心理早有准备,但苹果服务器的龟速还是打败了我。

试了好多次,Wi-Fi,有线都试了,通常过了很久,然后就告诉你失败,会有XXXXF等错误代码;要不就是告诉你还要100多个小时,实在太慢。后来只好开着电脑整夜的下载,结果到第二天还只有一半多一点点,还预估要50多个小时,崩溃!

5.寻求加速方法 勉强安装成功(分享的重点)

尝试了两种比较靠谱的方法:

  1. 使用Apple DNS host加速。作者github:https://github.com/gongjianhui/AppleDNS.git
  2. V2EX DNS加速,据说专门解决苹果速度慢的问题

5.1 Apple DNS

第一种方法,需要python环境,需要一点点技术背景,但是不管电信/联通/移动的网络都可获得最快的苹

果IP地址,具体可参考作者github页面。ITGeeker发现增加这些后,对手机App Store加速明显,但网络恢复加速似乎没多大帮助。

况且这种方法需要能修改路由器的IP地址,或者你的路由器能使用dnsmasq。我的Linksys路由器刷了openwrt,所以可以添加。以下是我的30M中国电信宽带上海获得的IP加速,时间20160502:

# Build Date: 2016-05-02T09:38:55.136000 (UTC)
# API-1-ChinaNetCenter [ChinaNet] (Avg RTT: 7.950ms)
115.231.23.17   se.itunes.apple.com
115.231.23.17   su.itunes.apple.com
115.231.23.17   upp.itunes.apple.com
115.231.23.17   play.itunes.apple.com
115.231.23.17   client-api.itunes.apple.com
# API-2-ChinaCache [ChinaNet] (Avg RTT: 3.700ms)
180.153.126.252 itunes.apple.com
180.153.126.252 init.itunes.apple.com
# API-HK-Akamai-1 [HongKong0] (Avg RTT: 135.150ms)
184.87.97.50    search.itunes.apple.com
# API-HK-Akamai-2-AMRadio [HongKong1] (Avg RTT: 140.421ms)
104.89.141.101  radio.itunes.apple.com
104.89.141.101  radio-activity.itunes.apple.com
104.89.141.101  radio-services.itunes.apple.com
# Appple Music Streaming and iOS/OS X Apps [ChinaNet-ChinaNetCenter] (Avg RTT: 8.650ms)
183.134.12.71   aod.itunes.apple.com
183.134.12.71   mvod.itunes.apple.com
183.134.12.71   streamingaudio.itunes.apple.com

 

5.2 V2EX DNS

官方介绍:如果你的 iPhone,iPad 或是 Mac 访问 App Store 时很慢,下载很慢,那么试试将 DNS 设置为 V2EX DNS 吧,可以大幅度提高你的设备从 App Store 下载数据的速度。

178.79.131.110

只需要把你的本机网络连接的DNS设为此IP地址就可以了。我当时加速心切,两种加速都添加了。

5.3 如何让Mac OS恢复程序通过指定DNS来下载

在电脑启动的时候按住Commond+R、进入系统恢复界面后、打开实用工具、终端、输入:

networksetup setdnsservers wi-fi 178.79.131.110

回车确认

原理就是通过指令修改当前Wi-Fi的DNS.如果是用网线那就需要输入:

networksetup -setdnsservers ethernet 178.79.131.110

如果不知道自己连接网络设备的代号,就用命令查看一下吧:

networksetup -listnetworkserviceorder

现在终于可以比较“快速”的装完恢复程序,大概一个多小时,我试了好几次都差不多这个速度。重新安装OS X的速度也缩短到15个小时左右,终于再开了一个晚上的电脑,第二天一早发现已经安装成功了。也不知道是该开心呢,还是只是幸运而已。

6. 后记 一点提示

装完之后因为版本比较低10.7 Lion版本,那就赶紧APP Store免费升级,结果碰到错误提示:

此版本的OS X 不支持银联。

这时需要在App Store精选页的右上角选择账号进去才能选择 “无” 也就是不绑定信用卡,在其他地方或者apple.com登入账号都是无法去掉信用卡设置的。

这其实是苹果的一个无限循环错误,不让升级,也不让绑定,真不知道这个逻辑谁想出来的。

重新安装的时候,还是没有发现原先的SSD,于是我装到了另外一个分区,而且换了另外一个SSD也找不到,但用硬盘盒装上后插到电脑就能使用,确认硬盘肯定没问题。于是上淘宝买了一根硬盘线,54元,换上后,终于可以找到SSD,然后使用Carbon Copy Cloner 4.1.6 clone了HD硬盘的整个分区到SSD,启动电脑,按住Option,选择SSD的分区,顺利启动。

这时你还会发现一个问题,那就是SSD硬盘速度很慢,原因是Apple对第三方SSD没有自动开启Trim功能,那就在终端输入以下命令吧:

su trimforce enable

如果看到su:sorry错误,那就先打开系统的Root登入权限吧,如何操作?google吧!

 

分类
Linux

CentOS 6 64-bit如何安装Webmin1.700 Linux管理器

如果你是一个ITGeeker,喜欢用Shell敲打命令,并且觉得那样很酷,那就没必要安装Webmin. 如果你有时候想使用图形界面来调整或更改Linux的某些设置,那么Webmin是你绝佳的选择。

webmin

Webmin是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin,你可以在浏览器上设置和安装所有的系统服务,包括:DNS、DHCP、Apache、NFS和Samba等等。因此,有了Webmin,你就再也不需要去记住所有的修改配置的命令了。

Webmin最新的版本是1.700,已经支持CentOS 7了。官方下载页面:http://webmin.com/download.html

RPM安装 Webmin 1.700 16.3 MB

RPM suitable for Redhat, Fedora, CentOS, SuSE or Mandrake Linux

1. 下载RPM文件

cd /tmp && wget http://prdownloads.sourceforge.net/webadmin/webmin-1.700-1.noarch.rpm

2. 安装命令

rpm -i webmin-1.700-1.noarch.rpm

3. 打开操作界面

记得打开防火墙10000端口

http://youripaddress:10000
 用户名root,密码就是root密码

 Webmin密码更改

#/usr/libexec/webmin/changepass.pl /etc/webmin admin

 Webmin卸载

#/etc/webmin/uninstall.sh

 

 

 

分类
Apple

升级iOS 5.1.1出现3194错误 该如何解决

iOS 5.1.1完美越狱的方法出来了,不少果粉们都开始升级到iOS 5.1.1版本了。可能很多果粉可能会在升级的过程中出现了“未能更新xxx。发生未知错误(3194)”的问题。ITGeeker技术奇客这里详细介绍两种解决方法,希望对大家有所帮助。

错误的弹出警告信息

查询gs.apple.com的ip

gs.apple.com是苹果官方的验证服务器,所以要保证电脑能够正常的访问这个服务器。有些dns可能解析的问题让你无法连接到这个服务器,造成了3194错误的产生。

查询方法1:nslookup命令行

这个网上就有方法,对于小白稍微有点点难度。

运行 -> CMD -> 输入“nslookup gs.apple.com”(不包含引号)

看红色框框的ip地址,这个就是正确的ip。

查询方法2:ip138网站查询

登录 www.ip138.com,在“IP地址或者域名”输入“gs.apple.com”(不包含引号),点击查询按钮,就可以查询到正确的ip地址了。

修改hosts文件

在地址栏输入“C:WindowsSystem32driversetc”,用文本编辑器来打开hosts文件,加入一行:

17.171.36.30 gs.apple.com

然后保存。

4、重新itunes或者电脑

然后再进行iOS 5.1.1的升级。如果不成功,多试验几次吧。