DHCP最佳实践(一)

DHCP最佳实践(一),第1张

这是Windows DHCP最佳实践和技巧的最终指南。

如果您有任何最佳做法或技巧,请在下面的评论中发布它们。

在本指南(一)中,我将分享以下 DHCP最佳实践和技巧

一般建议不要在域控制器上运行除DNS以外的任何其他角色。您的域控制器应该是域控制器/ DNS,就是这样。小型组织通常会在其域控制器上安装其他角色和第三方软件。建议您尽可能避免这种情况。

有什么问题

在DC上安装其他服务会增加攻击面,使其难以管理,并可能导致性能问题。

安装了多个角色的域控制器很难管理。这通常会导致不稳定和服务中断。

例如,假设您在使用DHCP时遇到问题,或者安装了需要重新启动的安全补丁。重新引导具有Active Directory域服务角色的服务器可能会对组织造成重大破坏。这可能会影响身份验证,复制,组策略和DNS。如果DNS关闭,您的用户将无法访问任何内容。

如果您有多个域控制器并且配置正确,则可以避免这些问题,但是为什么要冒险呢?

如果在自己的服务器上安装了DHCP,则可以重新启动DCHP服务器,而不必担心会影响域控制器上的服务。

在自己的成员服务器上安装DHCP将减少DC的攻击面。

通常,我已经看到DHCP服务器运行非常高效,并且不需要大量系统资源(例如CPU或内存)。

但是,假设您刚刚了解了新的DHCP选项(例如冲突检测),然后将其打开了所有作用域。现在,CPU使用率激增,域服务变慢,用户无法登录,DNS请求也变慢。

也许您安装了IPAM来跟踪可用的IP地址,并且占用了CPU和内存,从而再次占用了域服务的资源。

我可以继续假设很多情况,但是要指出的是,您在域控制器上安装的软件/服务越多,对性能的影响就越大,并导致服务中断。

DHCP故障转移是用于确保DHCP服务器的高可用性的功能。通过DHCP故障转移,两台DHCP服务器共享DHCP信息,因此,如果一台服务器发生故障,另一台服务器仍可以为客户端提供DHCP租约。

DHCP故障转移选项内置在Windows服务器操作系统中。下图显示了两个配置有负载平衡故障模式的DHCP服务器的设置。如果一台服务器发生故障,另一台服务器仍处于活动状态并接管所有DCHP请求。

有两种故障转移设计选项:

使用热备用模式时,一台服务器是活动服务器,另一台是备用服务器。活动服务器是主服务器,并处理所有DHCP请求。如果活动服务器关闭,则备用服务器将接管DHCP请求。

该选项通常与备用单元位于与主用单元不同的位置时使用。

在负载平衡模式下,两台服务器均以双活模式工作以处理DHCP请求。请求是负载平衡的,并在两个DHCP服务器之间共享。如果其中一台服务器与其故障转移伙伴失去联系,它将开始向所有DHCP客户端授予租约。

资料来源

https://docs.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn338979(v%3Dws.11)

您的大型网络在多个位置都有分支机构吗?

问题是您是在这些分支机构中安装DHCP服务器,还是将它们隧道传输回集中式DHCP服务器?

集中式DHCP服务器放置在远程办公室连接到DHCP的集中位置。它通常位于主要数据中心之一。在此设计中,没有本地DHCP服务器,所有请求都返回到集中式服务器。

在分布式DHCP模型中,本地分支机构中有DHCP服务器。此模型的客户端从本地DHCP服务器获取IP地址。

那么哪个选项最好呢?

可以用一个简单的问题来回答吗?

分支机构可以完全独立地工作,而无需回到数据中心吗?如果是,则应该有一个本地DHCP和DNS服务器。

如果分支机构通过隧道返回到Internet,Active Directory,DNS等数据中心,则将DHCP放在本地毫无意义。

我为一家在全国设有分部的公司工作,并使用集中式DHCP模式。我们拥有可靠的快速连接,因此使用集中式DHCP服务器非常有意义。

要考虑的一件事是分部有多少员工。如果您有一个拥有数千名员工的大型分部,那么拥有Active Directory,DNS和DHCP等本地资源可能会有所帮助。这将通过WAN链接传输大量流量,如果该链接断开,将使所有这些员工脱机。

资料来源

https://docs.microsoft.com/zh-cn/archive/blogs/teamdhcp/multi-site-deployment-topologies-for-dhcp-failover

https://www.reddit.com/r/networking/comments/8wb0qg/distributed_vs_centralized_dhcp/

为计算机,打印机,电话或任何其他最终用户设备分配静态IP地址是一件很麻烦的事情。

以下是统计分配静态IP地址时,发生以下情况:

我已经多次处于上述情况,就像我说的那样。为了避免这种情况,只需使用DHCP保留而不是静态IP分配即可。

对于需要固定IP地址的任何内容,我都使用DHCP保留。一个例外是路由器和交换机等基础设施设备,它们会获得静态IP。

打印机的DHCP保留的屏幕截图。

通过DHCP保留,您所需要做的就是在更换设备并自动将IP分配回设备时更新MAC地址。它还可以快速查看为其分配IP的所有内容,而无需手动跟踪电子表格中的所有内容。

DHCP最佳实践(一)

DHCP最佳实践(二)

DHCP最佳实践(三)

DHCP最佳实践(四)

基本上来说, 云服务器 的价格主要是由配置决定的,配置越高,耗费的资源越多,那么价格也就越贵,配置越低,价格也就相应的更便宜。【感兴趣的话点击此处了解一下】

