NSD专制DNS服务器+ Shorewall-中小企业网络

系列总索引: 中小企业计算机网络:简介

本文是续篇:

你好朋友和朋友们!

本组 热心者 买了互联网域名 desdelinux。风扇 到您的Internet服务提供商或 ISP。 作为此次收购的一部分,他们要求其ISP包括所有必要的DNS记录,以便从Internet解析有关其域的相关查询。

他们还要求将有关 XMPP 因为他们计划安装基于以下内容的即时消息服务器 韵律 它将加入Internet上现有的兼容XMMP服务器联合。

  • 本文的主要目的是说明如何在DNS区域文件中反映与XMPP兼容的即时消息服务相关的SRV记录。.
  • 安装 岸墙 通过单个网络接口,它可以为那些决定安装这样的服务器的用户提供服务,以管理委托的DNS区域。 如果该服务器除了Internet之外还连接到企业LAN,则必须进行必要的设置以使用两个网络接口.

基本服务器

我们将在上安装权威的DNS服务器NSD Debian“杰西”。 这是“ fan”域的根服务器。 服务器的主要参数是:

名称:ns.fan IP地址:172.16.10.30 root @ ns:〜#主机名
ns

root @ ns:〜#主机名--fqdn


root @ ns:〜#ip addr显示
1:什么: mtu 65536 qdisc无队列状态UNKNOWN组默认链接/环回00:00:00:00:00:00 00 brd 00:00:00:00:00:127.0.0.1 inet 8/6作用域主机lovalid_lft永久首选_lft永久inet1 :: 128/2作用域主机永远有效_lft永远首选_lft 0:eth1500: mtu 1000 qdisc pfifo_fast状态UP组默认qlen 00链接/以太0:29c:7:dc:d1:172.16.10.30b brd ff:ff:ff:ff:ff:ff inet 24/172.16.10.255 brd 0作用域全局eth6 valid_lft永远inet80 fe20 :: 29c:71ff:fedc:d64b / XNUMX作用域链接valid_lft永远forever preferred_lft永远

岸墙

在离开服务到WWW村之前,通过强大的防火墙-路由器保护服务器及其提供的服务是非常积极的。 Shorewall相对易于配置,是安全的保护措施。

  • 防火墙的正确而完整的配置是专家或专家的任务,而我们不是。 我们仅提供有关最小功能配置的指南.

我们安装了Shorewall软件包及其文档。

根@ ns:〜#aptitude show Shorewall
软件包:Shorewall新增功能:是条件:未安装
版本:4.6.4.3-2

根@ ns:〜#aptitude安装Shorewall Shorewall-doc

文件

您将在以下文件夹中找到大量文档:

  • / usr /共享/ doc / shorewall
  • / usr / share / doc / shorewall /示例
  • / usr / share / doc / shorewall-doc / html

我们配置一个网络接口

root @ ns:〜#cp / usr / share / doc / shorewall / examples /一个接口/接口\
/ etc /岸壁/

root @ ns:〜#nano / etc / shorewall /接口
#ZONE接口选项net eth0 tcpflags,logmartians,nosmurfs,sourceroute = 0

我们声明防火墙区域

root @ ns:〜#cp / usr / share / doc / shorewall / examples /一个接口/区域\
/ etc /岸壁/

root @ ns:〜#纳米/等/岸壁/区域
#ZONE TYPE OPS IN OUT#OPTIONS OPTIONS防火墙防火墙IPV4

访问防火墙的默认策略

root @ ns:〜#cp / usr / share / doc / Shorewall /示例/单接口/策略\
/ etc /岸壁/

root @ ns:〜#nano / etc / shorewall / policy
#SOURCE DEST政策记录级别限制:突发$ FW净接受
净所有DROP信息
#以下政策必须全部拒绝所有拒绝信息

访问防火墙的规则

root @ ns:〜#cp / usr / share / doc / Shorewall /示例/单接口/规则\
/ etc /岸壁/

