对于想了解Centos环境下的DNS智能解析的读者,本文将提供新的信息,我们将详细介绍centos配置dns解析,并且为您提供关于CentOS7搭建简单的DNS分离解析服务、centos6.5-cen
对于想了解Centos环境下的DNS智能解析的读者,本文将提供新的信息,我们将详细介绍centos配置dns解析,并且为您提供关于CentOS 7搭建简单的DNS分离解析服务、centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?、Centos6环境下搭建DNS服务器、CentOS下搭建智能DNS系统wdDNS 的方法的有价值信息。
本文目录一览:- Centos环境下的DNS智能解析(centos配置dns解析)
- CentOS 7搭建简单的DNS分离解析服务
- centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?
- Centos6环境下搭建DNS服务器
- CentOS下搭建智能DNS系统wdDNS 的方法
Centos环境下的DNS智能解析(centos配置dns解析)
DNS智能解析的实质:基于不同的来源,DNS服务器返回不同的结果
DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址。如访问者是网通用户,DNS策略解析服务器会把你的域名对应的网通IP地址解析给这个访问者。DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。
实验环境:DNS服务器是在centos6.4 32位操作系统上实现的,中间用了一台H3C的防火墙。Internet用的是一台电脑pc模拟的。
实验中用到的MysqL-5.5.15-linux2.6-i686.tar.gz可以到MysqL的官方网站 www.MysqL.com 下载,
也可以到 http://pan.baidu.com/disk/home?frm=hao123 下载,
bind-9.8.6-P1.tar.gz可以到 http://pan.baidu.com/disk/home?frm=hao123 下载。
网络拓扑图如下:
试验结果预期:内网用户解析出来的地址是192.168.80.12,外网地址解析出来的地址是61.130.130.1.
[root@localhost ~]# tar -zxvf MysqL-5.5.15-linux2.6-i686.tar.gz -C /usr/local/
把源码解压到/usr/local/目录下
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -s MysqL-5.5.15-linux2.6-i686 MysqL
进入解压好的目录,为了方便访问给此目录创建一个快捷方式
[root@localhost local]# cd MysqL
[root@localhost MysqL]# vim INSTALL-BINARY
进入MysqL目录,里边有一个INSTALL-BINARY文件,这是个安装帮助文档,可以看到如下步骤介绍:
[root@localhost ~]# groupadd MysqLsts
[root@localhost ~]# useradd -r -g MysqL MysqL
创建一个MysqL组并添加一个账号MysqL
[root@localhost MysqL]# chown -R MysqL .
[root@localhost MysqL]# chgrp -R MysqL .
改变所有文件的所有者和所有组都改为MysqL
[root@localhost MysqL]# scripts/MysqL_install_db --user=MysqL
以sql的身份来初始化数据库
[root@localhost MysqL]# chown -R root .
[root@localhost MysqL]# chown -R MysqL data
再把所有者和所有组改回来
[root@localhost MysqL]# cp support-files/my-medium.cnf /etc/my.cnf
将support-files/my-medium.cnf拷贝到 /etc/my.cnf,是否覆盖选择y。
[root@localhost MysqL]# cp support-files/MysqL.server /etc/init.d/MysqLd
[root@localhost MysqL]# chmod a+x /etc/init.d/MysqLd
给MysqLd执行权限
[root@localhost MysqL]# service MysqLd start
启动服务MysqLd。
发现出现错误:
如果出现此错误的话,就把刚才做的命令重新执行一遍:
[root@localhost MysqL]# chown -R MysqL .
[root@localhost MysqL]# chgrp -R MysqL .
[root@localhost MysqL]# scripts/MysqL_install_db --user=MysqL
[root@localhost MysqL]# chown -R root .
[root@localhost MysqL]# chown -R MysqL data
后边拷贝的那两步就不用重做了,然后再次开始MysqLd服务,运行成功!
[root@localhost MysqL]# netstat -tupln |grep 3306
查看MysqLd端口是否打开
端口已经打开。
[root@localhost MysqL]# chkconfig --add MysqLd
[root@localhost MysqL]# chkconfig MysqLd on
将MysqLd设为开机自动启动。
[root@localhost MysqL]# vim /etc/profile
PATH=$PATH:/usr/local/MysqL/bin
为了方便使用目录下的bin文件,将它加入到系统文件中:
[root@localhost MysqL]# . /etc/profile
重新读取profile文件:(重新登录也可以)
[root@localhost MysqL]# MysqLadmin -u root -p password '123'然后直接回车
给MysqL创建一个管理员用户,密码为123
到这里,MysqL已经安装完毕。
接下里安装bind:
[root@localhost ~]# tar -zxvf bind-9.8.6-P1.tar.gz -C /usr/local/src/
解压bind安装包
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ll
total 4
drwxrwxr-x. 12 10132 wheel 4096 Oct 16 08:09 bind-9.8.6-P1
[root@localhost src]# cd bind-9.8.6-P1/
切换到bind目录
[root@localhost bind-9.8.6-P1]# ./configure --prefix=/usr/local/bind9 --with-dlz-MysqL=/usr/local/MysqL --enable-threads=no --disable-openssl-version-check
[root@localhost bind-9.8.6-P1]# make && make install 执行make命令已经make install
[root@localhost bin]# cd /usr/local/bind9/
进入此目录,此目录为bind的安装目录
[root@localhost bind9]# cd sbin/
[root@localhost sbin]# ./rndc-confgen -a
执行此命令会在/usr/local/bind9/etc/下产生一个rndc.key 文件
[root@localhost sbin]# ./rndc-confgen >../etc/named.conf
生成named.conf 文件
以上两步最好不要在终端中做,因为在终端中做文件生的特别慢,最好是直接在系统中执行命令。
现在进入/usr/local/bind9/etc/目录会发现其中有三个文件:
进入named.conf文件:
去掉第20行至23行前边的#:
修改option如下:
directory "/usr/local/bind9/etc/";
pid-file "/usr/local/bind9/var/run/named.pid";
allow-query { any; };
recursion no;
version "gaint-d1"
在此文件中创建“lan”和“wan”两个访问控制链表:
并在此文件中添加以下内容:
view "lan-view" {
match-clients {lan;};
dlz "MysqL zone" {
database "MysqL
{host=127.0.0.1 dbname=mydata ssl=false user=root pass=123}
{select zone from lan_dns_records where zone='$zone$'}
{select ttl,type,mx_priority,case when lower(type)='txt' then concat('\"',data,'\"') 32 when lower(type) = 'soa' then concat_ws(' ',resp_person,serial,refresh,retry,expire,minimum) 33 else data end from lan_dns_records where zone='$zone$' and host='$record$'}";
};
};
view "wan-view" {
match-clients {wan;};
dlz "MysqL zone" {
database "MysqL
{host=127.0.0.1 dbname=mydata ssl=false user=root pass=123}
{select zone from wan_dns_records where zone='$zone$'}
{select ttl,'\"')
when lower(type) = 'soa' then concat_ws(' ',minimum)
else data end from wan_dns_records where zone='$zone$' and host='$record$'}";
};
到此处为止,bind也基本安装完成。
接下来给数据库中添加内容:
[root@localhost etc]# MysqL -u root -p
Enter password:
以管理员身份登录MysqL
MysqL> create database mydata;
创建数据库mydate
MysqL> use mydata;
打开mydate
创建lan表:
create table lan_dns_records (
zone varchar (255),
host varchar (255),
type varchar (255),
data varchar (255),
ttl int(11),
mx_priority varchar (255),
refresh int(11),
retry int(11),
expire int(11),
minimum int(11),
serial bigint(20),
resp_person varchar (255),
primary_ns varchar (255)
);
创建wan表:
create table wan_dns_records (
zone varchar (255),
primary_ns varchar (255)
);
可以看到现在数据库中有如下表:
MysqL> insert into lan_dns_records (zone,host,ttl,retry) values ('abc.com','www','A','192.168.80.12','86400','15');
MysqL> insert into wan_dns_records (zone,'61.130.130.1','15')
两表格中各插入一条记录。
此时可看到数据库中的两个表中有如下数据:
使用/usr/local/bind9/sbin/named -g -d 1 -c /usr/local/bind9/etc/named.conf指令测试:
发现出错,缺少一个libMysqLclient.so.18库文件
其实这个文件时存在的,在/usr/local/MysqL/lib/目录下,
[root@localhost sbin]# vim /etc/ld.so.conf.d/MysqL.conf
在/etc/ld.so.conf.d/下随便建一个文件,比如叫做MysqL.conf 然后将此库文件的路径写入:
/usr/local/MysqL/lib/
[root@localhost sbin]# ldconfig
执行ldconfig刷新缓存。
[root@localhost etc]# ifconfig eth0:0 61.130.130.10 netmask 255.255.255.0
给网卡eth0再加个地址61.130.130.0/24网段内的,以便测试之用。
[root@localhost etc]# dig www.abc.com @192.168.80.12
[root@localhost etc]# dig www.abc.com @61.130.130.10
测试结果如下:
然后进入防火墙配置:
[H3C]int eth0/0
[H3C-Ethernet0/0]ip add 192.168.80.254 255.255.255.0
[H3C-Ethernet0/0]int eth0/4
[H3C-Ethernet0/4]ip add 61.130.130.100 255.255.255.0
[H3C-Ethernet0/0]quit
[H3C]firewall zone trust
[H3C-zone-trust]add int eth0/4
[H3C-zone-trust]quit
[H3C]firewall zone untrust
[H3C-zone-untrust]add int eth0/0
[H3C-Ethernet0/4]nat server protocol udp global 61.130.130.1 53 inside 192.168.80.12 53
配置完成后可以测试一下:
测试成功!
CentOS 7搭建简单的DNS分离解析服务
1.win10系统一台作为局域网内的客户机。
2.win10系统一台作为广域网的客户机。
3.CentOS7系统一台作为DNS服务器。
实验准备:
1.在服务器系统上安装DNS服务程序“bind”,注意:需要在联网环境下安装。
输入:yum install bind -y
2.安装完毕后,给centOS7系统增加一块网卡,加上原来共两块网卡的网络模式均设为仅主机模式。
3.分别将系统win10、win10-1的网络模式改为仅主机模式。
4.进入centOS7系统,用“ifconfig”命令查看网卡是否添加成功。
5.现在我们开始网卡的配置,首先配置“ens33”网卡。
输入:cd /etc/sysconfig/network-scripts/ 输入:vim ifcfg-ens33 将dhcp改为static 添加: IPADDR=192.168.100.1 NETMASK=255.255.255.0
6.将“ens33”网卡的配置文件复制一份命名为“ens36”,然后用vim编辑器对它进行编辑。
输入:cp -p ifcfg-ens33 ifcfg-ens36 输入:vim ifcfg-ens36 删除:UUID=7bdb3fdc-0c3b-4a92-918d-3815b0816b02 将所有“ens33”改为“ens36” 将“192.168.100.1”改为“12.0.0.1”
7.重启网络服务,并用“ifconfig”命令查看是否配置成功。
输入:service network restart 输入:ifconfig
8.给系统win10配上局域网IP地址“192.168.100.100”,网关和DNS都设置为“192.168.100.1”。win10-1系统配置广域网IP地址“12.0.0.12”,网关和DNS都设置为“12.0.0.1”。
主配置文件的配置:
1.用vim编辑器对主配置文件“/etc/named.conf”进行配置,将监听的IP和允许查询的范围都改为“any”。
2.用“4dd”将根域解析文件内容的从主配置文件中剪切出来。
区域配置文件的配置:
1.用vim编辑器对区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加: view "lan" { match-clients { 192.168.100.0/24; }; zone "kgc.com" IN { type master; file "kgc.com.lan"; }; zone "." IN { type hint; file "named.ca"; }; }; view "wan" { match-clients { 12.0.0.0/24; }; zone "kgc.com" IN { type master; file "kgc.com.wan"; }; }; 删除:后面所有内容
区域数据配置文件的配置:
1.用“cp -p”命令保留权限复制一份“name.localhost”文件,命名为“kgc.com.lan”。然后用vim编辑器对其进行编辑。
输入:cd /var/named/ 输入:cp -p named.localhost kgc.com.lan 输入:vim kgc.com.lan
2.文件配置如下。
$TTL 1D @ IN SOA kgc.com. admin.kgc.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS kgc.com. A 192.168.100.1 www IN A 192.168.100.99 smtp IN A 192.168.100.88
3.用“cp -p”命令保留权限复制一份“kgc.com.lan”文件,命名为“kgc.com.wan”。然后用vim编辑器对其进行编辑。
输入:cp -p kgc.com.lan kgc.com.wan 输入:vim kgc.com.wan
4.文件配置如下:
$TTL 1D @ IN SOA kgc.com. admin.kgc.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS kgc.com. A 12.0.0.1 www IN A 12.0.0.1 smtp IN A 12.0.0.1
5.开启DNS服务,并关闭防火墙和增强性安全功能。
输入:systemctl start named 输入:systemctl stop firewalld.service 输入:setenforce 0
6.分别用win10主机和win10-1主机测试,都能对域名进行解析。
centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?
现在要求php的环境支持tsl1.2和sha-256,php的curl库升级到curl 7.35.0,openssl升级到openssl/1.0.1f,但是通过配资文件查看curl的ssl version是nss,如果修改为openssl?
入下图ssl version处如何变更为openssl
centos 6.5 php的curl的ssl version 为什么是nss/3.19.1 而不是openssl/1.0.1f 如何变更?
回复内容:
现在要求php的环境支持tsl1.2和sha-256,php的curl库升级到curl 7.35.0,openssl升级到openssl/1.0.1f,但是通过配资文件查看curl的ssl version是nss,如果修改为openssl?
入下图ssl version处如何变更为openssl
centos 6.5 php的curl的ssl version 为什么是nss/3.19.1 而不是openssl/1.0.1f 如何变更?
针对你的问题,在我的开发环境里亲自实践了一遍成功了,说下步骤:
先来一次yum update,把openssl更新到最新版本
-
然后确认curl的ssl版本是不是openssl,centos默认安装的是NSS
立即学习“PHP免费学习笔记(深入)”;
如果检测不是如上图的openssl,就要下载curl重新编译
wget https://curl.haxx.se/download/archeology/curl-7.19.7.tar.gz tar xvzf curl-7.19.7.tar.gz cd curl-7.19.7 ./configure --prefix=/usr/local/curl/ --without-nss --with-ssl sudo make && sudo make install
备份默认的curl二进制文件
sudo mv /usr/bin/curl /usr/bin/curl.bak
然后做一个新的curl软链
sudo ln -s /usr/local/curl/bin/curl /usr/bin/curl
然后再curl --version确认是否已经是openssl的版本
-
下载对应版本的PHP源码包,重新编译安装php的curl扩展
wget http://cn2.php.net/get/php-5.6.21.tar.gz
tar xvzf php-5.6.21.tar.gz
cd phpphp-5.6.21/ext/curl
phpize
./configure --with-curl=/usr/local/curl/ --with-php-config=/usr/local/php/bin/php-config
sudo make && sudo make install
安装完毕以后会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目录下生成curl.so
注意:如果原来安装过curl扩展,那么要先删除curl.so
最后重启下php-fpm,再确认下phpinfo
Centos6环境下搭建DNS服务器
配置域主服务器
阶段:
1.在bind的主配置文件中添加该域
2.在/var/named中创建该域的zone文件
3.编辑zone文件,添加需要的信息
4.检测防火墙或selinux设置
5.启动bind服务
6.使用host或nslookup命令 检测域信息是否正常
安装bind
yum install -y bind bind-chroot bind-utils
BIND配置文件保存在:
/etc/named.conf 主配置文件
/var/named/ 域zone文件位置
修改主配置文件
vim /etc/named.conf (如下图1)
修改完毕,保存退出
接着配置zone文件
修改zone配置文件vim /etc/named.rfc1912.zones (如下图2)
配置正向解析(如下图一)
cd /var/named/
cp named.localhost helome.com.zone
vim helome.com.zone(一定要和主配置文件里面定义的zone文件名一致)
配置反向解析(如下图二)
cp named.localhost 32.168.192.zone
vim 32.168.192.zone
保存退出!
更改防火墙设置和selinux设置
getenforce
setenforce 0
iptables –F(如下图一所示)或者vim /etc/sysconfig/iptables#配置防火墙端口(如下图二所示)
-AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
service iptables save
service iptables restart#重启防火墙,使规则生效
启动bind
service named start
修改/etc/resolv.conf文件
vim /etc/resolv.conf
测试检测域信息是否正常
检查之前先看下 配置文件有没有读取权限ll /var/named(如果没有chmod +r /var/named/* 即可)
使用host或nslookup命令 检测域信息是否正常(如下图所示)
host mail.helome.com
nslookup mail.helome.com
到此DNS服务器的搭建就完毕了。
bind文件配置过程中容易出错
以下命令用以检查bind配置文件及zone文件语法
named-checkconf/etc/named.conf
named-checkzone helome.com /var/named/helome.com.zone
一定要检查配置文件有没有读取权限
CentOS下搭建智能DNS系统wdDNS 的方法
1 完全重构,性能更高及更稳定
2 数据支持文本与mysql数据库方式的,更灵活及需求选择
3 独立运行,不依懒wdCP,更易部署及扩展
4 支持API调用开发,易于个性化支持与服务
5 支持批量操作,适合站群或特殊用户的特殊需求
目前v3没有业务系统,如多用户支持,在线支付及自助开通,流量统计等
更合适个人或中小企业自用,站群应用,内部网解析应用,局部DNS劫持应用等
如需要智能DNS运营版,仍可考虑v2版本,或等后续v3的升级版
为提供更好的服务与支持,v3将继续提供免费的基础版和收费的高级版
环境:CentOS 6.x/7.x,其它系统尚未测试
安装前,需要系统已安装好并动行mysql,在安装过程中,需要输入mysql的root用户密码
wget http://down.wdlinux.cn/in/wddns3_install.sh && sh wddns3_install.sh
安装完默认后台,用户,密码:
http://ip:8091 admin/wdlinux.cn
以上就是CentOS下搭建智能DNS系统wdDNS 的方法的详细内容,更多请关注php中文网其它相关文章!
我们今天的关于Centos环境下的DNS智能解析和centos配置dns解析的分享就到这里,谢谢您的阅读,如果想了解更多关于CentOS 7搭建简单的DNS分离解析服务、centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?、Centos6环境下搭建DNS服务器、CentOS下搭建智能DNS系统wdDNS 的方法的相关信息,可以在本站进行搜索。
本文标签: