网络
- 动态公网IP再利用
- 一个IP建多个Web站点--主机头名法
- 通过Nginx反向代理实现多个域名站点复用一个公网IP
- WHOIS 数据
- 申请企业网络专线流程及资质
- 网络优化
- BIND DNS
- windows 5G路由器安装
动态公网IP再利用
问题
-
这个公网IP为路由器WAN口所得,我可以让局域网内的服务主机供公网访问吗
- 利用路由器上的端口映射功能,将内网的8081映射到公网的8081
-
这个IP地址每天会更新一次,我要每次使用都需要查询一下吗
- 通过DDNS更新IP地址值到域名的A记录
-
我想做一个网站,80、443端口被运营商封了怎么办
- 通过服务器搭建的反向代理服务,将服务器上的80端口反向代理到公网IP的8081端口
端口映射
内网地址:192.168.188.205的所有端口,映射到外网接口的1-65536,all端口
映射成功后,比如192.168.188.205这台主机搭建了WEB服务在8088端口,此时,访问外网接口的8088端口就可以进行连接
DDNS:
端口映射后,虽然可以达成访问需求,但是毕竟是动态公网IP,此地址每天都会更新,我们可以利用DDNS服务,定期检查现在公网,把这个地址自动写进DNS的域名解析A记录的值
DDNS工作流程:
获取当前公网IP地址
通过API的ID与密码登录DNS控制台
修改配置文件里子域名的IP值
通过定时任务定时更新域名解析的值为当前公网IP
材料:
- 随便注册域名一个
- Linux主机或支持DDNS服务的路由器
我拿已经注册好的域名来做一个演示(DNSPod平台)
在控制台->我的域名->选择已有域名->增加记录
随便增加一个三级域名记录:xxx.llzdsec.com,类型为A记录,记录值随便填
获取控制台API
点击右上角头像->账号中心->API密钥->DNSPod Token
创建成功后,请记住ID与Token值,为API的账号与密码
编辑脚本
1 |
BASH
|
修改TOKEN
,DOMAIN
,SUB_DOMAIN
为实际值
1 |
BASH
|
1 |
BASH
|
定时执行
1 |
BASH
|
反向代理
做完上面步骤后,已经可以通过域名的方式访问内网的WEB应用了,但是由于运营商封堵了80(http)和443(https)端口,导致要用到其他端口才可以访问:update.llzdsec.com:8088,加个端口会显得比较别扭,用反向代理可以很好解决
登录自己购买的服务器
在开始之前,先关闭阻止菜鸟前进的SElinux和防火墙
1 |
GRADLE
|
1 |
BASH
|
安装配置
1
|
BASH
|
1
|
BASH
|
1 |
BASH
|
1
|
|
一个IP建多个Web站点--主机头名法
由于各种原因,我们有时候需要在一个IP地址上建立多个web站点,在IIS中,我们可能通过简单的设置达到这个目标。
在IIS中,每个 Web 站点都具有唯一的、由三个部分组成的标识,用来接收和响应请求:
1、IP地址
2、端口号
3、主机头名。
在IIS中,在一个IP地址上建立多个独立的web站点,通常有两种方法,本文以以例子的形式介绍主机头法,使用这种方法可以建立起专业的虚拟主机。
环境:假设某公司用一台win2000服务器提供虚拟主机服务,地址是192.168.1.10。在这台服务器已经安装了Internet服务即IIS。
现在公司要求网络管理员在服务器上使用一个IP为A、B、C、D四个公司建立独立的网站,每个网站拥有自己独立的域名。四家网站域名分别为:www.a.com,www.b.com,www.c.com和www.d.com。
通过使用主机头,站点只需一个IP地址即可维护多个站点。客户可以使用不同的域名访问各自的站点,根本感觉不到这些站点在同一主机上。
具体操作如下:
1、在win2000服务器为四家公司建立文件夹,做为Web站点主目录。如下:
Web站点主目录
|
Web站点
|
d:\web\a
|
A公司网站
|
d:\web\b
|
B公司网站
|
d:\web\c
|
C公司网站
|
d:\web\d
|
D公司网站
|
2、使用WEB站点管理向导,分别四家公司建立独立的WEB站点,四者最大的不同是使用了不同的主机头名。
以下是个表格:
A公司网站
|
B公司网站
|
C公司网站
|
D公司网站
|
|
IP地址
|
192.168.1.10
|
|||
TCP端口
|
80
|
|||
权限
|
读取和运行脚本
|
|||
主机头名
|
www.a.com
|
www.b.com
|
www.c.com
|
www.d.com |
站点主目录
|
d:\web\a
|
d:\web\b
|
d:\web\c
|
d:\web\d
|
在DNS中将这四个域名注册上,均指向同一地址:192.168.1.10.这样,客户端就可以通过分配指定目录:
www.a.com 访问A公司站点
www.b.com 访问B公司站点
www.c.com 访问C公司站点
www.d.com 访问D公司站点
3、每个站点的主机头名可以在WEB站点建立向导中设置,它与站点的IP地址,TCP端口在同一屏上。也可能通过该站点->“属性”->“WEB站点”标签->选IP地址右边的"高级"按钮,跳出“高级多WEB站点配置”进行配置。
这种方法建立可以建立专业的虚拟主机,几乎所有使用IIS提供虚拟主机的公司都这样做的。
通过Nginx反向代理实现多个域名站点复用一个公网IP
大家都知道现在全球IPv4地址是稀缺资源,如果您的公司或自己的互联网相关应用需要对外提供服务,那么固定IP是必不可少的。申请一条带固定公网IP的互联网线路所提供的免费IP是有限的,如果需要扩充IP地址则需要增加月租费用,如果您要发布的域名及站点比较多的话,每个域名对应一个固定IP,那么就会增加您的成本,长久下来也是一笔不小的费用。
另外互联网站点通常为了增加应用的高可靠性以及横向的扩展性,通常会部署如F5、LVS、HAproxy或NGINX这类的反向代理(负载均衡)的硬件或软件在web服务器的前面,以实现四层、七层的负载均衡能力。
一、
对于有多个站点的情况,通常是通过二级域名来区分,比如说你有2个站点,你可以做2条DNS分别解析到2个不同的公网IP上。例如:
站点1: http://news.aaa.com 192.168.50.123
站点2: http://sports.aaa.com 192.168.50.124
这样当用户请求http://news.aaa.com及http://sports.aaa.com时,就会访问到对应的页面里,但这样就会消耗掉2个公网IP,如果你有N个站点,以此类推,你就需要N个公网IP地址。

