權威DNS服務器NSD + Shorewall-中小企業網絡

系列總索引: 中小企業計算機網絡:簡介

本文是續篇:

你好朋友和朋友們!

本組 熱心者 買了互聯網域名 來自linux.fan 到您的Internet服務提供商或 ISP。 作為此次收購的一部分,他們要求ISP包括Internet解析有關其域的相關查詢所需的所有DNS記錄。

他們還要求將有關 XMPP 因為他們計劃安裝基於以下內容的即時消息服務器 韻律 它將加入Internet上現有的兼容XMMP服務器聯合。

  • 本文的主要目的是說明如何在DNS區域文件中反映與XMPP兼容的即時消息服務相關的SRV記錄。.
  • 安裝 岸牆 通過單個網絡接口,它可以為那些決定安裝這樣的服務器的用戶提供服務,以管理委託的DNS區域。 如果該服務器除了Internet之外還連接到企業LAN,則必須進行必要的設置以使用兩個網絡接口.

基本服務器

我們將在上安裝權威的DNS服務器NSD Debian“傑西”。 這是“風扇”的根服務器。 服務器的主要參數是:

名稱: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 /接口..確定區域中的主機...查找動作文件...檢查/ 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:〜#納米/ etc /默認/岸壁
#防止使用默認配置啟動#將以下變量設置為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及其拒絕的默認策略- 拒絕 防火牆以防禦外部攻擊。 至少,它帶有一點保護就可以進入Internet,對嗎? 😉

根@ 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區域:名稱: 來自linux.fan
    區域文件:/etc/nsd/desdelinux.fan.zone提供-xfr:172.16.10.250 NOKEY區域:名稱: 10.16.172.in-addr.arpa
    區域文件:/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:〜#納米/etc/nsd/desdelinux.fan.zone
$來自linux.fan的ORIGIN。 $ TTL 3H @ IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 (1;序列1D;刷新1H;重試1W;到期3H); 最小或負的生存時間; @ IN NS ns.fromlinux.fan。 @ IN MX 10 mail.fromlinux.fan。 @ IN TXT“ v = spf1 a:mail.desdelinux.fan -all”; ; 記錄以解決來自linux.fan @ IN A 172.16.10.10的挖掘查詢; ns來自linux.fan的IN CNAME中的一個172.16.10.30郵件。 從linux.fan在CNAME中聊天。 來自linux.fan的www IN CNAME。 ; ; 與XMPP相關的SRV記錄
_xmpp-server._tcp IN SRV 0 0 5269來自linux.fan。
_xmpp-client._tcp IN SRV 0 0 5222來自linux.fan。
_jabber._tcp IN SRV 0 0 5269來自linux.fan。

root @ ns:〜#納米/etc/nsd/10.16.172.arpa.zone
$原始10.16.172.in-addr.arpa。
$ TTL 3H @ IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 (1;序列1D;刷新1H;重試1W;到期3H); 最小或負的生存時間; @ IN NS ns.fromlinux.fan。 ; 30 IN PTR ns.fromlinux.fan。 來自linux.fan的10 IN PTR。

root @ ns:〜#linux.fan中的nsd-checkzone / linux.fan.zone中的/ etc / nsd /
linux.fan的區域可以
root @ 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:〜#來自linux.fan的主機
desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

root @ ns:〜#主機mail.fromlinux.fan
mail.desdelinux.fan是desdelinux.fan的別名。 desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

root @ ns:〜#主機chat.fromlinux.fan
chat.desdelinux.fan是desdelinux.fan的別名。 desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

root @ ns:〜#主機www.desdelinux.fan
www.desdelinux.fan是desdelinux.fan的別名。 desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

root @ ns:〜#主機ns.fromlinux.fan
ns.fromlinux.fan地址為172.16.10.30

root @ ns:〜#主機172.16.10.30
30.10.16.172.in-addr.arpa域名指針ns.fromlinux.fan。

root @ ns:〜#主機172.16.10.10
來自linux.fan的10.10.16.172.in-addr.arpa域名指針。

root @ ns:〜#主機ns.fan
ns.fan地址為172.16.10.30

