0%

OneinStack 自带了Let’s Encrypt安装组件,想要使用SSL证书的朋友只需要在创建网站时输入域名,然后就可以自动为域名配置SSL证书了,并且OneinStack 还会贴心地设置Let’s Encrypt证书自动续期。至于其它的Memcached、Redis、ionCube、ZendGuardLoader等都可以一键安装。

OneinStack一键安装脚本-轻松部署Let’s Encrypt证书和配置Https站点

本篇文章就来分享一下我使用OneinStack面板的一些心得与体会,更多的关于建站软件与建站工具,你可以看看:

  1. Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持
  2. ConoHa日本VPS主机使用感受-东京机房速度一般支付宝付款
  3. 用JW Player,ckplayer,Smartideo搭建视频直播站-支持各大视频网站和rtmp

一、OneinStack安装方法

OneinStack支持一键安装的操作系统有:CentOS 6~7(包括redhat) 、Debian 6~8 、Ubuntu 12~16 、Aliyun Linux 15.1。主要包括以下组合:

lnmp(Linux + Nginx+ MySQL+ PHP)

lamp(Linux + Apache+ MySQL+ PHP)

lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache):Nginx处理静态,Apache(mod_php)处理动态PHP

lnmt(Linux + Nginx+ MySQL+ Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA

lnmh(Linux + Nginx+ MySQL+ HHVM)

OneinStack安装命令如下(如果有新的变化,请参考官网:https://oneinstack.com/):

1
2
3
4
5
6
7
8
9
yum -y install wget screen curl python #for CentOS/Redhat
# apt-get -y install wget screen curl python #for Debian/Ubuntu
wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz #阿里云经典网络下载
wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz #包含源码,国内外均可下载
wget http://mirrors.linuxeye.com/oneinstack.tar.gz #不包含源码,建议仅国外主机下载
tar xzf oneinstack-full.tar.gz
cd oneinstack #如果需要修改目录(安装、数据存储、Nginx日志),请修改options.conf文件
screen -S oneinstack #如果网路出现中断,可以执行命令`screen -R oneinstack`重新连接安装窗口
./install.sh #注:请勿sh install.sh或者bash install.sh这样执行

在安装过程中,脚本会让你先选择是否安装Nginx、Apache等。根据你自己的需要来选择不同的版本来安装,如果只是建站的话建议使用LNMP,不要使用LNMPA。

OneinStack选择Nginx

接着会要求你选择MysqL数据库版本,5.7版本在性能上有所提升,但是有些程序可能无法兼容MysqL 5.7以下,请谨慎安装与使用。

OneinStack选择MysqL版本

最后就是选择安装PHP的版本,还有各种组件,包括了缓存ZendOPcache、xcache、apcu、eAccelerator;php加解密工具ionCube、ZendGuardLoader ;还有Memcached、Redis等等。

OneinStack安装组件

这是OneinStack安装成功的界面。

OneinStack安装成功

打开你的IP,你就可以看到OneinStack默认页面了,这里会有探针、PHPmyAdmin等,直接点击就可以打开了。建议在正式生产环境中将此页面重命名或者直接删除,防止被人利用。

OneinStack探针

二、OneinStack一键部署Https站点

首先,如果你自己没有购买证书的话,可以先安装OneinStack提供的Let’s Encrypt申请部署组件,执行命令:./addons.sh,选择Let’s Encrypt安装。

OneinStack添加证书组件

接着,到你的域名DNS管理处,将域名的A记录解析到服务器上,因为我们在申请Let’s Encrypt证书时需要验证域名,如果没有解析会出失败的情况。

OneinStack解析域名

然后,你就可以执行命令:./vhost.sh,开始添加新的虚拟主机了。下面的配置是绑定wzfou.net域名,同时将www跳转到非www的,其它的文件目录都是默认,在最后一项选择安装Let’s Encrypt。

OneinStack创建网站

最后,选择OneinStack提供的默认URL重写规则,自带了Wordpress、DZ、typecho等热门程序。这是OneinStack添加虚拟主机成功的界面。

OneinStack添加网站成功

打开你的域名,这时你就可以看到Https站点已经部署成功了。

OneinStack站点部署Https成功

三、OneinStack多版本PHP共存

经过测试,LNMP 1.4实现多版本PHP共存比较简单,有这个需要的朋友建议使用LNMP 1.4:Linux VPS建站工具LNMP 1.4安装与使用-SSL自动配置续期和多版本PHP支持

OneinStack实现多版本PHP有些麻烦,以下内容参考自官网。如果你之前安装的是PHP 5.4,想要安装PHP 7,命令如下:

1
2
3
4
5
service php-fpm stop #后面需要再安装php,需要停止php
mv /etc/init.d/php-fpm{,_bk} #后面需要再安装php会覆盖,备份启动脚本
默认php5.4安装路径是/usr/local/php,如果再次安装会提示php已经安装,因此必须修改options.conf的php安装目录,将php7安装路径设置为/usr/local/php7,修改/root/oneinstack/options.conf:
php_install_dir=/usr/local/php7
再次执行./install.sh,选择Install php-7,其余均选择n,等待ing

修改php配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
service php-fpm stop #停止php7启动脚本
mv /etc/init.d/php-fpm /etc/init.d/php7-fpm #重命名php7启动脚本
mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm #恢复php5.4启动脚本
设置php5.4、php7开机自启动:
# CentOS:
chkconfig --add php7-fpm
chkconfig --add php-fpm
chkconfig php7-fpm on
chkconfig php-fpm on
# Ubuntu/Debian:
update-rc.d php7-fpm defaults
update-rc.d php-fpm defaults
防止php5.4、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:
listen = /dev/shm/php-cgi.sock
#改成
listen = /dev/shm/php7-cgi.sock
手工启动php5.4、php7:
service php-fpm start #启动php5.4
service php7-fpm start #启动php7

修改nginx虚拟主机配置文件:

1
2
3
4
5
6
./vhost.sh绑定域名,默认是运行在php5.4,如需要将网站运行在php7下,需要修改/usr/local/nginx/conf/vhost/www.oneinstack.com.conf(www.oneinstack.com改成自己绑定域名):
fastcgi_pass unix:/dev/shm/php-cgi.sock;
#改成
fastcgi_pass unix:/dev/shm/php7-cgi.sock;
重新加载nginx,使配置生效:
service nginx reload

四、使用OneinStack遇到的问题

第一个问题:let’s encpty SSL证书自动续期失败。我之前遇到过这样的问题,猜测的原因可能是OneinStack在执行let’s encpty 续期时因为80端口被Nginx占用而导致失败的。解决的办法停止Nginx,然后自己手动执行一下Crontab定时任务。或者直接强制执行:

1
/usr/local/python/bin/certbot renew –force-renewal –renew-hook “/etc/init.d/nginx reload”

第二个问题:修改PHP后不生效。这是因为在安装OneinStack时默认地给PHP环境默认加载了Opcache模块(PHP5.5、5.6、7.0、7.1),修改PHP代码后一般要1分钟后才见效。解决办法可以卸载Opcache,或者自己访问http://公网IP/ocp.php,重置缓存。

OneinStack重置缓存

第三个问题:OneinStack无法发送邮件。这是因为OneinStack没有PHP mail,你需要自己安装postfix或者使用第三方的SMTP如sendcloud、Amazon SES、MailGun等发送。

Oneinstack是一个Linux + Nginx+ Apache+MySQL/MongoDB+ PHP一键安装包,支持的模式有:lnmp、lamp、lnmpa、lnpp、lnmh等等。相对于LNMP.org的LNMP一键安装包,Oneinstack主要特点是版本更新很及时,特别适合愿意折腾的用户。

目前Oneinstack的PHP已经支持PHP 7.4了,喜欢尝鲜的朋友可以试试升级了,不过用于生产环境的话还是建议使用成熟的PHP版本,不容易出现问题。由于挖站否平时用Oneinstack建站,所以好多的折腾都是基于Oneinstack完成的,这篇就作一个收集整理汇总,以便于查找。

Oneinstack从入门到精通-Oneinstack安装与使用教程收集整理

更多的主机面板,这里有几个汇总专题可供参考:SolusVM从入门到精通服务器控制面板榜单WHMCS从入门到精通

Oneinstack从入门到精通-Oneinstack安装与使用教程收集整理

目录

教程地址

主要内容

安装

OneinStack一键安装

OneinStack一键安装脚本-轻松部署Let’s Encrypt证书配置Https站点

防火墙

Ping超时问题

解决ONEINSTACK PING超时问题-LINUX防火墙规则修改与恢复

模块

ngx_pagespeed模块

PageSpeed服务器优化神器-Nginx部署ngx_pagespeed模块和加速效果体验

Https

HTTPS和SSL优化

八个HTTPS和SSL优化使用心得-减少等待时间和降低Https性能损耗

HSTS

启用HSTS

启用HSTS并加入HSTS Preload List让网站Https访问更加安全-附删除HSTS方法

B-B-r

一键安装加速模块

VPS主机加速方法 – 一键安装加速模块 从“软件”上提升VPS主机速度

优化

开启TLSV1.3和Brotli压缩

网站优化加速-开启TLSV1.3和Brotli压缩-Oneinstack,LNMP,宝塔面板

缓存

Nginx fastcgi_cache缓存

WordPress开启Nginx fastcgi_cache缓存加速方法-Nginx配置实例

内存

php-fpm优化

Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题

TTRSS

自建RSS阅读器

自建RSS阅读器Tiny Tiny RSS安装和配置自动更新,全文RSS,更换主题,手机RSS登录

NextCloud

安装NextCloud

Oneinstack安装NextCloud以及使用Aria2离线下载和ocDownloader插件配置

测试环境:

硬件:一台主DNS服务器 一台从DNS服务器,一台子域DNS服务器  (一个有更改NS解析地址权限的二级域名) 系统:Centos 6.5 x86_64 BIND版本:9.9.5 下面是两台服务器的网络情况

[root@LookBack223 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

92.222.219.223 #DNS主服务器

=============================================================================

[root@LookBack226 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

92.222.219.226 #DNS从服务器

=============================================================================

[root@LookBack37 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

37.59.108.37 #DNS子域服务器

 


一、安装bind(由于现在的bind大版本有9和10,这里用9版本来测试。)

bind-9.9.5.tar.gz下载

(官方下载地址:http://www.isc.org/downloads/)

[root@LookBack223 ~]``# groupadd -g 153 -r named

[root@LookBack223 ~]``# useradd -g named -r -u 153 named

#在系统上创建一个GID为153 组名为named的系统组

#在系统上穿件一个UID为153 所在组为named 系统用户

[root@LookBack223 ~]``# yum groupinstall "Development tools" "Server Platform Development" -y

#安装开发库包,不然下面是编译不了的(自己安装make等程序也是可以的,这里只是为了取巧。)

[root@LookBack223 ~]``# wget -4c [http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz](http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz)

[root@LookBack223 ~]``# tar xf bind-9.9.5.tar.gz

[root@LookBack223 ~]``# cd bind-9.9.5

[root@LookBack223 bind-9.9.5]``# ./configure --prefix=/usr/local/bind995 --sysconfdir=/etc/named --disable-chroot --enable-threads --enable-ipv6

#指定bind安装到/usr/local/bind995目录下,指定配置文件在/etc/bind995目录下,关闭chroot功能,开启threads和ipv6功能,其他用默认,这里的编译选项请根据各自的实际需求来选择。

#如果能看到类似下面的信息且没有报错那么就可以继续往下走

========================================================================

Configuration summary:

------------------------------------------------------------------------

Optional features enabled:

Multiprocessing support (--``enable``-threads)

GSS-API (--with-gssapi)

Print backtrace on crash (--``enable``-backtrace)

Use symbol table for backtrace, named only (--``enable``-symtable)

Dynamically loadable zone (DLZ) drivers:

None

Features disabled or unavailable on this platform:

Response Rate Limiting (--``enable``-rrl)

PKCS``#11/Cryptoki support (--with-pkcs11)

New statistics (--``enable``-newstats)

Allow 'fixed' rrset-order (--``enable``-fixed-rrset)

Automated Testing Framework (--with-atf)

GOST algorithm support (--with-gost)

Python tools (--with-python)

XML statistics (--with-libxml2)

========================================================================

#开始编译

[root@localhost bind-9.9.5]``# make -j $(awk '/processor/{i++}}END{print i}' /proc/cpuinfo) && make install

 

[root@LookBack223 ~]``# dig -v

DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6

[root@LookBack223 ~]``# /usr/local/bind995/bin/dig -v

DiG 9.9.5

#系统上的虽然之前没有安装bind服务端但是客户端是有装的比如bind自带的dig程序,所以这里我们需要设置系统环境变量

[root@LookBack223 ~]``# echo "export PATH=/usr/local/bind/bin:/usr/local/bind/sbin:$PATH" > /etc/profile.d/bind.sh

[root@LookBack223 ~]``# ln -sv /usr/local/bind995 /usr/local/bind

[root@LookBack223 ~]``# . /etc/profile.d/bind.sh

[root@LookBack223 ~]``# echo $PATH

/usr/lib64/qt-3``.3``/bin``:``/usr/local/bind/bin``:``/usr/local/bind/sbin``:``/usr/local/sbin``:``/usr/local/bin``:``/sbin``:``/bin``:``/usr/sbin``:``/usr/bin``:``/root/bin

[root@LookBack223 ~]``# dig -v

DiG 9.9.5

#这时候就OK了

[root@LookBack223 ~]``# sed -i "$(awk '$1=="MANPATH"{n=NR}END{print n}' /etc/man.config)a MANPATHt/usr/local/bind/share/man" /etc/man.config

#导出帮助手册,是系统可以直接man named命令

如果有如下提示

awk``: 命令行:1: 致命错误: 无法以读模式打开文件“``/etc/man``.config”(没有那个文件或目录)

sed``:无法读取 /etc/man``.config:没有那个文件或目录

那就需要安装``man

[root@LookBack223 ~]``# yum install man -y


二、开始配置基础的配置文件

[root@LookBack223 ~]``# cat > /etc/named/named.conf << EOF

options {

directory "/var/named"``;

//``定义工作目录

recursion yes``;

//``允许递归

};

zone "." IN  {

type hint;

file "named.ca"``;

};

zone "localhost" IN  {

type master;

//``定义为主DNS  master

file "localhost.zone"``;

allow-update { none; };

//``不允许任何人更新

};

zone "0.0.127.in-addr.arpa"  IN  {

//``把127.0.0反向解析

type master;

file "127.0.0.zone"``;

allow-update { none; };

};

EOF

[root@LookBack223 ~]``# chown root:named /etc/named/named.conf

[root@LookBack223 ~]``# chmod 640 /etc/named/named.conf

[root@LookBack223 ~]``# mkdir -p /var/named/slaves

[root@LookBack223 ~]``# chown root:named /var/named/

[root@LookBack223 ~]``# chown named:named /var/named/slaves/

[root@LookBack223 ~]``# chmod 750 /var/named/

[root@LookBack223 ~]``# chmod 770 /var/named/slaves/

#制作相关配置文件和设置文件对应的权限

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果


下面开始来配置实现正向解析

[root@LookBack223 named]``# for i in $(grep 'file' /etc/named/named.conf awk -F'"' '{print$2}'); do touch /var/named/$i;chgrp named /var/named/$i;chmod 640 /var/named/$i;done

[root@LookBack223 named]``# pwd

/var/named

[root@LookBack223 named]``# tree

.

├── 127.0.0.zone

├── localhost.zone

├── named.ca

└── slaves

1 directory, 3 files

#到这里 几个基础的文件就都创建好了,现在需要不足文件里面的配置信息

[root@LookBack223 named]``# dig -t NS . @a.root-servers.net. > /var/named/named.ca

#获取13台根服务器的配置文件,我们上面已经配置了将跟解析放在/var/named/named.cd,所以我么直接用dig命令将结果重定向过去就好了

 

####下面是3个文件的配置内容####

[root@LookBack223 named]``# cat named.ca

; > DiG 9.9.5 > -t NS . @a.root-servers.net.

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id``: 18948

;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 25

;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;.              IN  NS

;; ANSWER SECTION:

.           518400  IN  NS  b.root-servers.net.

.           518400  IN  NS  h.root-servers.net.

.           518400  IN  NS  i.root-servers.net.

.           518400  IN  NS  l.root-servers.net.

.           518400  IN  NS  f.root-servers.net.

.           518400  IN  NS  g.root-servers.net.

.           518400  IN  NS  d.root-servers.net.

.           518400  IN  NS  j.root-servers.net.

.           518400  IN  NS  a.root-servers.net.

.           518400  IN  NS  k.root-servers.net.

.           518400  IN  NS  m.root-servers.net.

.           518400  IN  NS  c.root-servers.net.

.           518400  IN  NS  e.root-servers.net.

;; ADDITIONAL SECTION:

b.root-servers.net. 3600000 IN  A   192.228.79.201

b.root-servers.net. 3600000 IN  AAAA    2001:500:84::b

h.root-servers.net. 3600000 IN  A   128.63.2.53

h.root-servers.net. 3600000 IN  AAAA    2001:500:1::803f:235

i.root-servers.net. 3600000 IN  A   192.36.148.17

i.root-servers.net. 3600000 IN  AAAA    2001:7fe::53

l.root-servers.net. 3600000 IN  A   199.7.83.42

l.root-servers.net. 3600000 IN  AAAA    2001:500:3::42

f.root-servers.net. 3600000 IN  A   192.5.5.241

f.root-servers.net. 3600000 IN  AAAA    2001:500:2f::f

g.root-servers.net. 3600000 IN  A   192.112.36.4

d.root-servers.net. 3600000 IN  A   199.7.91.13

d.root-servers.net. 3600000 IN  AAAA    2001:500:2d::d

j.root-servers.net. 3600000 IN  A   192.58.128.30

j.root-servers.net. 3600000 IN  AAAA    2001:503:c27::2:30

a.root-servers.net. 3600000 IN  A   198.41.0.4

a.root-servers.net. 3600000 IN  AAAA    2001:503:ba3e::2:30

k.root-servers.net. 3600000 IN  A   193.0.14.129

k.root-servers.net. 3600000 IN  AAAA    2001:7fd::1

m.root-servers.net. 3600000 IN  A   202.12.27.33

m.root-servers.net. 3600000 IN  AAAA    2001:dc3::35

c.root-servers.net. 3600000 IN  A   192.33.4.12

c.root-servers.net. 3600000 IN  AAAA    2001:500:2::c

e.root-servers.net. 3600000 IN  A   192.203.230.10

;; Query time``: 65 msec

;; SERVER: 198.41.0.4``#53(198.41.0.4)

;; WHEN: Wed Aug 06 05:22:48 UTC 2014

;; MSG SIZE  rcvd: 755

[root@LookBack223 named]``# cat localhost.zone

$TTL 86400

@   IN  SOA localhost.  admin.05hd.org. (

2014080601

3H

15M

7D

1D )

IN  NS  localhost.

IN  A   172.0.0.1

[root@LookBack223 named]``# cat 127.0.0.zone

$TTL 86400

@   IN  SOA localhost.  admin.05hd.org. (

2014080601

3H

15M

7D

1D )

IN  NS  localhost.

1   IN  PTR localhost.

 

[root@LookBack223 named]``# chgrp named 127.0.0.zone localhost.zone named.ca

[root@LookBack223 named]``# chmod 640 127.0.0.zone localhost.zone named.ca

[root@LookBack223 named]``# ll

total 16

-rw-r----- 1 root  named  128 Aug  6 06:24 127.0.0.zone

-rw-r----- 1 root  named  124 Aug  6 06:23 localhost.zone

-rw-r----- 1 root  named 2177 Aug  6 06:11 named.ca

drwxrwx--- 2 named named 4096 Aug  6 05:04 slaves

#修改3个文件的属主属组和权限

 

[root@LookBack223 named]``# named-checkconf

[root@LookBack223 named]``# named-checkconf /etc/named/named.conf

[root@LookBack223 named]``# named-checkzone "localhost" /var/named/localhost.zone

zone localhost``/IN``: loaded serial 2014080601

OK

[root@LookBack223 named]``# named-checkzone "0.0.127.in-addr.arpa" /var/named/127.0.0.zone

zone 0.0.127.``in``-addr.arpa``/IN``: loaded serial 2014080601

OK

##检测配置文件如下图

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

到了这里我们就可以启动服务来测试了,但是这里的bind是我们编译安装的,编译安装是没有启动脚本的,下面制作启动脚本 将下面的内容保存为**/etc/rc.d/init.d/named (注意下面的高亮的两行中的bind安装目录,我这里安装在/usr/local/bind995就用这,其安装在其他目录请根据情况做修改)**

[root@LookBack223 named]``# wget -c4 [http://www.05hd.com/named.sh](http://www.05hd.com/named.sh) -O /etc/rc.d/init.d/named

##可以用上面的命令下载启动脚本 也可以用下面的源码自建 更可以自己手写启动脚本

#!/bin/bash

#

# description: named daemon

# chkconfig: - 25 80

#

pidFile=``/usr/local/bind995/var/run/named``.pid

lockFile=``/var/lock/subsys/named

confFile=``/etc/named/named``.conf

[ -r /etc/rc``.d``/init``.d``/functions ] && . /etc/rc``.d``/init``.d``/functions

start() {

if [ -e $lockFile ]; then

echo "named is already running..."

exit 0

fi

echo -n "Starting named:"

daemon --pidfile "$pidFile" /usr/local/bind995/sbin/named -u named -c "$confFile"

RETVAL=$?

echo

if [ $RETVAL -``eq 0 ]; then

touch $lockFile

return $RETVAL

else

rm -f $lockFile $pidFile

return 1

fi

}

stop() {

if [ ! -e $lockFile ]; then

echo "named is stopped."

# exit 0

fi

echo -n "Stopping named:"

killproc named

RETVAL=$?

echo

if [ $RETVAL -``eq 0 ];``then

rm -f $lockFile $pidFile

return 0

else

echo "Cannot stop named."

failure

return 1

fi

}

restart() {

stop

sleep 2

start

}

reload() {

echo -n "Reloading named: "

killproc named -HUP

#killall -HUP named

RETVAL=$?

echo

return $RETVAL

}

status() {

if pidof named &> /dev/null``; then

echo -n "named is running..."

success

echo

else

echo -n "named is stopped..."

success

echo

fi

}

usage() {

echo "Usage: named {startstoprestartstatusreload}"

}

case $1 in

start)

start ;;

stop)

stop ;;

restart)

restart ;;

status)

status ;;

reload)

reload ;;

*)