二、
有朋友会说,我可以通过IP+端口号的方式来区分我的站点啊,将2个不同的域名DNS解析为同一个公网IP,这样我也是可以复用我这个公网IP的,比如将192.168.50.123:80(默认端口)映射到http://news.aaa.com,将192.168.50.123:8080映射到http://sports.aaa.com这个站点,用户访问时则需要在浏览器输入
http://sports.aaa.com:8080,这样也可以实现复用1个公网IP达到访问2个不同域名站点的需求。但问题是域名带了端口号之后对于用户体验就非常不友好了,对于小白用户来说8080端口号可能还容易敲错。对于内部用户还好,但是对于外部用户如果网站多加个端口号来访问并不太现实。
以上复用公网IP,用端口号区分网站的做法,将2个域名做DNS解析到同一个公网IP。
站点1: http://news.aaa.com 192.168.50.123
站点2: http://sports.aaa.com 192.168.50.123

三、
那有没有办法多域名多站点的情况下,通过同一个IP+80端口来访问呢?是有办法的,以下就以NGINX作为反向代理(负载均衡)为例介绍一下如何实现,其他硬件或软件也是同理的。主要是用到“虚拟主机”的这个功能,来实现公网IP的收敛。
首先NGINX作为反向代理需要使用七层代理模式(Nginx默认即为七层代理),大家知道http的请求是有http报文头的,在http报文头里有个字段叫做host,当我们用浏览器输入一个域名访问一个站点时,http request报文头里面就会插入对应的host域名,Nginx反向代理服务器则可以通过获取这个http request的报文头host字段,通过判断这个域名根据设定的转发规则,转发到相应的Web集群服务器里,并response对应的页面给到浏览器,这样就能够实现根据不同域名解析到同一个公网IP及端口的复用的场景,节省了公网IP的使用了。

以下是Nginx里的具体配置及请求过程,其实配置是非常简单的,只要根据servername来proxy_pass给不同的upstream即可(因网上已有大量讲解nginx反向代理及负载均衡的配置详解,这里具体配置参数的含义就不再赘述了)。
编辑nginx配置文件,vim /etc/nginx/nginx.conf
1、分别创建2个upstream,也就是后台真实服务器的pool,一个是news指向web服务器web服务器192.168.50.201,另外一个是sports,指向web服务器192.168.50.202;
2、分别创建2个server并监听80端口,其中一个设定servername为http://news.aaa.com,proxy_pass转发到news这个upstream,另外一个设定为http://sports.aaa.com,proxy_pass转发到sports这个upstream;
3、Nginx反向代理对外发布的是192.168.50.123这个IP;
http {
upstream news{
ip_hash;
server 192.168.50.201:80;
}
upstream sports{
ip_hash;
server 192.168.50.202:80;
}
server {
listen 80;
server_name news.aaa.com ;
location / {
proxy_pass http://news;
proxy_set_header Host $http_host;
}
}
server {
listen 80;
server_name sports.aaa.com;
location / {
proxy_pass http://sports;
proxy_set_header Host $http_host;
}
}
}
下面我们来测试一下,我自己的电脑模拟为客户端,并修改系统的hosts文件模拟DNS解析http://news.aaa.com及http://sports.aaa.com解析到192.168.50.123这个IP地址,windows的hosts文件在这个目录下C:\Windows\System32\drivers\etc


通过浏览器访问http://news.aaa.com


通过浏览器访问http://sports.aaa.com


以上,就实现了使用http报文头的host来选择转发到相应的节点,实现虚拟主机的功能。当然根据http报文头还可以使用很多的规则进行七层转发的操作。。
WHOIS 数据
亲爱的贵重客户:
此消息提醒您,可帮助您使与域名注册关联的联系人数据保持最新状态。我们的记录包括以下信息:
域名:example.com
注册人姓名:IANA_RESERVED
注册人:
名称:互联网号码分配局(IANA)
地址:4676 Admiralty Way, Suite 330
城市:Marina del Rey
州/省:CA
国家:美国
邮编:92092
行政联系人:
名称:互联网号码分配局(IANA)
地址:4676 Admiralty Way, Suite 330
城市:Marina del Rey
州/省:CA
国家:美国
邮编:92092
电话:310-823-9358
传真:310-823-8649
电子邮件:res-dom@iana.org
技术联系人:
名称:互联网号码分配局(IANA)
地址:4676 Admiralty Way, Suite 330
城市:Marina del Rey
州/省:CA
国家:美国
邮编:92092
电话:310-823-9358
传真:310-823-8649
电子邮件:res-dom@iana.org
原始创建日期:2001年11月1日
到期日期:2001年11月1日
名称服务器信息:
名称服务器:a.iana-servers.net。
名称服务器:b.iana-servers.net。
名称服务器:c.iana-servers.net。
如果上述任何信息不准确,您必须通过访问我们的网站进行更正。(如果您的审查表明上述所有信息都是准确的,则无需采取任何行动。)请记住,根据您的注册协议条款,提供虚假的WHOIS信息可以作为取消您的域名注册的理由。
申请企业网络专线流程及资质
中国电信
流程
- 预接受
- 立项
- 勘察
- 施工
- 开通
- 签订合同
证件
- 营业执照复印件
- 组织机构代码证
- 银行开户许可证
- 法人身份证复印件
- 经办人身份证复印件
协议
- 网络承诺书
- 受理表
- 资费表
网络优化
调优思路
本章主要是围绕优化网卡性能和利用网卡的能力分担CPU的压力来提升性能。在高并发的业务场景下,推荐使用两块网卡,减少跨片内存访问的次数。即将两块网卡分别绑定在服务器的不同CPU上,每个CPU只处理对应的网卡数据。高并发场景还可以为网卡选择x16的PCIe卡。
说明:
高并发场景是指:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。
主要优化参数
优化项 |
优化项简介 |
默认值 |
生效范围 |
鲲鹏916处理器 |
鲲鹏920处理器 |
---|---|---|---|---|---|
调整TLP(Transaction Layer Packet)的最大有效负载 |
调整PCIE总线每次数据传输的最大值 |
128B |
重启生效 |
Y |
Y |
设置网卡队列数 |
调整网卡队列数量 |
不同操作系统和网卡不同 |
立即生效 |
Y |
Y |
将每个网卡中断分别绑定到距离最近的核上 |
减少跨NUMA访问内存 |
Irqbalance |
立即生效 |
Y |
Y |
聚合中断 |
调整合适的参数以减少中断处理次数 |
不同操作系统和网卡不同 |
立即生效 |
Y |
Y |
开启TCP分段Offload(卸载) |
将TCP的分片处理交给网卡处理 |
关闭 |
立即生效 |
Y |
Y |
父主题: 网络子系统性能调优
BIND DNS
域名系统可帮助您在互联网上达到您想要的位置。确保您知道它是什么,以及如何设置、配置和测试它。
域名系统(DNS)用于将主机名解析(翻译)为互联网协议(IP)地址,反之亦然。DNS服务器,也称为名称服务器,将IP地址映射到主机名或域名。
在本文中,您将学习DNS的基础知识,从DNS如何获取IP地址和主机名,到正向和反向查找区域的概念。它还将向您展示如何安装和配置DNS,定义和编辑区域文件,并验证DNS是否可以借助命令解析到正确的地址。如果您是DNS的新手,本文将帮助您使用基本配置在系统上玩它。
DNS的工作原理
当客户端从nameserver请求信息时,它通常连接到端口53,然后nameserver解析请求的名称。