互聯網上的名稱解析檢查

  • 詳細的DNS查詢永遠不會太多,因為域名解析的正確操作將在很大程度上取決於網絡的正確操作.

要執行DNS查詢,我已連接到交換機- 開關 測試,帶有IP的筆記本電腦 172.16.10.250 和網關 172.16.10.1,與我的工作站相對應的IP地址 sysadmin.fromlinux.fan 如前幾篇文章所述。

桑德拉@筆記本電腦:〜$ 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.fan
desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

桑德拉@筆記本電腦:〜$ host mail.fromlinux.fan
mail.desdelinux.fan是desdelinux.fan的別名。 desdelinux.fan的地址為172.16.10.10 desdelinux.fan郵件由10個mail.desdelinux.fan處理。

桑德拉@筆記本電腦:〜$主機ns.fromlinux.fan
ns.fromlinux.fan地址為172.16.10.30

桑德拉@筆記本電腦:〜$主機172.16.10.30
30.10.16.172.in-addr.arpa域名指針ns.fromlinux.fan。

桑德拉@筆記本電腦:〜$主機172.16.10.10
來自linux.fan的10.10.16.172.in-addr.arpa域名指針。

桑德拉@筆記本電腦:〜$ host -t SRV _xmpp-server._tcp.fromlinux.fan
_xmpp-server._tcp.desdelinux.fan具有來自linux.fan的SRV記錄0 0 5269。

桑德拉@筆記本電腦:〜$ host -t SRV _xmpp-client._tcp.fromlinux.fan
來自linux.fan的_xmpp-client._tcp。具有來自linux.fan的SRV記錄0 0 5222。

桑德拉@筆記本電腦:〜$ host -t SRV _jabber._tcp.fromlinux.fan
_jabber._tcp.desdelinux.fan具有來自linux.fan的SRV記錄0 0 5269。

桑德拉@筆記本電腦:〜$主機-風扇。
嘗試“粉絲”; ->> 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 << >>來自linux.fan axfr ;; 全局選項:linux.fan中的+ cmd。 10800 IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 來自linux.fan的1 86400 3600 604800 10800 10800 IN NS ns.fromlinux.fan。 來自linux.fan。 10800 IN MX 10 mail.fromlinux.fan。 來自linux.fan。 10800輸入TXT“ v = spf1 a:mail.fromlinux.fan -all” fromlinux.fan。 10800 IN A 172.16.10.10 _jabber._tcp.fromlinux.fan。 來自linux.fan的10800 IN SRV 0 0 5269 _xmpp-client._tcp.fromlinux.fan。 來自linux.fan的10800 IN SRV 0 0 5222 _xmpp-server._tcp.fromlinux.fan。 來自linux.fan的10800 IN SRV 0 0 5269 chat.fromlinux.fan。 linux.fan中的10800 IN CNAME。 mail.fromlinux.fan。 linux.fan中的10800 IN CNAME。 ns.fromlinux.fan。 10800 IN A 172.16.10.30 www.desdelinux.fan。 linux.fan中的10800 IN CNAME。 來自linux.fan。 10800 IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 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。 10800 IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 1 86400 3600 604800 10800 10.16.172.in-addr.arpa。 10800 IN NS ns.fromlinux.fan。 在addr.arpa中10.10.16.172。 來自linux.fan的10800 IN PTR。 30.10.16.172.in-addr.arpa。 10800 IN PTR ns.fromlinux.fan。 在addr.arpa中10.16.172。 10800 IN SOA ns.fromlinux.fan。 root.fromlinux.fan。 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.fromlinux.fan
Ping ns.fromlinux.fan(172.16.10.30)56(84)字節數據。

必要的DNS查詢已正確回答。 我們還會檢查Shorewall是否正常工作,並且不接受 來自連接到Internet的計算機。

總結

  • 我們了解瞭如何使用基本選項和最少選項安裝和配置基於NSD的權威DNS服務器。 我們驗證區域文件的語法與BIND的語法非常相似。 互聯網上有關於NSD的非常完整的文獻。
  • 我們實現了顯示與XMPP相關的SRV記錄聲明的目標。
  • 我們協助安裝和最小化基於Shorewall的防火牆。

下次發貨

Prosody IM和本地用戶.


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

8條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  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加入社區並發表評論