usage

exit 4

;;

esac

<a href=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解45.png"``><img class=``"attachment-medium" src=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解45.png" alt=``"bind使用详解45"  /><``/a``>

 

[root@LookBack223 named]``# chmod +x /etc/rc.d/init.d/named

[root@LookBack223 named]``# chkconfig --add named

[root@LookBack223 named]``# chkconfig named on

[root@LookBack223 named]``# chkconfig --list named

named           0:off   1:off   2:on    3:on    4:on    5:on    6:off

下面来测试启动脚本的正常与否 开始来启动named服务

[root@LookBack223 named]``# service named start

Starting named:                                            [  OK  ]

[root@LookBack223 named]``# service named restart

Stopping named:                                            [  OK  ]

Starting named:                                            [  OK  ]

[root@LookBack223 named]``# service named stop

Stopping named:                                            [  OK  ]

[root@LookBack223 named]``# service named start

Starting named:                                            [  OK  ]

[root@LookBack223 named]``# service named status

named is running...                                        [  OK  ]

来看下服务器启动情况和端口监听正常不

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

下面两图可以看出 服务器上的dns服务器已经OK了。

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果


三、现在来开始做域名正反向解析了

先来看看用于测试域名的为zeaxion.com

1、正向域解析配置

在/etc/named/named.conf配置文件里面追加下面的内容