-
- 从DNS服务器获得对DNS客户端的响应称为查找响应。
- 配置DNS服务的系统称为DNS服务器。
- 访问DNS服务器的系统称为DNS客户端。
DNS 在哪里获取 IP 地址?
您可能会想知道DNS如何获取相应主机名或域名的IP。DNS如何在不同的IP地址之间搜索并正确关联您的域名?谁存储了域名和IP地址之间的映射?
DNS工作流程说明了DNS内部通信的方式以及它如何解决地址问题。

- 当客户端搜索域名
www.example.com
时,请求最初将发送到互联网服务提供商(ISP)解析器。它将响应用户解析域名的请求。 - 如果在解析器上找不到IP地址,请求将转发到根DNS服务器,然后转发到顶级域(TLD)服务器。
- TLD服务器存储顶级域的信息,如.com或.net。
- 请求被转发给名称服务器,这些服务器知道有关域和IP地址的详细信息。
- 命名服务器响应ISP的解析器,然后解析器使用请求的IP响应客户端。
- 当解析器不知道IP时,它会将IP及其域存储在缓存中,以服务未来的查询。
[立即下载:系统管理员IT自动化指南。】
向前和反向查找
正向查找区域使用域名搜索IP地址,而反向查找区域使用IP地址搜索域名。

安装和配置DNS
BIND是一个名称服务器服务,负责在基于Linux的DNS服务器上执行域名称到IP的转换。
[root@servera ~] # yum install bind
BIND软件包提供named
服务。它从/etc/named
和/etc/named.conf
文件中读取配置。安装此软件包后,您可以开始配置DNS。
配置 /etc/named.conf 文件
首先,在选项字段中添加或编辑这两个值。一个是DNS服务器地址,另一个是允许查询任何地址。
[root@servera ~] # vim /etc/named.conf
listen-on port 53 { 127.0.0.1; 192.168.25.132; };
allow-query { localhost; any; };
以下是上述文件中的值:
- 192.168.25.132 – DNS 服务器地址
- 任何 – 匹配每个 IP 地址
定义正反区域
在/etc/named.conf
或/etc/named.rfc1912.zones
中定义正向和反向区域(您可以在其中任何文件中定义区域)。在本例中,我将区域定义详细信息附加到/etc/named.rfc1912.zones
文件中。
[root@servera ~] # vim /etc/named.rfc1912.zones
zone "example.com" IN { type master;
file "example.forward.zone";
allow-update { none; };
};
zone "25.168.192.in-addr.arpa" IN {
type master;
file "example.reverse.zone";
allow-update { none; };
};
创建前进和反向区域文件
您还需要在/var/named
目录中创建正向和反向区域文件。
注意:默认情况下,named.conf
文件包括用于检查区域文件的/var/named
目录。在安装BIND软件包期间创建named.localhost
和named.loopback
的示例区域文件。
[root@servera ~] # vim /var/named/example.forward.zone

[root@servera ~] # vim /var/named/example.reverse.zone

将nameserver IP添加到/etc/resolv.conf
首先,您必须禁用NetworkManager的DNS处理,因为它从其活动连接配置文件中动态更新带有DNS设置的/etc/resolv.conf
文件。要禁用此功能并允许手动编辑/etc/resolv.conf
,您必须创建一个文件(例如90-dns-none.conf
),作为/etc/NetworkManager/conf.d/
目录中的根文件,其中包含以下内容:
[main]
dns=none
保存文件并重新加载(重新启动)NetworkManager。
# systemctl reload NetworkManager
重新加载NetworkManager后,它不会更新/etc/resolv.conf
。现在,您可以手动将nameserver的IP地址添加到/etc/resolv.conf
文件中。
[root@servera ~] # vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain example.com
nameserver 192.168.25.132
做好准备,以防出错。阅读DNS故障诊断简介。】
启动/重新启动并启用指定的服务
如果named
服务没有运行或被禁用,则启动并启用它。如果它已经处于活动状态(正在运行),并且您进行了所有这些配置,则需要重新启动服务以进行更改。
[root@servera ~] # systemctl status named.service
[root@servera ~] # systemctl start named.service
[root@servera ~] # systemctl enable named.service
[root@servera ~] # systemctl restart named.service
验证DNS名称分辨率
您已安装BIND软件包,配置named
文件,创建了查找区域,并重新启动了服务以使配置生效。现在使用nslookup
和dig
命令来检查DNS是否正常工作,并验证您是否得到了预期结果。
nslookup
是一个查询互联网域名服务器的程序。dig
是查询DNS服务器的工具。它执行DNS查找并显示从nameserver返回的答案。
使用nslookup查询
[root@servera ~] # nslookup servera.example.com
Server: 192.168.25.132
Address: 192.168.25.132#53
Name: servera.example.com
Address: 192.168.25.132
[root@servera ~] # nslookup 192.168.25.132
132.25.168.192.in-addr.arpa name = servera.example.com.
询问挖掘
以下是前瞻性查找,其中DNS以192.168.11.132作为IP forservera.example.com进行响应:
[root@servera ~] # dig servera.example.com
...output truncated...
;; ANSWER SECTION:
servera.example.com. 86400 IN A 192.168.25.132
;; AUTHORITY SECTION:
example.com. 86400 IN NS servera.example.com.
...output truncated...
此示例显示反向查找,其中DNS服务器以servera.example.com作为192.168.25.132的域名进行响应:
[root@servera ~] # dig -x 192.168.25.132
...output truncated...
;; ANSWER SECTION:
132.25.168.192.in-addr.arpa. 86400 IN PTR servera.example.com.
;; AUTHORITY SECTION:
25.168.192.in-addr.arpa. 86400 IN NS servera.example.com.
;; ADDITIONAL SECTION:
servera.example.com. 86400 IN A 192.168.25.132
...output truncated...
总结
在本文中,您了解了什么是DNS及其工作原理。此外,您现在知道什么是正向和反向查找区域以及它们的工作原理。您还学习了如何安装BIND软件包,该软件包负责在系统上设置DNS并配置named
文件和查找区域。最后,您学习了两个命令,nslookup
和dig
,来查询DNS分辨率。