root @ ns:〜#nano / etc / shorewall /规则
#ACTION来源DEST原始DEST原始费率用户/标记CON $#端口PORT(S)限制范围组?全部部分?已建立的部分?相关部分?无效的部分?未跟踪的部分?新的部分?无效状态的数据包无效(DROP)净$ FW tcp#从“坏”丢弃Ping  区域..并防止您的日志被淹没..#丢弃“不良”网络区域中的Ping。 #防止系统日志(/ var / log / syslog)泛洪Ping(DROP)net $ FW#允许从防火墙到网络区域的所有ICMP流量#允许从防火墙到区域的所有ICMP流量 。 接受$ FW net icmp

#自己的规则#从两台计算机通过SSH访问
SSH / ACCEPT网:172.16.10.1,172.16.10.10 $ FW tcp 22

#允许通过端口53 / tcp和53 / udp的流量
接受净额$ FW tcp 53
接受净额$ FW udp 53

我们检查配置文件的语法

root @ ns:〜#岸墙检查
检查...处理/ etc / shorewall / params ...处理/etc/shorewall/shorewall.conf ...加载模块...检查/ etc / shorewall /区域...检查/ etc / shorewall / interfaces ..确定区域中的主机...查找动作文件...检查/ etc / shorewall / policy ...添加反蓝精灵规则检查TCP标志过滤...检查内核路由过滤...检查火星日志记录...检查接受源路由...正在检查MAC过滤-阶段1 ...正在检查/ etc / shorewall /规则...正在检查/ etc / shorewall / conntrack ...正在检查MAC过滤-阶段2 ...应用策略..检查/ usr / share / shorewall / action.Drop进行链删除...正在检查/usr/share/shorewall/action.Broadcast的链广播...已验证Shorewall配置

root @ ns:〜#nano / etc /默认/ shorewall
#防止使用默认配置启动#将以下变量设置为1,以允许Shorewall启动
启动=1
------

root @ ns:〜#服务Shorewall启动
root @ ns:〜#服务Shorewall重新启动
root @ ns:〜#服务支撑状态
●Shorewall.service-LSB:在引导时配置防火墙加载:已加载(/etc/init.d/shorewall)活动:自Sun 2017-04-30 16:02:24 EDT起活动(退出); 31分钟前进程:2707 ExecStop = / etc / init.d / Shorewall stop(代码=退出,状态= 0 /成功)进程:2777 ExecStart = / etc / init.d /岸壁启动(代码=退出,状态= 0 /成功)

仔细阅读命令的输出非常有教育意义 iptables-L 特别是关于INPUT,FORWARD,OUTPUT及其拒绝的默认策略- 拒绝 防火墙以防御外部攻击。 至少,您在上网时稍加保护,对吗? 😉

根@ ns:〜#iptables -L

NSD

根@ ns:〜#aptitude show nsd
软件包:nsd新增功能:是状态:已安装自动安装:否
版本:4.1.0-3

root @ ns:〜#aptitude安装nsd
root @ ns:〜#ls / usr / share / doc / nsd /
contrib changelog.Debian.gz NSD-DIFFFILE REQUIREMENTS.gz示例changelog.gz NSD-FOR-BIND-USERS.gz TODO.gz版权区别.pdf.gz README.gz升级信用NSD-DATABASE RELNOTES.gz