云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。避免了使用传统服务器时需要预估资源用量及前期投入,帮助您在短时间内快速启动任意数量的云服务器并即时部署应用程序,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。云服务器是云计算服务的重要组成部分,也是最基础的计算服务,基于蓝队云自主研发的分布式计算系统,通过虚拟化技术整理IT资源,为各行业提供互联网基础设施服务。

亿万克政务云服务资源层包含IaaS、PaaS和SaaS三个层面的资源。IaaS层整合了网站群的服务器、存储、网络和安全等基础设施资源;PaaS层整合了网站群的数据库、开发环境和操作系统等平台资源;SaaS层整合了网站群的流量分析服务、用户管理服务、健康诊断服务、公共资源交易服务、内容发布服务等网站群各分站通用的服务,同时还整合了公积金查询、水电气费缴纳等区域门户和专业门户特有的公共服务。

安装RSYSLOG服务器

这第一个部分描述的是如何搭建从客户端收集syslog数据的RSYSLOG服务器。在该例子中,我们的服务器名为rsyslog.domain.com,其固定IP地址为192.168.0.15。

首先,我们安装一些依赖项。

apt-get update

apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

安装过程中要求你输入MySQL服务器的密码时,创建一个密码!

我的OpenVZ模板已准备好了一切,所以下面这个命令对你来说可能没有必要……

apt-get install linux-kernel-headers

确保相应服务已创建并运行起来……

/etc/init.d/rsyslog restart

/etc/init.d/mysql restart

/etc/init.d/apache2 restart

确保服务器在侦听合适的TCP IP端口(端口80和端口3306)。这时,RSYSLOG还没有侦听任何端口。

rsyslog:~# netstat -tapn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      415/mysqld

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      581/apache2

然后,我们可以构建rsyslog数据库:

mysqladmin -u root -p create rsyslog

接下来,我们启动MySQL命令外壳程序,创建rsyslog用户:

mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE'

FLUSH PRIVILEGES

quit

接下来,我们配置rsyslog服务器,以便侦听TCP端口514:

vi /etc/rsyslog.conf

添加这几行……(要记得将密码更改成你在创建MySQL服务器的rsyslog用户时输入的那个密码。)

$ModLoad MySQL

*.*       >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE

……并去掉处理TCP syslog接收的几行代码前面的注释。

# rsyslog v3的/etc/rsyslog.conf配置文件

#

# 想了解更多信息,请参阅/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html

$ModLoad MySQL

*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE

#################

#### 模块 ####

#################

$ModLoad imuxsock # 提供对本地系统日志的支持

$ModLoad imklog # 提供内核日志支持(以前由rklogd来提供)

#$ModLoad immark # 提供--MARK--息功能

# 提供UDP syslog接收

#$ModLoad imudp

#$UDPServerRun 514

# 提供TCP syslog接收

$ModLoad imtcp

$InputTCPServerRun 514

###########################

#### 全局指令 ####

###########################

并重启rsyslog服务。

/etc/init.d/rsyslog restart

确保服务器在侦听合适的TCP IP端口。(端口80、端口514和端口3306。)

rsyslog:~# netstat -tapn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      618/rsyslogd

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      415/mysqld

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      581/apache2

接着我们下载LogAnalyzer,并配置Apache web服务器,以便显示日志。

cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz

mv loganalyzer-3.4.1/ /var/www/

cd /var/www

接着我们为Apache web服务器配置www文件夹用户权限。

chown www-data:www-data * . -Rf

然后,我们对LogAnalyzer文件夹作了一些“改进”工作。

mv loganalyzer-3.4.1/ loganalyzer

cd contrib/

cp * ./../src/

cd ./../src/

sh ./configure.sh

我们已准备使用我们的互联网服务器来输入LogAnalyzer的最后设置项。往你的互联网浏览器里面输入rsyslog服务器的固定IP地址,本文中是http://192.168.0.15/loganalyzer/src/install.php。

运行简单的设置脚本(很简单,只要点击next ->next。)

现在,你应该有了正常运行的rsyslog服务器,而且LogAnalyzer已创建并运行起来。

接下来,我们配置RSYSLOG客户端,以便将其syslog数据发送到rsyslog服务器:

配置RSYSLOG客户端

我们要做的通常仅仅是配置rsyslog.conf文件,然后重启服务。(几乎所有Debian操作系统都预先安装了rsyslog。)

vi /etc/rsyslog.conf

添加万一网络连接中断要用到的work spool目录这几行,并将你的rsyslog服务器IP地址更改成192.168.0.15。(你可能还想要用mkdir命令来创建/rsyslog/work spool目录。)

# 提供TCP syslog接收

#$ModLoad imtcp

#$InputTCPServerRun 514

$WorkDirectory /rsyslog/work # work(spool)文件的默认位置

$ActionQueueType LinkedList # 使用异步处理

$ActionQueueFileName srvrfwd # 设置文件名称,还启用磁盘模式

$ActionResumeRetryCount -1 # 插入失败后,无限次重试

$ActionQueueSaveOnShutdown on # 如果rsyslog关闭,保存内存中数据

*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE

###########################

#### 全局指令####

###########################

并重启rsyslog服务。

/etc/init.d/rsyslog restart

服务器已通过合适的TCP IP端口(端口514)连接。

root@ic1:~# netstat -tapn

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 192.168.0.100:49188     192.168.0.15:514         ESTABLISHED 13289/rsyslogd

这就是成功搭建的系统的样子。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/130402.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存