DNS基本概念及iptables顯示擴展
資源記錄的類型
區記錄:
SOA 定義一個DNS區
NS 標誌區的服務器,受權子域
基本記錄:
A 名字到地址的轉換
AAAA 名字到IPv6地址轉換
PTR 地址到名字的轉換
MX 控制郵件的路由
安全記錄:
DS 簽發子區的密鑰散列
DNSKEY DNS名稱的公鑰
NSEC 和DNSSEC一塊兒使用,用於否認回答
RRSIG 帶簽名,通過身份驗證的資源記錄集
可選記錄:
CNAME 主機的暱稱或者別名
LOC 地理位置和範圍
SRV 提供知名服務的位置
TXT 注視或者非鍵入信息
Domain和zone
Domain:是主機組成的範圍,它是一個邏輯結構,例如example.com由zone(forward)和zone(reverse)構成;而區域zone是一個個文件構成的物理結構;Domain可包含zone,zone也可包含Domain。Domain的一級域包括組織域,國家域和反向域;組織域有:.com;.org;.net;.gov;.edu;.mil , 國家域有:.cn;.jp;.hk;.uk;.rq;.us 。
文件/etc/hosts的Search匹配一個域名列表,當主機名不全時,Search可使其補全而獲得查詢結果;nameserver字段表示指定了域名解析服務器,它最多能夠有3個,當第一個nameserver鏈接不上時,第二個nameserver才啓用,當第一個nameserver未解析到時,第二個nameserver不會啓動。
DNS的測試命令:host;dig;nslookup;Stub Resolver
host
1.)顯示查詢的簡要信息
2.)不查詢/etc/hosts文件,直接向DNS服務器發送查詢
3.)支持Search,可使用簡稱查詢信息
4.)`host -t NS(資源記錄類型) example.com(域名)`查詢域名爲example.com資源記錄類型爲NS的簡要信息
5.)`host -t A ns.example.com`解析主機名爲ns.example.com的IP地址
6.)`host -t PTR 192.168.0.29`反向解析192.168.0.29的主機名信息
dig
1.)以文件格式顯示查詢的詳細信息
2.)不查詢/etc/hosts文件,直接向DNS服務器發送查詢
3.)不支持Search,必須制定全名
4.)`dig -t NS(資源記錄類型) example.com(域名)`查詢域名爲example.com資源記錄類型爲NS的詳細信息
5.)`dig -x 192.168.0.29`反向解析192.168.0.29的主機名信息
6.)`dig +trace example.com`解析域名的整個過程的解析信息
7.)`dig -t axfr example.com`顯示所在域的區域傳送信息
nslookup在Windows下使用可用set q=NS|MX|SOA 來查詢解析信息;Stub Resolver提供一個gethostbyname()本地解析器來發送解析請求。
SOA的數據:管理員郵箱;DNS服務器的主機全名;序列號;從服務器每一個多少時間來更新數據一次;若從服務器未更新成功,從服務器在每一個多少時間在訪問一次;擋住服務器down掉以後,從服務器能夠代理域名解析多少時間;否認回答須要對方的緩存時間是多少。
DNS定義了:
1.)用主機和IP地址的一個有層次結構的名字空間
2.)做爲一個分佈式數據庫實現的主機列表
3.)一個查詢這個數據庫的「解析器」
4.)改進的路由電子郵件機制
5.)一種用於在網絡上查×××的機制
6.)一種用於交換命名信息的協議
建立子域:
1.)選擇本地環境中惟一的域名
2.)肯定兩臺或多臺主機做爲新域的服務器
3.)與父域管理員取得協商
DNS資源記錄劃分爲4組:
1.)區記錄--標識域和它們之間的名字服務器
2.)基本記錄--將名字映射到地址並路由郵件
3.)安全記錄--向區文件添加身份驗證和簽名
4.)可選記錄--提供有關主機和域的額外信息
BIND的組成
1.)稱爲named的守護進程,他回答查詢
2.)庫程序,他聯繫DNS分佈式數據庫的服務器,解析主機的查詢
3.)DNS的命令行接口,nslookup,dig和host
在named.conf中使用的語句:
include 插入一個文件
options 設置名字服務器的全局配置選項和默認值
acl 定義訪問控制列表
key 定義驗證信息
trusted-keys 使用預先設置的密鑰
server 指定每一個服務所特有的選項
masters 定義一個主服務器列表,包含在存根去和從區裏
logging 指定日誌記錄及其目錄的位置
zone 定義資源記錄的一個區
controls 用ndc來定義用於控制名字服務器的渠道
view 定義域名空間的一個視圖(veiw)
lwres 指定應該也是一個解析器的名字服務器
DNS的解析過程:
1.)主機首先查看DNS緩存中的信息是否有匹配的,如有則直接解析域名,若沒有則進行下一步
2.)主機讀取/etc/hosts的信息,如有匹配則解析域名,若沒有匹配則進行下一步
3.)主機經過gethostbyname()本地解析器向本地DNS服務器發送解析請求;本地DNS服務器接受請求後,先查看它的DNS緩存是否有匹配項,如有則直接反饋主機解析域名,不然迭代向外查詢;它先向根DNS服務器發出查詢,本地服務器接到回覆後,再向下一級DNS發出請求,直到找到目的主機所在域,它找到域名解析信息後存儲到它的DNS緩存內,再傳給主機;主機接收到信息後,先緩存到主機DNS緩存,再去訪問目的主機
iptables的顯示擴展補充
string:根據字符串作匹配
在INPUT鏈上作字符串匹配,可匹配其能容;下面是凡是到192.168.0.0網段的內容中出現字符串爲"test"的均過濾:
iptables -A INPUT -d 192.168.0.0/24 -m string --string "test" --algo -j bm DROP
在FORWARD鏈上作字符串匹配,不匹配內容,只過濾URL;下面是到192.168.0.0網段的URL中出現"test"的均過濾:
iptables -A FORWARD -d 192.168.0.0/24 -m string --string "test" --algo kmp -j DROP
time:根據時間作匹配
--datestart 指定匹配的開始日期
--datestop 指定匹配的結束日期
--timestart 指定匹配的開始時間
--timestop 指定匹配的結束時間
--mounthdays 按月份做匹配
--weekdays 按星期作匹配
下面表示192.168.0.0網段在天天12:00到18:00不能上網:
iptables -A FORWARD -d 192.168.0.0/24 -p tcp --dport 80 -m time --timestart 12:00 --timestop 18:00 -j DROP
connlimit對併發鏈接數的限制
! --connlimit-above 6 表示併發鏈接數不能大於6個
multiport:表示多端口服務 --source-ports 表示多個源端口 --destination-port 表示多個目標端口 --ports 表示多個端口,包括源端口和目標端口 下面表示凡是來自192.168.0.0網段的經21,80端口的數據包均丟棄: iptables -A FORWARD -s 192.168.10.0/24 -p tcp --ports 21,80 -j DROP