root @ ns:〜#纳米/etc/nsd/nsd.conf
#Debian的NSD配置文件。 #请参见nsd.conf(5)手册页。
#请参阅/usr/share/doc/nsd/examples/nsd.conf中的注释
# 参考配置文件。
#以下行包含#/etc/nsd/nsd.conf.d目录中的其他配置文件。 #警告:全局样式尚不起作用...#包括:“ /etc/nsd/nsd.conf.d/*.conf”服务器:日志文件:“ /var/log/nsd.log” ip地址:172.16.10.30#监听IPv4连接do-ip4:是#监听IPv6连接do-ip6:否#用于应答查询的端口。 默认值为53。端口:53用户名:nsd#在区域中,provide-xfr选项用于#axfr检查区域:名称:风扇区域文件:/etc/nsd/fan.zone区域:名称: desdelinux。风扇
    区域文件:/etc/nsd/desdelinux.fan.zone 提供-xfr: 172.16.10.250 NOKEY 区域: 名称: 10.16.172.in-addr.harp
    区域文件:/etc/nsd/10.16.172.arpa.zone提供-xfr:172.16.10.250 NOKEY区域:名称:swl.fan区域文件:/etc/nsd/swl.fan.zone区域:名称:debian.fan区域文件: /etc/nsd/debian.fan.zone区域:名称:centos.fan区域文件:/etc/nsd/centos.fan.zone区域:名称:freebsd.fan区域文件:/etc/nsd/freebsd.fan.zone


根@ ns:〜#nsd-checkconf /etc/nsd/nsd.conf
根@ ns:〜#

我们创建区域文件

根区«风扇。»以下配置仅用于测试,不作为示例。 我们不是房地产名称服务器的管理员。 😉

root @ ns:〜#纳米/etc/nsd/fan.zone
$ ORIGIN风扇。 $ TTL 3H @ IN SOA ns.fan。 root.fan。 (1;序列1D;刷新1H;重试1W;到期3H); 最小或负的生存时间; @ IN NS ns.fan。 @ IN A 172.16.10.30; ns输入A 172.16.10.30

root@ns:~# nano /etc/nsd/desdelinux.粉丝区
$原产地 desdelinux。扇子。 $TTL 3H @ IN SOA 编号。desdelinux。扇子。根。desdelinux。扇子。 (1;串行1D;刷新1H;重试1W;过期3H);最小值或;负缓存生存时间; @IN NS ns。desdelinux。扇子。 @IN MX 10 电子邮件。desdelinux。扇子。 @ IN TXT "v=spf1 a:mail.desdelinux.fan -all" ; ; 注册以解决挖掘查询 desdelinux.fan@IN A 172.16.10.10; ns IN A 172.16.10.30 邮件 IN CNAME   desdelinux。扇子。使用 CNAME 聊天   desdelinux。扇子。 www 在 CNAME 中   desdelinux。扇子。 ; ;与 XMPP 相关的 SRV 记录
_xmpp-服务器._tcp 在 SRV 0 0 5269 desdelinux。扇子。
_xmpp-client._tcp 在 SRV 0 0 5222 desdelinux。扇子。
_jabber._tcp 在 SRV 0 0 5269 desdelinux。扇子。

root @ ns:〜#纳米/etc/nsd/10.16.172.arpa.zone
$原始10.16.172.in-addr.arpa。
$TTL 3H @ IN SOA 编号。desdelinux。扇子。根。desdelinux。扇子。 (1;串行1D;刷新1H;重试1W;过期3H);最小值或;负缓存生存时间; @IN NS ns。desdelinux。扇子。 ; 30 个 PTR 编号desdelinux。扇子。 10 在 PTR     desdelinux。扇子。

root@ns:~# nsd-checkzone desdelinux.fan /etc/nsd/desdelinux.粉丝区
区 desdelinux.风扇没问题
根@ ns:〜#nsd-checkzone 10.16.172.in-addr.arpa /etc/nsd/10.16.172.arpa.zone
区域10.16.172.in-addr.arpa正常#在Debian上,NSD默认终止其安装
root @ ns:〜#systemctl重新启动nsd
root @ ns:〜#systemctl状态nsd
●nsd.service-已加载名称服务器守护程序:已加载(/lib/systemd/system/nsd.service;已启用)活动:自美国东部时间2017年04月30日09:42:19开始活动(运行); 21分钟前主PID:1230(nsd)CGroup:/system.slice/nsd.service├─1230/ usr / sbin / nsd -d -c /etc/nsd/nsd.conf├─1235/ usr / sbin / nsd- d -c /etc/nsd/nsd.conf└─1249/ usr / sbin / nsd -d -c /etc/nsd/nsd.conf

