标签: DNS

  • 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
    
  • 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吧!

     

  • 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

     

     

     

  • 升级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的升级。如果不成功,多试验几次吧。

奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4