zone "zeaxion.com"   IN  {

type master;

file "zeaxion.com.zone"``;

};

如下图: 自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

创建/var/named/zeaxion.com.zone文件并写好配置内容

[root@LookBack223 named]``# touch /var/named/zeaxion.com.zone

[root@LookBack223 named]``# chgrp named /var/named/zeaxion.com.zone

[root@LookBack223 named]``# chmod 640 /var/named/zeaxion.com.zone

[root@LookBack223 named]``# cat zeaxion.com.zone

$TTL 600

@   IN  SOA ns.zeaxion.com. admin.zeaxion.com. (

;\ 上面的admin.zeaxion.com.其实邮箱地址,在这里邮箱地址不能使用@所以要使用.

2014080601

1H

10M

7D

2H )

IN  NS      ns.zeaxion.com.

IN  MX  10  mxdomain.qq.com.

ns.zeaxion.com. IN  A   106.186.17.185

www.zeaxion.com.    IN  A   106.186.17.185

manage.zeaxion.com. IN  A   106.186.17.185

如下图 自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果 然后检测下配置文件可有写法格式错误 自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

到了这里我们需要去域名注册商处将域名的ns设置成ns.zeaxion.com和ns2.zeaxion.com,设置好了之后我们来看看在互联网上这个域名的DNS解析是否OK了

[root@LookBack226 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

92.222.219.226

[root@LookBack226 ~]``# dig +trace -t A www.zeaxion.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> +trace -t A www.zeaxion.com

;; global options: +cmd

.           509310  IN  NS  e.root-servers.net.

.           509310  IN  NS  a.root-servers.net.

.           509310  IN  NS  l.root-servers.net.

.           509310  IN  NS  d.root-servers.net.

.           509310  IN  NS  b.root-servers.net.

.           509310  IN  NS  m.root-servers.net.

.           509310  IN  NS  h.root-servers.net.

.           509310  IN  NS  f.root-servers.net.

.           509310  IN  NS  g.root-servers.net.

.           509310  IN  NS  j.root-servers.net.

.           509310  IN  NS  c.root-servers.net.

.           509310  IN  NS  k.root-servers.net.

.           509310  IN  NS  i.root-servers.net.

;; Received 228 bytes from 127.0.0.1``#53(127.0.0.1) in 2151 ms

com.            172800  IN  NS  a.gtld-servers.net.

com.            172800  IN  NS  b.gtld-servers.net.

com.            172800  IN  NS  c.gtld-servers.net.

com.            172800  IN  NS  d.gtld-servers.net.

com.            172800  IN  NS  e.gtld-servers.net.

com.            172800  IN  NS  f.gtld-servers.net.

com.            172800  IN  NS  g.gtld-servers.net.

com.            172800  IN  NS  h.gtld-servers.net.

com.            172800  IN  NS  i.gtld-servers.net.

com.            172800  IN  NS  j.gtld-servers.net.

com.            172800  IN  NS  k.gtld-servers.net.

com.            172800  IN  NS  l.gtld-servers.net.

com.            172800  IN  NS  m.gtld-servers.net.

;; Received 493 bytes from 198.41.0.4``#53(198.41.0.4) in 1180 ms

zeaxion.com.        172800  IN  NS  ns.zeaxion.com.

zeaxion.com.        172800  IN  NS  ns2.zeaxion.com.

;; Received 100 bytes from 2001:503:a83e::2:30``#53(2001:503:a83e::2:30) in 23 ms

www.zeaxion.com.    600 IN  A   106.186.17.185

zeaxion.com.        600 IN  NS  ns.zeaxion.com.

zeaxion.com.        600 IN  NS  ns2.zeaxion.com.

;; Received 116 bytes from 92.222.219.223``#53(92.222.219.223) in 0 ms

以上可以看出现在我们的基本的域名DNS解析已经搞定了。

2、反向域解析配置

在/etc/named/named.conf文件中加入

[root@LookBack223 named]``# zone  "219.222.92.in-addr.arpa"   {

type master;

file "92.222.219.zone"``;

};

创建一个/var/named/92.222.219.zone的文件,注意文件的属主数组权限,也可以用下面的命令自动生成/etc/named/named.conf配置内容需要的文件了,

[root@LookBack223 named]``# for i in $(grep 'file' /etc/named/named.conf awk -F'"' '{print$2}'); do touch /var/named/$i;chgrp named /var/named/$i;chmod 640 /var/named/$i;done

来看下/var/named/92.222.219.zone文件怎么做反接配置的 自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

[root@LookBack223 named]``# cat !$

cat 92.222.219.zone

$TTL 600

@   IN  SOA ns.zeaxion.com. admin.zeaxion.com. (

2014080601

1H

10M

7D

2H )

IN  NS      ns.zeaxion.com.

IN  NS      ns2.zeaxion.com.

219 IN  PTR     ns.zeaxion.com.

226 IN  PTR     ns2.zeaxion.com.

;106.186.17.185 IN  PTR zeaxion.com.

;106.186.17.185 IN  PTR www.zeaxion.com.

;106.186.17.185 IN  PTR manage.zeaxion.com.

####最后的3行不能用。。。请注意。。

接着来检测下配置文件,如果没有错误就让named重新载入下配置文件 自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

[root@LookBack223 named]``# named-checkconf

[root@LookBack223 named]``# named-checkzone "219.222.92.in-addr.arpa" 92.222.219.zone

zone 219.222.92.``in``-addr.arpa``/IN``: loaded serial 2014080601

OK

[root@LookBack223 named]``# service named reload

Reloading named:                                           [  OK  ]

[root@LookBack223 named]``#

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