从ns.fan服务器本身检查

root@ns:~# 主机 desdelinux。风扇
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

root@ns:~#hostmail。desdelinux。风扇
邮件。desdelinux.fan 是一个别名 desdelinux。扇子。
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

root@ns:~#hostchat。desdelinux。风扇
聊天。desdelinux.fan 是一个别名 desdelinux。扇子。
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

root@ns:~#主机 www.desdelinux。风扇
 desdelinux.fan 是一个别名 desdelinux。扇子。
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

root@ns:~# 主机 ns。desdelinux。风扇
纳秒。desdelinux.fan 的地址为 172.16.10.30

root @ ns:〜#主机172.16.10.30
30.10.16.172.in-addr.arpa域名指针ns。desdelinux。扇子。

root @ ns:〜#主机172.16.10.10
10.10.16.172.in-addr.arpa域名指针 desdelinux。扇子。

root @ ns:〜#主机ns.fan
ns.fan地址为172.16.10.30

互联网上的名称解析检查

  • 详细的DNS查询永远不会太多,因为域名解析的正确操作在很大程度上取决于网络的正确操作.

要执行DNS查询,我已连接到交换机- 开关 测试,带有IP的笔记本电脑 172.16.10.250 和网关 172.16.10.1,与我的工作站相对应的IP地址 系统管理员。desdelinux。风扇 如前几篇文章所述。

桑德拉@笔记本电脑:〜$ sudo ip addr show
1:什么: mtu 16436 qdisc无队列状态UNKNOWN链接/环回00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8作用域主机lo inet6 :: 1/128作用域主机valid_lft永远preferred_lft永远2:eth0: mtu 1500 qdisc pfifo_fast状态UP qlen 1000链接/以太00:17:42:8e:85:54 brd ff:ff:ff:ff:ff:ff:ff inet 172.16.10.250/24 brd 172.16.10.255作用域全局eth0 inet6 fe80: :217:42ff:fe8e:8554/64范围链接永远有效valid_lft preferred_lft永远3:wlan0: mtu 1500 qdisc noop状态向下qlen 1000链接/以太00:1d:e0:88:09:d5 brd ff:ff:ff:ff:ff:ff 4:pan0: mtu 1500 qdisc noop状态DOWN链接/ ether de:0b:67:52:69:ad brd ff:ff:ff:ff:ff:ff:ff


桑德拉@笔记本电脑:〜$ sudo route -n
内核IP路由表目标网关Genmask标志度量标准参考使用Iface 0.0.0.0 172.16.10.1 0.0.0.0 UG 0 0 0 eth0 172.16.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

桑德拉@笔记本电脑:〜$ cat /etc/resolv.conf
域名服务器172.16.10.30的

桑德拉@笔记本电脑:~$主机 desdelinux。风扇
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

桑德拉@笔记本电脑:~$主机邮箱。desdelinux。风扇
邮件。desdelinux.fan 是一个别名 desdelinux。扇子。
desdelinux.fan 的地址为 172.16.10.10
desdelinux.fan 邮件由 10 封邮件处理。desdelinux。扇子。

桑德拉@笔记本电脑:~$ 主机 ns。desdelinux。风扇
纳秒。desdelinux.fan 的地址为 172.16.10.30

桑德拉@笔记本电脑:〜$主机172.16.10.30
30.10.16.172.in-addr.arpa域名指针ns。desdelinux。扇子。

桑德拉@笔记本电脑:〜$主机172.16.10.10
10.10.16.172.in-addr.arpa域名指针 desdelinux。扇子。

