搭建一个ddns服务器
‘壹’ 怎么建立一个服务器自己用来下载东西的,像百度网盘那样,但是不限速
搭建自己的“私有云”服务,需要准备两样东西:DDNS域名、家庭NAS。下文具体说一说,如何搭建可以在外网使用的“私有云”服务。
1、申请DDNS域名
我使用的阿里云DDNS,不用的域名费用不同,我现在使用的9元1年。大李在阿里云官网,【产品】中搜索【域名注册】,搜索可用的域名,点击购买即可。正式使用之前需要进行实名认证,否则无法正确解析。
申请到可用的DDNS域名之后,需要进入控制台获取到accesskey和accesskeysecret,绑定到路由器,才能实现域名对应公网IP的动滚数迟态更新,我使用了LEDE内网路由,自带DDNS更新插件。
2、搭建家庭NAS
NAS(NetworkAttachedStorage)网络附加存储,直接连接到家庭局域网,实现文件共享。目前用的比较广泛的是群晖系统,支持丰富的套件,比如Drvie实现文件同步,VideoStation实现电影共享和播放、Moments实现照片实时备份等。
群晖分为黑群晖和白群晖,黑群晖相当于破解版的群晖,可以安装到X86平台的工控机或者ESXI虚拟机,白群晖就是正版的群晖系统了。
3、端口映射
为了实现外网访问内网,只有DDNS域名是不行的,还需要设置端口映射,将家庭内网的NAS地址和端口映射到路由器公网IP地址的某个端口,尽量不要使用外网的80端口。我的外网路由器使用了爱快路由器,设置方法如下,依次找到【网络设置】【端口映射】,分别设置内网IP、内网端口、外网地址、外网端口即可。
4、测试
经过上述设置之后,就可以通过DDNS域名地址访问家庭内网的NAS,实现文件上传和备份、文件同步、远程下载等功能,,通过外网访问家庭内网的NAS系统。
经过上毕芦述步骤,就可以大家自己的“私有云”服务,在任何有网络的地方,都可以访问家里的NAS,实现远程下载、实时上传数据等功能。
如果觉得对你有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢。‘贰’ 可以用内网穿透的方式搭建服务器吗
利用网云穿就能实现的,网云穿DDNS是将用户的动态IP 地址映射到一个固定的域名上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP 地址传送给位于服务商主机上的服务器程序,服务项目器程序负责提供 DNS 服务并实现动态域名解析。DDNS 的主要作用就是捕获用户每次变化的 IP 地址,然后将其与域名相对应,然后用户通过访问域名的形式就可以实现
‘叁’ 自建动态DNS(DDNS)服务器
1.首先得有自己的一个域名,可以参考freenom免费顶级域名
2.使用Cloudxns接替管理
3.拥有自己VPS
1.安装Docker
可以参考 https://www.gitbook.com/book/yeasy/docker_practice/details
或者按照以下安装
使用脚本自动安装
curl -sSL https://get.docker.com/ | sh
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 安装在系统中。
阿里云的安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh
DaoCloud 的安装脚本
curl -sSL https://get.cloud.io/docker | sh
2.安装动态域名客户端
这里使用zwh8800的客户端
https://github.com/zwh8800/cloudxns-ddns
首先,拉基兆取镜像:
docker pull zwh8800/cloudxns-ddns
然后,编写一个很简单的配置文件,文件名必须为 cloudxns-ddns.gcfg,把它放到某个文件夹中(如/home/zzz/cloudxns-ddns/config,下面以此为例子)
[CloudXNS]
APIKey=""
SecureKey="xxxxxxxxxxxxxx"
[Domain]
Data="home.lengzzz.com"
Data="haha.lengzzz.com"
上面 APIKey 是你在 CloudXNS https://www.cloudxns.net/AccountManage/apimanage.html 申请的 key,填进去即可。下面是你想要动态的域名,可以写很多。
然后,启动镜像即可。
docker run --name cloudxns-ddns -d -v /home/zzz/cloudxns-ddns/log:/app/log -v /home/zzz/cloudxns-ddns/config:/app/config zwh8800/cloudxns-ddns
依葫芦画瓢就可搏唤租以运行了
为防止后台停止运行加入restart参数
docker run --name cloudxns-ddns --restart=always -d -v /home/zzz/cloudxns-ddns/log:/app/log -v /home/zzz/cloudxns-ddns/config:/app/config zwh8800/链游cloudxns-ddns
‘肆’ linux系统下如何建DDNS服务
linux系统下搭建DDNS服务
记住把 dhcp 和 bind, bind-utils 装上就行了。
配置:
一 生成密钥
# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
这时当前目录下会生成Kdhcp_updater.+xxx+xxxxx.key及.private两个文件
# cat Kdhcp_updater.+xxx+xxxxx.key
DHCP_UPDATER. IN KEY 0 2 157 qSSpjerAuaPE/X3JJyxSww==
其中qSSpjerAuaPE/X3JJyxSww==下面要用到的。
参数说明:
上述dnssec-keygen命令的功能就是生成更新密钥,其中参数-a HMAC-MD5是指密钥的生成算法采用HMAC-MD5;参数-b 128是指密钥的位数为128位;参数-n USER DHCP_UPDATER是指密钥的用户为DHCP_UPDATER
二、DHCP的配置:
配置DHCP server 时很简单,可以参考 /usr/share/doc/dhcp-x.xx/dhcpd.conf.sample来做。也可以先把这个文件cp 到 /etc/dhcpd.conf,然后根据自己的需要做适当修改。下面贴出我的一个/etc/dhcpd.conf,供大家参考:
ddns-update-style interim;
ignore client-updates;
max-lease-time 604800;
default-lease-time 86400;
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qSSpjerAuaPE/X3JJyxSww==;
};
zone shcto.com. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 160.230.10.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
subnet 10.230.160.0 netmask 255.255.255.0 {
range 10.230.160.30 10.230.160.230;
# --- default gateway
option routers 10.230.160.254;
option subnet-mask 255.255.255.0;
option broadcast-address 10.230.160.255;
# --- option nis-domain "domain.org";
option domain-name "shcto.com";
option domain-name-servers 10.230.128.33,10.230.128.34;
}
几个要注意的地方:
1. 'ddns-update-style'
这个就是动态DNS的更新方式,有几个选项,我用的是interim,可以用 man dhcpd.conf找到另外的几个选项。
2. 'ignore client-updates'
这个选项是不允许客户机更新DNS记录。当然,也可能允许,但会有一点问题。
3. 'key DHCP_UPDATER'
这个是更新DNS的KEY,是必须的。其中algorithm 后的是生成key的算法,key的生成是用 'dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER'。
4. 'zone'
要更新的zone,如果是本机就是DNS server,primay 就写127.0.0.1,要是其它机器是DNS server, 就写那台机器的IP。
别的都是一般DNS该有的了,要注意的是一定要有 range 那一行,不然就分不了IP啦。
配好以后,可以启动一下试试, service dhcpd start,如果没问题,把dhcpd改成开机就启动,chkconfig --level 2345 dhcpd on。
三、bind(named)的配置。
# rpm -qa | gerp bind
看有没有bind-xx及bind-chroot-xx理论上chroot可以提高安全性但设置时繁琐一点
# rpm -qa | gerp caching-name
看caching-nameserver是否也已经装了,这个不装的话就要自己写named.ca等几个文件了
######################3named.conf参考范例:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
forward first;
forwarders { 202.99.224.8; 202.99.224.67; 202.106.0.20; };
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qSSpjerAuaPE/X3JJyxSww==;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "160.230.10.in-addr.arpa" IN {
type master;
file "named.160.230.10";
allow-update { key DHCP_UPDATER; };
};
zone "shcto.com" IN {
type master;
file "named.shcto.com";
allow-update { key DHCP_UPDATER; };
};
include "/etc/rndc.key";
/var/named/
区域文件
$TTL 86400
$ORIGIN shcto.com.
@ IN SOA NS1.shcto.com. root.NS1.shcto.com. (
2007121001;
28800;
14400;
3600000;
86400);
IN NS NS1.shcto.com.
IN MX 0 mail.shcto.com.
mail IN A 10.230.129.40
webserver IN A 10.230.128.36
www IN CNAME webserver
smbserver IN A 10.230.128.33
ftp IN CNAME smbserver
named.128.230.10
$TTL 86400
@ IN SOA NS1.shcto.com. root.mail.shcto.com.(
2007121001;
28800;
14400;
3600000;
86400);
IN NS NS1.shcto.com.
40 IN PTR mail.shcto.com.
33 IN PTR smbserver.shcto.com.
80 IN PTR webserver.shcto.com.
其中多了的是
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qhB++OR5yWo8BTXwk/m4ng;
};
这就是更新dns要用的key,必须和dhcpd.conf里的一样。
还有就是每个 zone 都可以用 key 来update了。
这样就行了。然后启动一下试试吧。
你就可以ping 机器名来找你同事的机器了。
四。测试(主要讲讲LINUX)
在客户机上加入一个文件/etc/dhclient.conf内容如下
send fqdn.fqdn "test"; //test为本机的hostname
send fqdn.encoded on;
send fqdn.server-update off;
运行dhclient或重新启动
正常的话DNS服务器主机的/var/named/chroot/var/named下会多出一个以jnl结尾的
‘伍’ 如何自己做一台 ddns server
环境
OS: Red Hat Enterprise Linux 5 update 4
Network: 192.168.122.0/24
前言
在上搜DDNS,很多地方把DDNS解释为DHCP + DNS,其实这是牵强附会。DDNS是
Dynamic Domain Name Server的简称。DHCP分配IP的时候更新DNS服务器域名解析记录,这
就是DDNS所做的事情,而是否更新客户端的hostname显示倒是其次。
操作
这是DNS服务器的环境:
[root@server ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server.afang.org
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconctor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.122.254
NETMASK=255.255.255.0
HWADDR=54:52:00:4F:D5:68
ONBOOT=yes
[root@server ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 54:52:00:4F:D5:68
inet addr:192.168.122.254 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::5652:ff:fe4f:d568/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:280 errors:0 dropped:0 overruns:0 frame:0
TX packets:232 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24404 (23.8 KiB) TX bytes:31850 (31.1 KiB)
Interrupt:10
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:180 errors:0 dropped:0 overruns:0 frame:0
TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:14680 (14.3 KiB) TX bytes:14680 (14.3 KiB)
[root@server ~]#
安装配置DNS服务器
[root@server ~]# cd /misc/cd/Server
[root@server Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm bind-chroot-9.3.6-4.P1.el5.i386.rpm
caching-nameserver-9.3.6-4.P1.el5.i386.rpm
warning: bind-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:bind ########################################### [ 33%]
2:bind-chroot ########################################### [ 67%]
3:caching-nameserver ########################################### [100%]
[root@server Server]# cd /var/named/chroot/etc/
[root@server etc]# ls
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
[root@server etc]# mv named.caching-nameserver.conf named.conf
[root@server etc]# mv named.rfc1912.zones named.zones
[root@server etc]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
[root@server etc]# ln -s /var/named/chroot/etc/named.zones /etc/named.zones
[root@server etc]#
这是我的named.conf和named.zones配置
named.conf
[root@server etc]# cat named.conf
acl afang.org { 192.168.122.0/24; };
options {
listen-on port 53 { 127.0.0.1; afang.org; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; afang.org; };
allow-query-cache { localhost; afang.org; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view afang.org {
match-clients { localhost; afang.org; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.zones";
};
[root@server etc]#
named.zones
[root@server etc]# cat named.zones
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "afang.org" IN {
type master;
file "afang.org.zone";
allow-update { localhost; };
};
zone "122.168.192.in-addr.arpa" IN {
type master;
file "122.168.192.in-addr.arpa.rzone";
allow-update { localhost; };
};
[root@server etc]#
对named.zones的一些解释
zone "afang.org" IN {
type master;
file "afang.org.zone";
allow-update { localhost; };
};
zone "122.168.192.in-addr.arpa" IN {
type master;
file "122.168.192.in-addr.arpa.rzone";
allow-update { localhost; };
};
这里allow-update允许DHCP服务器从本地IP来更新DNS的解析记录。如果你的DNS和
DHCP服务不在同一台机器上,你也可以在allow-update里面指定DHCP服务器的IP。但是这
样是不安全的。如果有人恶意把自己的IP设置为该IP,则DNS服务器就很容易给入侵。
这是我的域名解析记录
[root@server named]# pwd
/var/named/chroot/var/named
[root@server named]# ls
data localhost.zone named.ca named.local slaves
localdomain.zone named.broadcast named.ip6.local named.zero
[root@server named]# cp localdomain.zone afang.org.zone
[root@server named]# cp named.local 122.168.192.in-addr.arpa.rzone
这是afang.org.zone和122.168.192.in-addr.arpa.rzone 的内容
afang.org.zone
[root@server named]# cat afang.org.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
server IN A 192.168.122.254
[root@server named]#
122.168.192.in-addr.arpa.rzone
[root@server named]# cat 122.168.192.in-addr.arpa.rzone
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
254 IN PTR server.afang.org.
[root@server named]#
此外对目录和文件设置合适的权限
‘陆’ 海康威视ddns如何设置
适用型号:海康系列 网络硬盘录像机DVR/NVR
网络环境:通过DVR+路由器拨号模式
前提:
1、 硬盘录像机 用网线连接到路由器上面;
2、 准备一台电脑,可以通过IE浏览器,输入“路由器的IP地址(例如:192.168.1.1)”,登录到路由器里面。
简单的说,只需要配置两个部分:
1、硬盘录像机(DVR/NVR);
2、路由器
一、在DVR上只需要配置(主菜单---系统配置---网络配置)以下四处界面:
二、在路由器上只需要做“端口映射”,映射3个端口,不管什么路由器原理都是一样的,以TP-Link路由器为例:
详细操作流程
第一步:DVR/NVR本地配置
硬盘录像机直接用BNC/VGA/HDMI线接显示器本地输出,默认登录的用户名:admin 密码: 12345。
1.1、鼠标右键点击“主菜单”
1.2、点击进入“系统配置”
1.3、点击“网络配置”,设置“基本配置”的参数
a、自动获取IPv4地址“不勾选”,将硬盘录像机的IP地址设置成与路由器同一个网段,例如:路由器的IP地址是192.168.1.1,那么硬盘录像机就可以设置为192.168.1.64这样的1网段的IP。
b、网关就是添加路由器的IP,首选DNS服务器和备用DNS服务器都与路由器的一致。
1.4、设置“DDNS”的参数
a、勾选“启用DDNS”;
b、填写“设备域名”,设备域名自定义,可以数字与字母组合,但第一位要小写字母;
c、有些界面会要求添加手机号码,输入手机号码即可,无影响。
1.5、设置“更多配置”的参数
这个界面只需要注意3个端口,其他都不用管,这3个端口是硬盘录像机的内部端口号:
1、 HTTP端口:80 (这个80端口要修改,改为5581)
2、 服务端口:8000 (暂时不需要修改,配置完成后,发现电脑可以看图像,手机看不了的时候,可以把这个端口修改为8001)
3、 RTSP端口: 554 (暂时不需要修改,配置完成后,发现电脑可以通过外网成功登录DVR,但是打开预览画面的时候会提示“预览失败”,这个时候可以把554修改为1554)