[root@LookBack226 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

92.222.219.226

[root@LookBack226 ~]``# dig -x 92.222.219.223 @92.222.219.223

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -x 92.222.219.223 @92.222.219.223

;; global options: +cmd

;; Got answer:

;; ->>HEADER<> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t AXFR 219.222.92.``in``-addr.arpa @92.222.219.223

;; global options: +cmd

219.222.92.``in``-addr.arpa. 600    IN  SOA ns.zeaxion.com. admin.zeaxion.com. 2014080601 3600 600 604800 7200

219.222.92.``in``-addr.arpa. 600    IN  NS  ns.zeaxion.com.

219.222.92.``in``-addr.arpa. 600    IN  NS  ns2.zeaxion.com.

223.219.222.92.``in``-addr.arpa. 600 IN PTR ns.zeaxion.com.

226.219.222.92.``in``-addr.arpa. 600 IN PTR ns2.zeaxion.com.

219.222.92.``in``-addr.arpa. 600    IN  SOA ns.zeaxion.com. admin.zeaxion.com. 2014080601 3600 600 604800 7200

;; Query time``: 1 msec

;; SERVER: 92.222.219.223``#53(92.222.219.223)

;; WHEN: Wed Aug  6 15:26:04 2014

;; XFR size: 6 records (messages 1, bytes 201)

到此 反向解析也配置好了。


四、配置多DNS主从复制

做主从复制的时候需要注意的几点的事情 (1)、从服务器的bind版本必须大于等于主服务器的bind版本。因为程序都是采取向下兼容的规则。如果从服务器版本低于主服务器那么很可能因为程序功能的改变导致失败 所以这里我们还是采取编译安装从服务器这样就可以保证主从服务器的bind都为同一版本。因为之前已经编译了一次 这里就不详说从服务器的编译安装过程了。直接使用下面的命令就可以了。 (2)、主从服务器的时间需要相对一致,所以我们这里给主从服务器都做NTP在线时间同步。http://www.pool.ntp.org/en/

[root@LookBack226 ~]```# echo "*/3 * * * *which ntpdate` fr.pool.ntp.org &> /dev/null” /var/spool/cron/root``

[root@LookBack226 ~]``# ntpdate fr.pool.ntp.org

6 Aug 15:58:38 ntpdate[21702]: Can't adjust the time of day: Operation not permitted

我这里由于2台测试机都是openvz的虚拟机,被机房设置不能修改时间,因为虚拟机需要和母机做同步时间,那么我这里的时间问题就无需操心了。

安装完毕之后还是需要重新启动下shell 或者服务器。因为系统的环境变量有改变。

[root@LookBack226 ~]``# groupadd -g 153 -r named

[root@LookBack226 ~]``# useradd -g named -r -u 153 named

[root@LookBack226 ~]``# yum groupinstall "Development tools" "Server Platform Development" -y

[root@LookBack226 ~]``# wget -4c [http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz](http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz)

[root@LookBack226 ~]``# tar xf bind-9.9.5.tar.gz

[root@LookBack226 ~]``# cd bind-9.9.5

[root@LookBack226 bind-9.9.5]``# ./configure --prefix=/usr/local/bind995 --sysconfdir=/etc/named --disable-chroot --enable-threads --enable-ipv6

[root@LookBack226 bind-9.9.5]``# make && make install

[root@LookBack226 ~]``# echo "export PATH=/usr/local/bind995/bin:/usr/local/bind995/sbin:$PATH" > /etc/profile.d/bind995.sh

[root@LookBack226 ~]``# sed -i "$(cat /etc/man.config grep -nE '^MANPATH[[:space:]]+' tail -1 awk -F: '{print$1}')a MANPATHt/usr/local/bind995/share/man" /etc/man.config

[root@LookBack226 ~]``# wget -c4 [http://www.05hd.com/named.sh](http://www.05hd.com/named.sh) -O /etc/rc.d/init.d/named

[root@LookBack226 ~]``# chmod +x /etc/rc.d/init.d/named

[root@LookBack226 ~]``# chkconfig --add named

[root@LookBack226 ~]``# chkconfig named on

[root@LookBack226 ~]``# chown root:named /etc/named/named.conf

[root@LookBack226 ~]``# chmod 640 /etc/named/named.conf

[root@LookBack226 ~]``# mkdir -p /var/named/slaves

[root@LookBack226 ~]``# chown root:named /var/named/

[root@LookBack226 ~]``# chown named:named /var/named/slaves/

[root@LookBack226 ~]``# chmod 750 /var/named/

[root@LookBack226 ~]``# chmod 770 /var/named/slaves/

#上面的步骤做好了 新建个shell进程进服务器或者直接重启下服务器

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果 上图可以看出 bind已经编译安装好了 系统环境变量也做OK了

首先来配置从服务器

[root@LookBack226 ~]``# cat /etc/named/named.conf

options {

listen-on port 53 { 127.0.0.1; 92.222.219.226; };``//``这里记得要换成从服务器的IPV4地址哦

listen-on-v6 port 53 { 2001:41d0:52:300::10f8; };``//``这里记得要换成从服务器的IPV6地址哦

directory "/var/named"``;

//``定义工作目录

recursion yes``;

//``允许递归

};

zone "." IN {

type hint;

file "named.ca"``;

};

zone "localhost" IN {

type master;

//``设施为主 master

file "localhost.zone"``;

allow-update { none; };

//``不允许任何人更新

};

zone "0.0.127.in-addr.arpa" IN {

//``把127.0.0反向解析

type master;

file "127.0.0.zone"``;

allow-update { none; };

};

zone "zeaxion.com" IN {

type slave; //``设置为从服务器

file "slaves/zeaxion.com.zone"``; //``设置从服务器配置文件存放路径

masters { 92.222.219.223; }; //``配置主DNS服务器的IP地址

};

zone "219.222.92.in-addr.arpa" {

type slave;

file "slaves/92.222.219.zone"``;

masters { 92.222.219.223; };

};

配置好了主配置文件后 ,和上面一样创建一个bind的启动脚本,然后启动服务。

来看看从服务器上的端口监听状态

<a href=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解17.png"``><img class=``"attachment-medium" src=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解17.png" alt=``"bind使用详解17"  /><``/a``>

然后来看看从服务器上的文件是否同步成功。。

<a href=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解18.png"``><img class=``"attachment-medium" src=``"[http://www.dwhd.org/wp-content/uploads/2015/05/bind](http://www.dwhd.org/wp-content/uploads/2015/05/bind)使用详解18.png" alt=``"bind使用详解18"  /><``/a``>

来做下测试

 

[root@LookBack226 ~]``# ifconfig awk -F'[ :]+' '/inet addr/{print$4}' grep -vE "^127."

92.222.219.226

[root@LookBack226 ~]``# dig -x 92.222.219.223 @92.222.219.226

; <<>> DiG 9.9.5 <<>> -x 92.222.219.223 @92.222.219.226

;; global options: +cmd

;; Got answer:

;; ->>HEADER<> DiG 9.9.5 <<>> -x 92.222.219.226 @92.222.219.223

;; global options: +cmd

;; Got answer:

;; ->>HEADER<> DiG 9.9.5 <<>> -t AXFR 219.222.92.``in``-addr.arpa @92.222.219.226

;; global options: +cmd

219.222.92.``in``-addr.arpa. 600    IN  SOA ns.zeaxion.com. admin.zeaxion.com. 2014080601 3600 600 604800 7200

219.222.92.``in``-addr.arpa. 600    IN  NS  ns.zeaxion.com.

219.222.92.``in``-addr.arpa. 600    IN  NS  ns2.zeaxion.com.

223.219.222.92.``in``-addr.arpa. 600 IN PTR ns.zeaxion.com.

226.219.222.92.``in``-addr.arpa. 600 IN PTR ns2.zeaxion.com.

219.222.92.``in``-addr.arpa. 600    IN  SOA ns.zeaxion.com. admin.zeaxion.com. 2014080601 3600 600 604800 7200

;; Query time``: 0 msec

;; SERVER: 92.222.219.226``#53(92.222.219.226)

;; WHEN: Sat Aug 09 06:30:19 CEST 2014

;; XFR size: 6 records (messages 1, bytes 201)

[root@LookBack226 ~]``# dig -t A www.zeaxion.com @92.222.219.223

; <<>> DiG 9.9.5 <<>> -t A www.zeaxion.com @92.222.219.223

;; global options: +cmd

;; Got answer:

;; ->>HEADER<> DiG 9.9.5 <<>> -t A www.zeaxion.com @92.222.219.226

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果 可以看出从服务器已经同步OK了。好了 到了这里 主从同步就做好了


五、DNS正向子域授权的配置

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

其实DNS的子域授权只需要在父域的区域解析库中添加“胶水记录”就OK

下面来说说怎么配置子域授权DNS吧

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

这里就不说子域授权的DNS服务器编译安装BIND和基础配置文件生成的过程了

[root@LookBack37 ~]``# groupadd -g 153 -r named

[root@LookBack37 ~]``# useradd -g named -r -u 153 named

[root@LookBack37 ~]``# yum groupinstall "Development tools" "Server Platform Development" -y

[root@LookBack37 ~]``# wget -4c [http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz](http://www.05hd.com/wp-content/uploads/2014/08/bind-9.9.5.tar.gz)

[root@LookBack37 ~]``# tar xf bind-9.9.5.tar.gz

[root@LookBack37 ~]``# cd bind-9.9.5

[root@LookBack37 bind-9.9.5]``# ./configure --prefix=/usr/local/bind995 --sysconfdir=/etc/named --disable-chroot --enable-threads --enable-ipv6

[root@LookBack37 bind-9.9.5]``# make && make install

[root@LookBack37 ~]``# echo "export PATH=/usr/local/bind995/bin:/usr/local/bind995/sbin:$PATH" > /etc/profile.d/bind995.sh

[root@LookBack37 ~]``# sed -i "$(cat /etc/man.config grep -nE '^MANPATH[[:space:]]+' tail -1 awk -F: '{print$1}')a MANPATHt/usr/local/bind995/share/man" /etc/man.config

[root@LookBack37 ~]``# wget -c4 [http://www.05hd.com/named.sh](http://www.05hd.com/named.sh) -O /etc/rc.d/init.d/named

[root@LookBack37 ~]``# chmod +x /etc/rc.d/init.d/named

[root@LookBack37 ~]``# chkconfig --add named

[root@LookBack37 ~]``# chkconfig named on

[root@LookBack37 ~]``# chown root:named /etc/named/named.conf

[root@LookBack37 ~]``# chmod 640 /etc/named/named.conf

[root@LookBack37 ~]``# mkdir -p /var/named/slaves

[root@LookBack37 ~]``# chown root:named /var/named/

[root@LookBack37 ~]``# chown named:named /var/named/slaves/

[root@LookBack37 ~]``# chmod 750 /var/named/

[root@LookBack37 ~]``# chmod 770 /var/named/slaves/

#上面的步骤做好了 新建个shell进程进服务器或者直接重启下服务器

下面来配置主DNS服务器上的/var/named/zeaxion.com.zone文件

[root@LookBack1 named]``# pwd

/var/named

[root@LookBack1 named]``# cat zeaxion.com.zone

$TTL 600

@   IN  SOA ns.zeaxion.com. admin.zeaxion.com. (

;;上面的admin.zeaxion.com.其实邮箱地址,在这里邮箱地址不能使用@所以要使用.

2014080711

1H

10M

7D

2H )

IN  NS      ns.zeaxion.com.

IN  NS      ns2.zeaxion.com.

IN  MX  10  mxdomain.qq.com.

ns.zeaxion.com. IN  A           92.222.219.223

ns2.zeaxion.com. IN  A          92.222.219.226

www.zeaxion.com.    IN  A   106.186.17.185

web.zeaxion.com.    IN  A   106.186.17.185

manage.zeaxion.com. IN  A   106.186.17.185

ops.zeaxion.com.        IN      NS      ns.ops.zeaxion.com

nsops.zeaxion.com.    IN        A       37.59.108.37

配置好了来重启下服务

[root@LookBack1 named]``# /etc/init.d/named restart

Stopping named:                                            [  OK  ]

Starting named:                                            [  OK  ]

然后来看看效果

[root@LookBack1 named]``# dig -t NS ops.zeaxion.com @92.222.219.223

; <<>> DiG 9.9.5 <<>> -t NS ops.zeaxion.com @92.222.219.223

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

是不是这时候主DNS服务器就不能解析ops.zeaxion.com的域了 但是看看下面会发现我们的FQDN是有信息的

[root@LookBack1 named]``# dig -t AXFR zeaxion.com @92.222.219.226

; <<>> DiG 9.9.5 <<>> -t AXFR zeaxion.com @92.222.219.226

;; global options: +cmd

zeaxion.com.            600     IN      SOA     ns.zeaxion.com. admin.zeaxion.com. 2014080713 3600 600 604800 7200

zeaxion.com.            600     IN      MX      10 mxdomain.qq.com.

zeaxion.com.            600     IN      NS      ns.zeaxion.com.

zeaxion.com.            600     IN      NS      ns2.zeaxion.com.

manage.zeaxion.com.     600     IN      A       106.186.17.185

ns.zeaxion.com.         600     IN      A       92.222.219.223

ns2.zeaxion.com.        600     IN      A       92.222.219.226

ops.zeaxion.com.        600     IN      NS      ns.ops.zeaxion.com.

ns.ops.zeaxion.com.     600     IN      A       37.59.108.37

web.zeaxion.com.        600     IN      A       106.186.17.185

www.zeaxion.com.        600     IN      A       106.186.17.185

zeaxion.com.            600     IN      SOA     ns.zeaxion.com. admin.zeaxion.com. 2014080713 3600 600 604800 7200

;; Query time``: 0 msec

;; SERVER: 92.222.219.226``#53(92.222.219.226)

;; WHEN: Sat Aug 09 11:26:22 CEST 2014

;; XFR size: 12 records (messages 1, bytes 302)

这时候我们就可以得出 虽然我们在主DNS服务器上都建立了解析 但是这时候的ops.zeaxion.com的子域主DNS服务器是不负责解析了

下面来配置子域的/etc/named/named.conf文件

[root@LookBack37 ~]``# vi /etc/named/named.conf

[root@LookBack37 ~]``# cat !$

cat /etc/named/named``.conf

options {

listen-on port 53 { 127.0.0.1; 37.59.108.37; };

listen-on-v6 port 53 { 2001:41d0:51:1::d1c; };

directory "/var/named"``;

//``定义工作目录

recursion yes``;

//``允许递归

};

zone "."     IN      {

type hint;

file "named.ca"``;

};

zone "localhost"     IN      {

type master;

//``设施为主  master

file "localhost.zone"``;

allow-update { none; };

//``不允许任何人更新

};

zone "0.0.127.in-addr.arpa"  IN      {

//``把127.0.0反向解析

type master;

file "127.0.0.zone"``;

allow-update { none; };

};

zone "ops.zeaxion.com"   IN      {

type master;

file "ops.zeaxion.com.zone"``;

//allow-update { 127.0.0.1; };

};

再去/var/named/下创建需要的文件

[root@LookBack37 ~]``# for i in $(grep 'file' /etc/named/named.conf awk -F'"' '{print$2}'); do touch /var/named/$i;chgrp named /var/named/$i;chmod 640 /var/named/$i;done

[root@LookBack37 ~]``# cd /var/named/

[root@LookBack37 named]``# ls -l

total 8

-rw-r----- 1 root  named    0 Aug  9 11:43 127.0.0.zone

drwxrwx--- 2 named named 4096 Jan 20  2014 data

drwxrwx--- 2 named named 4096 Aug  9 09:02 dynamic

-rw-r----- 1 root  named    0 Aug  9 11:43 localhost.zone

-rw-r----- 1 root  named    0 Aug  9 11:43 named.ca

-rw-r----- 1 root  named    0 Aug  9 11:43 ops.zeaxion.com.zone

##我这里就直接用命令批量创建好了文件  等下去补充文件内容

##127.0.0.zone  localhost.zone  named.ca  这3个文件和主从DNS服务器上文件内容是一样的

下面是 127.0.0.zone localhost.zone named.ca 3个文件的内容

[root@LookBack223 named]``# cat 127.0.0.zone

$TTL 86400

@       IN      SOA     localhost.      admin.05hd.org. (

2014080601

3H

15M

7D

1D )

IN      NS      localhost.

1       IN      PTR     localhost.

[root@LookBack223 named]``# cat localhost.zone

$TTL 86400

@       IN      SOA     localhost.      admin.05hd.org. (

2014080601

3H

15M

7D

1D )

IN      NS      localhost.

IN      A       127.0.0.1

[root@LookBack223 named]``# cat named.ca

; <<>> DiG 9.9.5 <<>> -t NS . @a.root-servers.net.

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

下面来开始配置/var/named/ops.zeaxion.com.zone的配置文件

[root@LookBack37 named]``# cat ops.zeaxion.com.zone

$TTL 600

$ORIGIN ops.zeaxion.com.

@   IN  SOA ns.ops.zeaxion.com. admin.ops.zeaxion.com. (

2014080701 ;版本号

1H ;刷新时长

5M ;每5分钟做一次重试

3D ;过期时间

3H );否定回答时间)

IN NS ns ;这里ns后面不用写全了  因为第二行做了ORIGIN

IN  MX  10  mail

ns  IN  A   37.59.108.37

mail    IN  A   106.186.17.185

www IN  A   106.186.17.185

ftp IN  A   106.186.17.185

自建DNS服务,实现双DNS服务器主从复制、子域授权、转发、智能解析等效果

下面来启动子域服务器上DNS服务

[root@LookBack37 named]``# service named start

Starting named:                                            [  OK  ]

来测试下子域配置

[root@LookBack37 named]``# dig -t A www.ops.zeaxion.com @37.59.108.37

; <<>> DiG 9.9.5 <<>> -t A www.ops.zeaxion.com @37.59.108.37

;; global options: +cmd

;; Got answer:

;; ->>HEADER<> DiG 9.9.5 <<>> -t A www.ops.zeaxion.com @92.222.219.223

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

 

[root@LookBack223 named]``# dig -t A www.ops.zeaxion.com

; <<>> DiG 9.9.5 <<>> -t A www.ops.zeaxion.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

通过上面可以看出 不论是通过子域服务器查询还是通过父域查询 都可以了,也就是说到了这里 我们的子域服务器也OK了


六、配置转发

转发器顾名思义就是转发不是本机DNS所解析的服务至指定的服务器,这时候本机就是一个转发器了。 下面来看看第一种配置,转发器

[root@LookBack37 named]``# pwd

/etc/named

[root@LookBack37 named]``# cat named.conf

options {

listen-on port 53 { 127.0.0.1; 37.59.108.37; };

listen-on-v6 port 53 { 2001:41d0:51:1::d1c; };

directory "/var/named"``;

//``定义工作目录

recursion yes``;

//``允许递归

//forward only;

forward first;``//only 是先递归给指定服务器,如果没有答案那么结果就是没答案,first 是先递归查询 要是没答案就自己再找一圈

forwarders { 8.8.8.8; };``//``转发到哪个服务器上

};

下面来看看第二种配置,转发区域(只对指定的区域做转发,其他的任然是去根上查询)

#看zone  "zeaxion.com"   IN段中的配置,这里做了只转发zeaxion.com域的配置

[root@LookBack37 named]``# pwd

/etc/named

[root@LookBack37 named]``# cat named.conf

options {

listen-on port 53 { 127.0.0.1; 37.59.108.37; };

listen-on-v6 port 53 { 2001:41d0:51:1::d1c; };

directory "/var/named"``;

//``定义工作目录

recursion yes``;

//``允许递归

//forward only;

forward first;

forwarders { 8.8.8.8; };

};

zone "."     IN      {

type hint;

file "named.ca"``;

};

zone "localhost"     IN      {

type master;

//``设施为主  master

file "localhost.zone"``;

allow-update { none; };

//``不允许任何人更新

};

zone "0.0.127.in-addr.arpa"  IN      {

//``把127.0.0反向解析

type master;

file "127.0.0.zone"``;

allow-update { none; };

};

zone "ops.zeaxion.com"   IN      {

type master;

file "ops.zeaxion.com.zone"``;

//allow-update { 127.0.0.1; };

};

zone "zeaxion.com"   IN      {

type forward;

forward only;

forwarders { 92.222.219.223; 92.222.219.226; };

};

下面来看看效果

[root@LookBack37 named]``# dig -t A www.zeaxion.com @37.59.108.37

; <<>> DiG 9.9.5 <<>> -t A www.zeaxion.com @37.59.108.37

;; global options: +cmd

;; Got answer:

;; ->>HEADER<

老牌稳定商家推荐;OVZH.COM是一家专业的云计算托管服务商,自2017年以来,OVZH.COM为个人开发者和中小型企业客户提供了高质量稳定的专用服务器。以及其他各种托管和运维技术服务。并且专注于服务我们的客户,为每个客户提供了个性化一流的服务,我们与竞争对手的不同之处仅在于我们专注于为客户提供卓越的技术支持和企业级的托管服务。通过这几年的经验积累我们不仅可以在硬件和产品上提供最高质量的服务,而且还可以提供世界一流的24/7技术和客户支持。在OVZH.COM上,我们在发布新产品之前,我们所有的专用服务器都经过我们专业的技术人员严格测试才会上架我们的官网,在这里我们有最优质的价格和企业级的托管硬件,如有疑问或问题,请通过电话或邮件联系我们。OVZH.COM的专家团队竭诚为您带来满意的服务!

OVZH-VDS-CN2-GIA云产品

CN2 GIA线路是中国电信推出的高速线路,分为双三网CN2 GIA和单程CN2 GIA单程是指国内访问国外为高速线路,回程走的普通线路。双程三网cn2 GIA是去程与回程都是走的 高速线路,所以在这里我们OVZH.COM采用的是双程三网CN2 GIA也就是全程CN2 GIA高端线路。

https://i.ovzh.com/cart.php?gid=1

Cloud CN2 GIA 基础

¥50.00 CNY/mo

¥1.00 初装费

IPV4 1

CPU 1个物理核心

内存 768MB

突发内存 128MB

SSD硬盘 15GB

列阵 RAID10

系统 Linux

线路 CN2-GIA三网直连

带宽 100Mbps

宽带流量 500GB

设备 戴尔企业级硬件

由OVZH.COM云服务商提供支持®

严禁违反中美法律的内容

99.95%的正常运行时间SLA

Cloud CN2 GIA 标准

¥80.00 CNY/mo

¥1.00 初装费

IPV4 1

CPU 1个物理核心

内存 1332MB

突发内存 256MB

SSD硬盘 25GB

列阵 RAID10

系统 Linux

线路 CN2-GIA三网直连

带宽 100Mbps

宽带流量 1TB

设备 戴尔企业级硬件

由OVZH.COM云服务商提供支持®

严禁违反中美法律的内容

99.95%的正常运行时间SLA

OVZH-A-VDS-SERVERS 百分比 30% 优惠

OVZH-B-VDS-SERVERS 百分比 35% 优惠

OVZH-C-VDS-SERVERS 百分比 40% 优惠

OVZH-D-VDS-SERVERS 百分比 45% 优惠

OVZH-E-VDS-SERVERS 百分比 48% 优惠

OVZH-F-VDS-SERVERS 百分比 50% 优惠

服务器采用国际主流的 Linux+Apache+Mysql+PHP 架构. 完美支持 WordPress、Discuz、Joomla、Drupal、PHPwind、MediaWiki、phpBB、PHPcms、shopex、ecshop、帝国CMS、ZenCart、Typecho 等各种由 PHP+Mysql 构成的程序

OVZH-Hosting 云主机产品

https://i.ovzh.com/cart.php?gid=4

OVZH-HOST1-ovzhcom  百分比 50% 优惠

OVZH-HOST2-ovzhcom  百分比 55% 优惠

基础

¥6.00 CNY/mo

¥1.00 初装费

IPV4 1

网站 2

DDOS防御 80GB

SSD硬盘 1000MB

流量 1TB

提供 数据安全

提供 自动备份

提供 定时任务

提供 DDOS保护

提供 一键SSL开启

PHP5.6-7.4版本自由切换

OVZH-Hosting 分销云主机产品

https://i.ovzh.com/cart.php?gid=8

OVZH-HOST3-ovzhcom  百分比 60% 优惠

OVZH-HOST4-ovzhcom  百分比 66% 优惠

基础

¥10.00 CNY/mo

¥1.00 初装费

磁盘空间 10GB Raid10 SSD

每月流量 300GB

客户数量 5个独立客户

CPU 2核

内存 2GB

IPv4地址 1枚

超额销售 允许

云备份 支持

提供 数据安全

提供 定时任务

提供 定时采集

提供 DDOS保护

提供 一键SSL开启

提供 Cloudflare Pro

PHP5.6-7.4版本自由切换

跑在什么什么上面好呢? 我的首选当然是创建一个PVE里的CT来跑了,这种轻量级虚拟化的好处有如下几点: 1.占用存储空间较少 (由于我这台机器存储空间比较紧张,所以必然选择这种方式啦). 2.性能损耗几乎为0,与物理机拥有相同的性能. 3.当然还有就是搭建方便快捷啦,turnkeylinux上面有海量的模板,几乎你需要的在上面都能找到(例如docker plex jellyfin emby 等等..). 总结一下就是,性能好占用少还方便!! 香~. 服务器程序我选择的是Jellyfin,听说硬件转码是免费的.

搭建过程非常简单无脑: 1.下载模板: 模板可能要使用科学的方式获取,大家应该都懂。   或者也可以自行网上搜索,替换一下国内镜像.   否则下载速度感人.

  2.创建CT. 第一步记得要把无特权容器的选项去掉,否则会创建不成功. 模板选择我们刚刚下载好的mediaserve 接下来的步骤就按照自己的需求分配CPU 内存等资源就可以了. 3.配置mediaserver     由于是CT,所以这一步非常之简单,开机后输入用户名密码,直接就会跳出设置向导,按照提示设置smb密码,jellyfin等等的密码即可.结束后会提示你各个后台的地址,打开浏览器访问即可     

搭建完成后,兴致冲冲的放了一段DOOM的演示视频(1080p 40m比特率)的视频测试转码性能. 但是发现开启转码后,CPU占用率直接飙升到95%,这必须得折腾一下硬件加速了:

4.配置CT渲染设备节点,开启硬件加速: 默认情况下.LXC并不会自动映射dev目录下的设备节点文件.所以我们首先需要修改配置文件,使LXC自动映射dev下的设备文件. 首先我们需要在host(pve) shell中确认一下host设备文件的情况,标红的参数我们需要用到: root@pve:~# ls -l /dev/dri/ total 0 drwxr-xr-x 2 root root         80 Apr 20 12:24 by-path crw-rw—- 1 root video  226,   0 Apr 20 12:24 card0 crw-rw—- 1 root render 226, 128 Apr 20 12:24 renderD128 video  id: 226,   0 render id:226, 128 修改LXC的配置文件,路径为/etc/pve/lxc/{你的CT ID}.conf.

例如我的CT ID是100,所以对应的文件是/etc/pve/lxc/100.conf 使用编辑器打开该文件进行编辑:

vim /etc/pve/lxc/100.conf 将以下内容添加到文件末尾(将对应的id替换成自己的): lxc.cgroup.devices.allow = c 226:0 rwm lxc.cgroup.devices.allow = c 226:128 rwm lxc.autodev: 1 lxc.hook.autodev:/var/lib/lxc/100/render_device_hook.sh

CT启动的时候,会执行lxc.hook.autodev里的内容,我们需要手动创建对应的节点文件 还是一样,使用编辑器创建并打开脚本文件:

  1. vim /var/lib/lxc/100/render_device_hook.sh

复制代码

将以下内容添加到文件中(一样,还是要替换成自己的设备id): mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0 mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

最后设置文件权限:

  1. chmod 755 /var/lib/lxc/100/render_device_hook.sh

复制代码

这样,我们CT的配置就修改好了,现在去启动CT吧. 启动后,我们还需要在CT里安装VA的驱动文件,以下命令均在CT内执行: apt-get install i965-va-driver apt-get install vainfo

安装完成后执行vainfo命令,如果打印如下类似信息就表明硬件转码已经可用了: root@mediaserver ~# vainfo error: XDG_RUNTIME_DIR not set in the environment. error: can’t connect to X server! libva info: VA-API version 0.39.4 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.39 (libva 1.7.3) vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake - 1.7.3 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple            :        VAEntrypointVLD VAProfileMPEG2Simple            :        VAEntrypointEncSlice VAProfileMPEG2Main              :        VAEntrypointVLD VAProfileMPEG2Main              :        VAEntrypointEncSlice VAProfileH264ConstrainedBaseline:        VAEntrypointVLD VAProfileH264ConstrainedBaseline:        VAEntrypointEncSlice VAProfileH264Main               :        VAEntrypointVLD VAProfileH264Main               :        VAEntrypointEncSlice VAProfileH264High               :        VAEntrypointVLD VAProfileH264High               :        VAEntrypointEncSlice VAProfileH264MultiviewHigh      :        VAEntrypointVLD VAProfileH264MultiviewHigh      :        VAEntrypointEncSlice VAProfileH264StereoHigh         :        VAEntrypointVLD VAProfileH264StereoHigh         :        VAEntrypointEncSlice VAProfileVC1Simple              :        VAEntrypointVLD VAProfileVC1Main                :        VAEntrypointVLD VAProfileVC1Advanced            :        VAEntrypointVLD VAProfileNone                   :        VAEntrypointVideoProc VAProfileJPEGBaseline           :        VAEntrypointVLD VAProfileJPEGBaseline           :        VAEntrypointEncPicture VAProfileVP8Version0_3          :        VAEntrypointVLD VAProfileVP8Version0_3          :        VAEntrypointEncSlice VAProfileHEVCMain               :        VAEntrypointVLD VAProfileHEVCMain               :        VAEntrypointEncSlice VAProfileHEVCMain10             :        VAEntrypointVLD VAProfileHEVCMain10             :        VAEntrypointEncSlice VAProfileVP9Profile0            :        VAEntrypointVLD VAProfileVP9Profile0            :        VAEntrypointEncSlice VAProfileVP9Profile2            :        VAEntrypointVLD

现在再到Jellyfin的控制台,将转码的硬件加速设置为VA API,在转码再看看CPU占用以及拖动视频的相应速度~:

Enjoy….

SSD固态硬盘的磁盘性能虽然很高,但是如果它经常处于节能休眠模式,那么性能肯定会大打折扣的。并且对于固态硬盘这样的闪存设备来说,耗电量并不高,所以没有必要为了节能而限制它的性能,有些得不偿失。下面MS酋长就来分享一下从Windows10电源管理着手来阻止固态硬盘进入休眠节省状态,从而提升磁盘性能的技巧。

PS: 鉴于目前SSD存在SATA、M.2(NVMe)两种接口,在电源管理上这两者是不同的,所以下面MS酋长分类进行介绍。

适用于SATA SSD

一、为电源管理添加节能模式控制选项

右键点击Win10开始按钮,在弹出的菜单中选择“Windows PowerShell(管理员)”,打开“管理员: Windows PowerShell”窗口,输入并回车运行以下命令:

powercfg -attributes 0012ee47-9041-4b5d-9b77-535fba8b1442 0b2d69d7-a2a1-449c-9680-f91c70521c60 -ATTRIB_HIDE

然后打开“高级电源设置”窗口。方法是:

依然进入“Windows设置 - 系统 - 电源和睡眠”设置界面,点击底部的“其他电源设置”。如图:

改造Win10电源管理提升SSD固态硬盘性能

这时会打开“控制面板\硬件和声音\电源选项”窗口。如图:

改造Win10电源管理提升SSD固态硬盘性能

点击当前电源计划右侧的“更改计划设置”打开“编辑计划设置”窗口。如图:

改造Win10电源管理提升SSD固态硬盘性能

点击底部的“更改电源高级设置”即可打开“电源选项 - 高级设置”窗口。如图:

改造Win10电源管理提升SSD固态硬盘性能

展开“硬盘”设置项,你就可以看到刚刚添加的“AHCI Link Power Management - HIPM/DIPM”设置项了。

其下拉列表中几个选项的含义如下:

  • HIPM - 主机控制
  • DIPM - 设备控制
  • HIPM + DIPM - 混合控制
  • Lowest - 最低功耗模式
  • Active - 关闭节能模式

很明显,我们要保持SSD最佳性能,只需选择 Active 完全关闭节能模式即可。

二、为电源管理添加低功耗模式自适应选项

同样以管理员身份运行 Windows PowerShell ,输入并回车运行以下命令:

powercfg -attributes 0012ee47-9041-4b5d-9b77-535fba8b1442 dab60367-53fe-4fbc-825e-521d069d2456 -ATTRIB_HIDE

然后打开“高级电源设置”窗口,你就可以看到新增加的“AHCI Link Power Management - Adaptive”选项。如图:

改造Win10电源管理提升SSD固态硬盘性能

这里可以设置固态硬盘空闲后进入休眠状态的等待时间,设置的短一些可以让硬盘有更多机会休眠,降低功耗和发热量;设置的长一些则可以让硬盘减少休眠,更多地处于工作状态,节省唤醒时间,从而提升一定的性能。

适用于M.2(NVMe) SSD

对于越来越普及的M.2(NVMe) SSD,我们也可以在电源管理中添加类似于上面 Adaptive 的 Primary NVMe Idle Timeout 设置项,同样可以控制固态硬盘进入节能模式的等待时间。添加方法如下:

以管理员身份运行 Windows PowerShell ,输入并回车运行以下命令:

powercfg -attributes 0012ee47-9041-4b5d-9b77-535fba8b1442 d639518a-e56d-4345-8af2-b9f32fb26109 -ATTRIB_HIDE

然后你就可以在“高级电源设置”窗口中看到新增加的“Primary NVMe Idle Timeout”设置项了。

同样如果你想让硬盘性能高一些,就把这个时间设置得长一些。

适用于PCI-E NVMe SSD

另外还有一些基于PCI-E总线的NVMe SSD固态硬盘,这个我们可以按如下方法关闭节能模式保持硬盘性能:

在“高级电源设置”窗口中展开“PCI Express - 链接状态电源管理”。如图:

改造Win10电源管理提升SSD固态硬盘性能

把电源节省量设置为“关闭”,这样就可以避免固态硬盘进入节能模式从而保持硬盘性能。

不过需要注意的是,这一设置还会影响 PCI-E 显卡、USB 3.1 等其他PCI-E设备,所以电脑的总功耗和发热量会有所提高。

DropIt 是一款由意大利 Lupo PenSuite 软件研发团队精心设计与开发的体积小巧、功能精悍的得力文件综合批量管理助手,其内置了多项常用的文件与文件夹组织协议,人们也可以通过自定义协议来完成更为复杂的文件组织管理工作,支持文件拖拽操作及正则表达式、文件夹监视以及所有微软大众平台支持的文件操作方式。

资源来自网络,小编只收集共享,不收取任何费用

如果有一个全自动的文件管理工具,它能够帮你把所有的文件分门别类地放好、给重要的文件加密、还能给文件转格式,会不会迫不及待地想尝试一下?

DropIt 就是这样一款全自动工具,来看一下它如何把各种文件给瞬间归类:

功能&特点:

**✴拖放 -**简单地将文件与文件夹拖拽到目标图像上进行处理;

✴文件(夹)筛选器 –通过名称、目录、大小、日期、属性、内容或者正则表达式;

✴文件夹监视 –全自动处理检测已定义目录的文件与文件夹;

✴十八项操作 –自动执行已匹配的文件与文件夹操作;

✴配置文件 –在配置文件中收集协议并指定一个图像便于识别;

✴全面路径支持 –支持绝对路径、相对路径以及共享文件夹 UNC 路径;

✴环境变量 –支持内部、自定义和系统环境变量;

✴拓展用法 –支持使用“发送到”与“命令行”处理文件与文件夹;

✴多国语言 –可用的多国语言(含简、繁体中文)用户界面;

✴配置文件加密 –支持使用密码加密保护你的配置文件;

✴活动日志 –支持日志文件创建用于校验处理操作;

✴Unicode –支持 Unicode 编码;

使用思路

我们先要了解一下 DropIt 的基本组成部分:

文件(Files):DropIt 处理的对象就是文件。可以是一个文件,也可以是一些文件、文件夹;

协议(Associations):对文件进行的操作被称为协议。一条协议由名称、规则、操作、具体配置这 4 个部分组成。名称是指这条协议的名字;规则是适用的文件类型,以分号隔开,比如我只想对压缩包文件操作,那规则就是 *.rar;*.zip;*.7z;操作是你想对文件进行的动作,比如「重命名」「移动」等;最后是这个操作的具体配置,不同的操作有不同的配置选项;

配置文件(Profiles):配置文件,可以看作单个协议的文件夹。我们可以通过它将协议归类,并且导出,用于分享。

最后,将文件拖到 DropIt 的图标上,就文件会根据这些协议进行相应的动作。

快捷调用

快捷调用 DropIt 的两种方式

作为一个效率工具,如何快捷调用它是一个重要的问题。在调用方面,DropIt 提供了 2 种方式:

将文件拖到图标上,执行:

选中文件,「右键 - 发送到 - 具体动作」。

DropIt 的默认使用方式是将文件拖动到图标上,开始进行处理。这样的处理方式很顺手,代价是 DropIt 的图标会遮挡一部分屏幕。

而在 Windows 的右键菜单中,内置了一项「发送到」功能。由于它的默认选择很少,除了「发送到桌面」以外都很鸡肋,经常被人忽视。

由于 DropIt 的操作全都是针对文件的,所以 DropIt 顺理成章地把所有配置文件都放到了右键的「发送到」菜单中。这使得 DropIt 本身不在运行时也可以正常使用它。

而另一个快捷调用 DropIt 的方法是:选中文件,「右键 - 发送到 - 具体动作」,同样可以对文件进行操作。

这个快捷菜单的出现,让 DropIt 不必长期运行,不需要开机启动,也能像使用系统自带的功能一样进行快捷操作。

DropIt 在执行命令前,会扫描一遍文件,并把即将做的操作汇报一遍。确认后才会执行。

如果你希望点击按钮后立即执行任务,可以在设置中勾选「加载好后立即开始处理」。这样就无需再次确认了。

配置文件

本文提供了一些的配置文件,放在了每一段的结尾。如何使用这些配置文件呢?

首先找到 DropIt 的安装目录,默认位置是 C:\Program Files\DropIt\。它的配置文件存放在这个目录下的 Profiles 文件夹中,也就是 C:\Program Files\DropIt\Profiles\ 目录中,再打开 DropIt 就可以看到配置文件了。

本文提供的配置文件

手动清除照片中的 EXIF 信息

配合 DropIt 使用,批量处理图片

将 PSD 源文件批量转换为 PNG 图片

高的效率的分拣

批量加密和解密

写在最后

新电脑操作系统用户由于不太重视文件、文件夹的分类管理操作,日积月累常年下来便使得计算机的各个驱动器内的文件杂乱无章,尤其对于办公人员来说根本不便于后期的文件查找及使用操作。DropIt可以帮助用户自动的对您所添加压缩文件、视频、音频、图片等文件进行自动分类,而且其能够根据自己的需要创建归档规则,从而能够帮助您更好的管理您的文件,有需要的用户不妨来看看吧!

1
2
3
4
# 防止tpl inc cfg文件被下载 
location ~* \.(tplinccfg)$ {
deny all;
}
1
2
3
4
5
# 套用CDN的情况返回真实IP
add_header X-Real-IP $http_x_real_ip;
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;
real_ip_recursive on;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# SSL反代
server
{
listen 443;
server_name www.ccav.me ccav.me;
#rewrite ^/(.*) https://$server_name$1 permanent;
ssl on;
ssl_certificate /root/#PEM/CRT;
ssl_certificate_key /root/#KEY;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
#listen 80;
location / {
proxy_redirect www.B.com /;
proxy_pass https://www.B.com;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language "zh-CN";
proxy_set_header X-Real-IP $remote_addr;

介绍: PowerDNS 支持的一些特性: EDNS Client Subnet、DNSSEC、GEODNS、IPv6 等 同时 PowerDNS 支持超多的解析记录种类: A、AAAA、AFSDB、ALIAS(ANAME)、CAA、CERT、CDNSKEY、CDS、CNAME、DNSKEY、DNAME、DS、HINFO、KEY、LOC、MX、NAPTR、NS、NSEC、NSEC3、NSEC3PARAM、OPENPGPKEY、PTR、RP、RRSIG、SOA、SPF、SSHFP、SRV、TKEY、TSIG、TLSA、TXT、URI 等 至于 Web 前端,PowerDNS 官方推荐的是自家的 PowerAdmin,然后我比对了一下,都是万年不更新,但是 PowerAdmin UI 保持上世纪末期的风格,PowerDNS-Webinterface 好很多,同样水准下,当然是选择了更好看的后者啊。

工具: PowerDNS:https://www.powerdns.com PowerDNS-Webinterface:https://github.com/Spacefish/powerdns-webinterface 其它前端 PowerAdmin:http://www.poweradmin.org

参考http://arstech.net/install-powerdns-and-powerdns-webinterface-on-centos/ 拓展https://guozeyu.com/2016/08/self-host-dns/

环境

Centos6 x64 PHP 5.6 Apache MariaDB 10+

本文章一切都是在为实现 rDNS 反向解析功能前提下进行的,并没有测试其它功能,不保证文章所述可以完全保证其它功能的使用。

PowerDNS 部分

安装 PowerDNS Mysql 版本

1
2
yum install -y epel
yum install -y pdns pdns-backend-mysql

修改配置文件 /etc/pdns/pdns.conf 我贴的是改好的,你只需要改配置文件底部的 Mysql 信息

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
setuid=pdns
setgid=pdns
launch=bind
# Autogenerated configuration file template
#################################
# add-superfluous-nsec3-for-old-bind Add superfluous NSEC3 record to positive wildcard response
#
# add-superfluous-nsec3-for-old-bind=no

#################################
# allow-axfr-ips Allow zonetransfers only to these subnets
#
# allow-axfr-ips=0.0.0.0/0,::/0

#################################
# allow-recursion List of subnets that are allowed to recurse
#
allow-recursion=0.0.0.0/0

#################################
# any-to-tcp Answer ANY queries with tc=1, shunting to TCP
#
# any-to-tcp=no

#################################
# cache-ttl Seconds to store packets in the PacketCache
#
# cache-ttl=20

#################################
# chroot If set, chroot to this directory for more security
#
# chroot=

#################################
# config-dir Location of configuration directory (pdns.conf)
#
# config-dir=/usr/local/etc

#################################
# config-name Name of this virtual configuration - will rename the binary image
#
# config-name=

#################################
# control-console Debugging switch - don’t use
#
# control-console=no

#################################
# daemon Operate as a daemon
#
# daemon=no

#################################
# default-ksk-algorithms Default KSK algorithms
#
# default-ksk-algorithms=rsasha256

#################################
# default-ksk-size Default KSK size (0 means default)
#
# default-ksk-size=0

#################################
# default-soa-mail mail address to insert in the SOA record if none set in the backend
#
# default-soa-mail=

#################################
# default-soa-name name to insert in the SOA record if none set in the backend
#
# default-soa-name=a.misconfigured.powerdns.server

#################################
# default-ttl Seconds a result is valid if not set otherwise
#
# default-ttl=3600

#################################
# default-zsk-algorithms Default ZSK algorithms
#
# default-zsk-algorithms=rsasha256

#################################
# default-zsk-size Default KSK size (0 means default)
#
# default-zsk-size=0

#################################
# direct-dnskey Fetch DNSKEY RRs from backend during DNSKEY synthesis
#
# direct-dnskey=no

#################################
# disable-axfr Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no

#################################
# disable-tcp Do not listen to TCP queries
#
# disable-tcp=no

#################################
# distributor-threads Default number of Distributor (backend) threads to start
#
# distributor-threads=3

#################################
# do-ipv6-additional-processing Do AAAA additional processing
#
# do-ipv6-additional-processing=yes

#################################
# edns-subnet-option-number EDNS option number to use
#
# edns-subnet-option-number=20730

#################################
# edns-subnet-processing If we should act on EDNS Subnet options
#
# edns-subnet-processing=no

#################################
# entropy-source If set, read entropy from this file
#
# entropy-source=/dev/urandom

#################################
# experimental-json-interface If the webserver should serve JSON data
#
# experimental-json-interface=no

#################################
# experimental-logfile Filename of the log file for JSON parser
#
# experimental-logfile=/var/log/pdns.log

#################################
# fancy-records Process URL and MBOXFW records
#
# fancy-records=no

#################################
# guardian Run within a guardian process
#
# guardian=no

#################################
# include-dir Include .conf files from this directory
#
# include-dir=

#################################
# launch Which backends to launch and order to query them in
#
# launch=

#################################
# load-modules Load this module - supply absolute or relative path
#
# load-modules=

#################################
# local-address Local IP addresses to which we bind
#
local-address=0.0.0.0

#################################
# local-ipv6 Local IP address to which we bind
#
# local-ipv6=

#################################
# local-port The port on which we listen
#
local-port=53

#################################
# log-dns-details If PDNS should log DNS non-erroneous details
#
# log-dns-details=

#################################
# log-dns-queries If PDNS should log all incoming DNS queries
#
# log-dns-queries=no

#################################
# log-failed-updates If PDNS should log failed update requests
#
# log-failed-updates=

#################################
# logging-facility Log under a specific facility
#
# logging-facility=

#################################
# loglevel Amount of logging. Higher is more. Do not set below 3
#
# loglevel=4

#################################
# lua-prequery-script Lua script with prequery handler
#
# lua-prequery-script=

#################################
# master Act as a master
#
# master=no

#################################
# max-cache-entries Maximum number of cache entries
#
# max-cache-entries=1000000

#################################
# max-ent-entries Maximum number of empty non-terminals in a zone
#
# max-ent-entries=100000

#################################
# max-nsec3-iterations Limit the number of NSEC3 hash iterations
#
# max-nsec3-iterations=500

#################################
# max-queue-length Maximum queuelength before considering situation lost
#
# max-queue-length=5000

#################################
# max-tcp-connections Maximum number of TCP connections
#
# max-tcp-connections=10

#################################
# module-dir Default directory for modules
#
# module-dir=/usr/local/lib

#################################
# negquery-cache-ttl Seconds to store negative query results in the QueryCache
#
# negquery-cache-ttl=60

#################################
# no-shuffle Set this to prevent random shuffling of answers - for regression testing
#
# no-shuffle=off

#################################
# out-of-zone-additional-processing Do out of zone additional processing
#
# out-of-zone-additional-processing=yes

#################################
# overload-queue-length Maximum queuelength moving to packetcache only
#
# overload-queue-length=0

#################################
# pipebackend-abi-version Version of the pipe backend ABI
#
# pipebackend-abi-version=1

#################################
# prevent-self-notification Don’t send notifications to what we think is ourself
#
# prevent-self-notification=yes

#################################
# query-cache-ttl Seconds to store query results in the QueryCache
#
# query-cache-ttl=20

#################################
# query-local-address Source IP address for sending queries
#
# query-local-address=0.0.0.0

#################################
# query-local-address6 Source IPv6 address for sending queries
#
# query-local-address6=::

#################################
# query-logging Hint backends that queries should be logged
#
# query-logging=no

#################################
# queue-limit Maximum number of milliseconds to queue a query
#
# queue-limit=1500

#################################
# receiver-threads Default number of receiver threads to start
#
# receiver-threads=1

#################################
# recursive-cache-ttl Seconds to store packets for recursive queries in the PacketCache
#
# recursive-cache-ttl=10

#################################
# recursor If recursion is desired, IP address of a recursing nameserver
#
# recursor=no

#################################
# retrieval-threads Number of AXFR-retrieval threads for slave operation
#
# retrieval-threads=2

#################################
# security-poll-suffix Domain name from which to query security update notifications
#
# security-poll-suffix=secpoll.powerdns.com.

#################################
# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority
#
# send-root-referral=no

#################################
# server-id Returned when queried for ’server.id’ TXT or NSID, defaults to hostname
#
# server-id=

#################################
# setgid If set, change group id to this gid for more security
#
# setgid=

#################################
# setuid If set, change user id to this uid for more security
#
# setuid=

#################################
# signing-threads Default number of signer threads to start
#
# signing-threads=3

#################################
# slave Act as a slave
#
# slave=no

#################################
# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds
#
# slave-cycle-interval=60

#################################
# slave-renotify If we should send out notifications for slaved updates
#
# slave-renotify=no

#################################
# smtpredirector Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server

#################################
# soa-expire-default Default SOA expire
#
# soa-expire-default=604800

#################################
# soa-minimum-ttl Default SOA minimum ttl
#
# soa-minimum-ttl=3600

#################################
# soa-refresh-default Default SOA refresh
#
# soa-refresh-default=10800

#################################
# soa-retry-default Default SOA retry
#
# soa-retry-default=3600

#################################
# soa-serial-offset Make sure that no SOA serial is less than this number
#
# soa-serial-offset=0

#################################
# socket-dir Where the controlsocket will live
#
# socket-dir=/var/run

#################################
# tcp-control-address If set, PowerDNS can be controlled over TCP on this address
#
# tcp-control-address=

#################################
# tcp-control-port If set, PowerDNS can be controlled over TCP on this address
#
# tcp-control-port=53000

#################################
# tcp-control-range If set, remote control of PowerDNS is possible over these networks only
#
# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10

#################################
# tcp-control-secret If set, PowerDNS can be controlled over TCP after passing this secret
#
# tcp-control-secret=

#################################
# traceback-handler Enable the traceback handler (Linux only)
#
# traceback-handler=yes

#################################
# trusted-notification-proxy IP address of incoming notification proxy
#
# trusted-notification-proxy=

#################################
# urlredirector Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1

#################################
# version-string PowerDNS version in packets - full, anonymous, powerdns or custom
#
# version-string=full

#################################
# webserver Start a webserver for monitoring
#
# webserver=no

#################################
# webserver-address IP Address of webserver to listen on
#
# webserver-address=127.0.0.1

#################################
# webserver-password Password required for accessing the webserver
#
# webserver-password=

#################################
# webserver-port Port of webserver to listen on
#
# webserver-port=8081

#################################
# webserver-print-arguments If the webserver should print arguments
#
# webserver-print-arguments=no

#################################
# wildcard-url Process URL and MBOXFW records
#
# wildcard-url=no

#################################
# xfr-max-received-mbytes Maximum number of megabytes received from an incoming AXFR
#
# xfr-max-received-mbytes=100

接着我们登录 mysql,创建一个名为 powerdns 的用户以及数据库,并导入以下数据

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
CREATE TABLE domains ( id                    INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE records (
id INT AUTO_INCREMENT,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(10) DEFAULT NULL,
content VARCHAR(64000) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
disabled TINYINT(1) DEFAULT 0,
ordername VARCHAR(255) BINARY DEFAULT NULL,
auth TINYINT(1) DEFAULT 1,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE INDEX recordorder ON records (domain_id, ordername);
CREATE TABLE supermasters (
ip VARCHAR(64) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) NOT NULL,
PRIMARY KEY (ip, nameserver)
) Engine=InnoDB;
CREATE TABLE comments (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
name VARCHAR(255) NOT NULL,
type VARCHAR(10) NOT NULL,
modified_at INT NOT NULL,
account VARCHAR(40) NOT NULL,
comment VARCHAR(64000) NOT NULL,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX comments_domain_id_idx ON comments (domain_id);
CREATE INDEX comments_name_type_idx ON comments (name, type);
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
CREATE TABLE domainmetadata (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
kind VARCHAR(32),
content TEXT,
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
CREATE TABLE cryptokeys (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
flags INT NOT NULL,
active BOOL,
content TEXT,
PRIMARY KEY(id)
) Engine=InnoDB;
CREATE INDEX domainidindex ON cryptokeys(domain_id);
CREATE TABLE tsigkeys (
id INT AUTO_INCREMENT,
name VARCHAR(255),
algorithm VARCHAR(50),
secret VARCHAR(255),
PRIMARY KEY (id)
) Engine=InnoDB;
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);

下载 PowerDNS-Webinterface,导入文件夹内包含的 install.sql 文件,在进行前端数据库导入的时候,可能会出现 1 个 mysql 报错,忽略掉,不影响本文章功能实现的使用 到这里,PowerDNS 部署部分完成,我们使用下面的命令设置开机自启,以及立即启动 PowerDNS

1
2
chkconfig —levels 235 pdns on
/etc/init.d/pdns start

可以顺便验证下 PowerDNS 服务是否正常启动

1
2
netstat -an  grep 53
cat /var/log/messages //如果没有启动 检查日志

PowerDNS-Webinterface 部分

进入搭建好的 Web 环境根目录,导入 PowerDNS-Webinterface 中 / web 内的所有内容,并修改 \ configs\db.php 中的 mysql 信息

1
2
<?php

删除安全文件,并设置 templates_c 文件夹权限

1
2
rm -rf web\tmp\templates_c\DELETEME
chmod 777 \web\tmp\templates_c\

这时候访问你搭建好的 PowerDNS-Webinterface,账号密码 admin/admin,登录后马上更改默认密码

设置 PTR 解析部分

切换至 Domains 菜单,添加你需要设置 rDNS 的 IP 段在解析记录中添加下面的内容

图中 ID 801-803 是示例 PTR 记录 这时可以使用 nslookup 来看效果 大功告成。 转自:https://ccav.me/self-built-dns-parsing-tool-powerdns-powerdnswebinterface.html

常用DNS服务器

名称

DNS 服务器 IP 地址

China IPv6 DNS

240C::6666

240C::6644

114 DNS

114.114.114.114

114.114.115.115

Ali DNS

223.5.5.5

223.6.6.6

Baidu DNS

180.76.76.76

2400:da00::6666

DNSPod DNS+

119.29.29.29

119.28.28.28

182.254.116.116

182.254.118.118

CNNIC SDNS

1.2.4.8

210.2.4.8

oneDNS

117.50.10.10

117.50.20.20

DNS 派 电信/移动/铁通

101.226.4.6

218.30.118.6

DNS 派 联通

123.125.81.6

140.207.198.6

Google (US)

8.8.8.8

8.8.4.4

2001:4860:4860::8888

2001:4860:4860::8844

Cloudflare (US)

1.1.1.1

1.0.0.1

2606:4700:4700::1111

2606:4700:4700::1001

IBM (US)

9.9.9.9

149.112.112.112

2620:fe::fe

2620:fe::9

OpenDNS (US)

208.67.222.222

208.67.220.220

2620:0:ccc::2

2620:0:ccd::2

HE (US)

74.82.42.42

66.220.18.42

2001:470:20::2

2001:470:0:9d::2

Comodo (US)

8.26.56.8

8.20.247.20

Verisign (US)

64.6.64.6

64.6.65.6

2620:74:1b::1:1

2620:74:1c::2:2

Neustar (US)

156.154.70.1

156.154.71.1

2610:a1:1018::1

2610:a1:1019::1

Dyn (US)

216.146.35.35

216.146.36.36

Alternate (US)

23.253.163.53

198.101.242.72

Level3 (US)

209.244.0.3

209.244.0.4

V2EX DNS

199.91.73.222

178.79.131.110

清华大学 DNS

101.6.6.6

2001:da8::666

中科大 DNS

202.141.162.123(中国电信)

202.38.93.153 (教育网)

202.141.176.93 (中国移动)

KT (KR)

168.126.63.1

168.126.63.2

SK (KR)

210.220.163.82

219.250.36.130

LG U+ (KR)

164.124.101.2

203.248.252.2

164.124.107.9

203.248.242.2

Yandex (RU)

77.88.8.8

77.88.8.1

2a02:6b8::feed:0ff

2a02:6b8:0:1::feed:0ff

SafeDNS (RU)

195.46.39.39

195.46.39.40

DNS.WATCH (DE)

84.200.69.80

84.200.70.40

2001:1608:10:25::1c04:b12f

2001:1608:10:25::9249:d69b

Uncensored (DK)

91.239.100.100

89.233.43.71

2001:67c:28a4::

2a01:3a0:53:53::

Freenom (NL)

80.80.80.80

80.80.81.81

各地电信DNS

名称

DNS 服务器 IP 地址

安徽电信 DNS

61.132.163.68

202.102.213.68

北京电信 DNS

219.141.136.10

219.141.140.10

重庆电信 DNS

61.128.192.68

61.128.128.68

福建电信 DNS

218.85.152.99

218.85.157.99

甘肃电信 DNS

202.100.64.68

61.178.0.93

广东电信 DNS

202.96.128.86

202.96.128.166

202.96.134.33

202.96.128.68

广西电信 DNS

202.103.225.68

202.103.224.68

贵州电信 DNS

202.98.192.67

202.98.198.167

河南电信 DNS

222.88.88.88

222.85.85.85

黑龙江电信

219.147.198.230

219.147.198.242

湖北电信 DNS

202.103.24.68

202.103.0.68

湖南电信 DNS

222.246.129.80

59.51.78.211

江苏电信 DNS

218.2.2.2

218.4.4.4

61.147.37.1

218.2.135.1

江西电信 DNS

202.101.224.69

202.101.226.68

内蒙古电信

219.148.162.31

222.74.39.50

山东电信 DNS

219.146.1.66

219.147.1.66

陕西电信 DNS

218.30.19.40

61.134.1.4

上海电信 DNS

202.96.209.133

116.228.111.118

202.96.209.5

108.168.255.118

四川电信 DNS

61.139.2.69

218.6.200.139

天津电信 DNS

219.150.32.132

219.146.0.132

云南电信 DNS

222.172.200.68

61.166.150.123

浙江电信 DNS

202.101.172.35

61.153.177.196

61.153.81.75

60.191.244.5

联通DNS服务器

名称

DNS 服务器 IP 地址

北京联通 DNS

123.123.123.123

123.123.123.124

202.106.0.20

202.106.195.68

重庆联通 DNS

221.5.203.98

221.7.92.98

广东联通 DNS

210.21.196.6

221.5.88.88

河北联通 DNS

202.99.160.68

202.99.166.4

河南联通 DNS

202.102.224.68

202.102.227.68

黑龙江联通

202.97.224.69

202.97.224.68

吉林联通 DNS

202.98.0.68

202.98.5.68

江苏联通 DNS

221.6.4.66

221.6.4.67

内蒙古联通

202.99.224.68

202.99.224.8

山东联通 DNS

202.102.128.68

202.102.152.3

202.102.134.68

202.102.154.3

山西联通 DNS

202.99.192.66

202.99.192.68

陕西联通 DNS

221.11.1.67

221.11.1.68

上海联通 DNS

210.22.70.3

210.22.84.3

四川联通 DNS

119.6.6.6

124.161.87.155

天津联通 DNS

202.99.104.68

202.99.96.68

浙江联通 DNS

221.12.1.227

221.12.33.227

辽宁联通 DNS

202.96.69.38

202.96.64.68

移动DNS服务器

名称

DNS 服务器 IP 地址

江苏移动 DNS

221.131.143.69

112.4.0.55

安徽移动 DNS

211.138.180.2

211.138.180.3

山东移动 DNS

218.201.96.130

211.137.191.26

四川移动 DNS

223.87.238.22

港澳台DNS服务器

名称

DNS 服务器 IP 地址

香港 (HK)

205.252.144.228

208.151.69.65

202.181.202.140

202.181.224.2

香港宽频 (HK)

203.80.96.10

203.80.96.9

HKNet宽频 (HK)

202.67.240.222

202.67.240.221

和记环球电讯 (HK)

202.45.84.58

202.45.84.59

NetFront前线 (HK)

202.81.252.1

202.81.252.2

Pacific SuperNet (HK)

202.14.67.4

202.14.67.14

CyberExpress (HK)

202.85.146.104

202.60.252.8

澳门 (MO)

202.175.3.8

202.175.3.3

HiNet (TW)

168.95.1.1

168.95.192.1

2001:b000:168::1

2001:b000:168::2

数位联合电信 (TW)

139.175.252.16

139.175.55.244

台湾网路资讯 (TW)

101.101.101.101

101.102.103.104

2001:de4::101

2001:de4::102