sandra@laptop:~$ 主机-t SRV _xmpp-server._tcp。desdelinux。风扇
_xmpp-服务器._tcp。desdelinux.fan 有 SRV 记录 0 0 5269 desdelinux。扇子。

桑德拉@笔记本电脑:~$ 主机-t SRV _xmpp-client._tcp。desdelinux。风扇
_xmpp-客户端._tcp。desdelinux.fan 有 SRV 记录 0 0 5222 desdelinux。扇子。

桑德拉@笔记本电脑:~$ 主机 -t SRV _jabber._tcp。desdelinux。风扇
_jabber._tcp。desdelinux.fan 有 SRV 记录 0 0 5269 desdelinux。扇子。

桑德拉@笔记本电脑:〜$主机-风扇。
尝试“粉丝”; ->> HEADER <<-操作码:QUERY,状态:NOERROR,ID:57542 ;; 标志:qr aa rd; 查询:1,答案:3,权限:0,附加:1 ;; 问题:风扇。 在任何 ;; 解答:风扇。 10800 IN SOA ns.fan。 root.fan。 1 86400 3600 604800 10800风扇10800 IN NS ns.fan。 风扇。 10800 IN A 172.16.10.30 ;; 其他部分:ns.fan。 10800 IN A 172.16.10.30在111毫秒内从172.16.10.30#53接收到0个字节
  • 我们故意设置地址 172.16.10.250  在笔记本电脑上,通过DNS AXFR查询来检查所有内容,因为区域已配置为允许-在没有任何密码的情况下-从该IP进行这种类型的查询.
桑德拉@笔记本电脑:~$挖 desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> desdelinux.风扇 axfr ;;全局选项:+cmd
desdelinux。扇子。 SOA 编号 10800desdelinux。扇子。根。desdelinux。扇子。 1 86400 3600 604800 10800
desdelinux。扇子。 10800 IN NS 编号desdelinux。扇子。
desdelinux。扇子。 10800 IN MX 10 电子邮件。desdelinux。扇子。
desdelinux。扇子。 10800 IN TXT “v=spf1 a:mail.desdelinux.粉丝-全部”
desdelinux。扇子。 10800 在 172.16.10.10 _jabber._tcp。desdelinux。扇子。 10800 在 SRV 0 0 5269 desdelinux。扇子。 _xmpp-客户端._tcp。desdelinux。扇子。 10800 在 SRV 0 0 5222 desdelinux。扇子。 _xmpp-服务器._tcp。desdelinux。扇子。 10800 在 SRV 0 0 5269 desdelinux。扇子。聊天。desdelinux。扇子。 CNAME 中的 10800   desdelinux。扇子。电子邮件。desdelinux。扇子。 CNAME 中的 10800   desdelinux。扇子。 ns。desdelinux。扇子。 10800 在 172.16.10.30 www。desdelinux。扇子。 CNAME 中的 10800   desdelinux。扇子。
desdelinux。扇子。 SOA 编号 10800desdelinux。扇子。根。desdelinux。扇子。 1 86400 3600 604800 10800;;查询时间:0毫秒;;服务器:172.16.10.30#53(172.16.10.30);;时间:30 年 10 月 37 日星期日 10:2017:13 美国东部时间 ;; XFR大小:1条记录(消息428,字节XNUMX)

桑德拉@笔记本电脑:〜$挖10.16.172.in-addr.arpa axfr
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> 10.16.172.in-addr.arpa axfr ;;全局选项:+cmd 10.16.172.in-addr.arpa。 SOA 编号 10800desdelinux。扇子。根。desdelinux。扇子。 1 86400 3600 604800 10800 10.16.172.in-addr.arpa。 10800 IN NS 编号desdelinux。扇子。 10.10.16.172.in-addr.arpa。 10800 美元 desdelinux。扇子。 30.10.16.172.in-addr.arpa。 10800 IN PTR 编号desdelinux。扇子。 10.16.172.in-addr.arpa。 SOA 编号 10800desdelinux。扇子。根。desdelinux。扇子。 1 86400 3600 604800 10800;;查询时间:0毫秒;;服务器:172.16.10.30#53(172.16.10.30);;时间:30 年 10 月 37 日星期日 27:2017:5 美国东部时间 ;; XFR大小:1条记录(消息193,字节XNUMX)

桑德拉@笔记本电脑:~$ ping ns。desdelinux。风扇
PING 号desdelinux.fan (172.16.10.30) 56(84) 字节数据。

必要的DNS查询已正确回答。 我们还会检查Shorewall是否正常工作,并且不接受 来自连接到Internet的计算机。

总结

  • 我们了解了如何使用基本选项和最少选项安装和配置基于NSD的权威DNS服务器。 我们验证区域文件的语法与BIND的语法非常相似。 互联网上有关于NSD的非常完整的文献。
  • 我们实现了显示与XMPP相关的SRV记录声明的目标。
  • 我们协助安装和最小化基于Shorewall的防火墙。

下次发货

Prosody IM和本地用户.


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   弗拉西拉雷瓦洛

    早上好,Linux社区的朋友,很好的教程,我尝试安装dns,但是它声称如果还有另一种方法要感谢您,则找不到此命令。

  2.   阿尔贝托

    题?…。 您不打算将SAMBA用作SME网络的域控制器吗?

  3.   费德里科

    fracielarevalo:请注意,本文基于在Debian操作系统“ Jessie”而非CentOS上安装NSD。

    Alberto:您必须从简单走向复杂。 稍后,我们将把Samba 4视为AD-DC,即Active Directory-域控制程序。 忍耐。 我建议您阅读上一篇文章,尤其是这样的段落: 提到ARPANET,Internet和其他早期基于LDAP,目录服务或Microsoft LSASS,Active Directory或Kerberos的早期广域网或局域网的身份验证机制吗?

    请记住,所有文章都是相关的,并且是系列文章。 我认为以另一种方式(从Active Directory开始并返回到PAM)根本没有用。 正如您将看到的,许多类型的身份验证以Linux桌面上的PAM结尾。 应该编写简单的解决方案,例如我们在PAM中介绍的解决方案。 如果理解了目的,则应该阅读和研究它们。

    问候和谢谢你们的评论。

  4.   国际劳工组织

    作者的另一篇很棒的文章,像往常一样,对于我们中那些认为自己是“系统管理员”的人们来说,总会有一些新事物和极其有用的东西。
    这是我的笔记:
    1-使用NSD代替BIND作为威权DNS服务器。
    2-将与XMPP兼容的Instant Messaging服务相关的SRV记录插入DNS区域文件中。
    3-通过网络接口使用Shorewall防火墙。
    如果将来我发现有必要实施类似的解决方案,那么这篇文章对我来说就是一个“基础”(正如他谦虚指出的那样,并且是整个SME系列文章作者的愿望)。

  5.   蜥蜴

    热情的团队再次帮助我们增加了在中小企业网络方面的知识。 非常感谢您做出的如此出色的贡献,社区,我本人和我都认为,大量的sysadmin感谢您做出的如此宝贵的贡献……过去,我与Shorewall建立了其他关系,但深入研究了一个实际案例我所做的工作非常困难,这一系列针对SME的网络是sysadmin应该处理的各个领域的文档的先驱,要了解这方面的大多数文档都是英语的通用语言。 ..

    别停止,恭喜,我们继续前进!!!

  6.   费德里科

    拉加托:非常感谢您的评论和感谢。 我尝试在该系列中提供Sysadmin需要的最低基础。 当然,每个学科的自学和个人兴趣将在一定程度上取决于。

    我们继续前进!

  7.   幽灵XxX

    您好,linx社区;)。 我是OS.opte的新用户,过去很想离开我,我渴望学习尽可能多的知识。.非常好的文章..最好的问候

  8.   费德里科

    感谢Ghost加入社区并发表评论