跳到主要內容

DHCP RELAY 封包測試




這是我們的架構圖和部分設定。



我們先測試PC1,可以拿到DHCP 192.168.2.1,並且也可以上網。



PC2拿不到DHCP。





debup ip dhcp server packet



進R1看確實有發到DHCP,為什麼PC2沒有拿到呢?我們來follow the path看一下封包。



PC2用broadcast的封包來要DHCP的IP。



因為我們在DSW有設定dhcp relay,所以interface vlan3 192.168.3.254收到這個廣播封包後,帶介面IP 192.168.3.254 和 10.0.0.1(R1)透過unicast的方式要IP。



可是R1的DHCP Offer最後卻往ISP丟了,因此也被NAT轉成介面IP,難怪PC2沒有收到,所以沒有後續的回應封包。



我們看一下路由,如果是PC1帶inteface vlan2 192.168.2.254來問的話,確實有回去的路到 192.168.2.254,可是PC2帶inteface vlan3 192.168.3.254沒有路由可以回去,最後只能往預設路由丟。



我們加一條靜態路要去 192.168.3.0/24 往 10.0.0.2 DSW丟。



PC2終於可以拿到dhcp了,我們再來follow the path看一下封包。



首先PC2先發出廣播封包要dhcp。



因為我們在DSW有設定dhcp relay,所以interface vlan3 192.168.3.254收到這個廣播封包後,帶介面IP 192.168.3.254 和 10.0.0.1透過unicast的方式要IP。



由於有回去的路由,所以有看到 R1 (10.0.0.1) 和DSW(192.168.3.254)再溝通DHCP。


DSW(192.168.3.254) 確實有把DHCP 的Offer透過 Unicast 傳給 PC2。

我們也可以得知基本DHCP封包溝通方式為,Discover -> Offer -> Request -> Ack。

結論:
如果能知道協定的運作原理除錯會更方便,比方說封包從PC出來是broadcast,透過relay後轉成unicast,最後dhcp server用unicast回應給relay interface ip,如果dhcp server沒有到relay interface ip的路由的話,封包也無法傳送回去。

留言

這個網誌中的熱門文章

FortiGate 網路基本設定

這是Fortigate小台型號60D,他沒有一般的USB console port,所以我們要用mini USB搭配官方軟體FortiExplorer,軟體模擬console登入。



FortiExplorer可以到官方下載,http://www.fortinet.com.tw/resource_center/product_downloads.html 。

USB和軟體都安裝好插入之後他會自動開啟。



進入Command-line Interface,主要是看出廠預設的設定檔。

 edit "lan"
        set vdom "root"
        set ip 192.168.1.99 255.255.255.0
        set allowaccess ping https ssh http fgfm capwap
        set type switch
        set listen-forticlient-connection enable
        set snmp-index 10
    next

這說明了我們可以插在lan port然後透過192.168.1.99 web介面去管理。



設定192.168.1.0/24同網段,插在lan port上然後連https://192.168.1.99,預設帳號密碼是 admin 沒密碼。



先到Netwok Interface裡面編輯Wan1,就是跟我們小烏龜接的地方,這次範例是用PPPOE撥號連線。



輸入好Hinet提供的連線方式,按下OK,這裡要特別注意一個選項 Retrieve default gateway from server ,一定要打勾,他才會把PPPOE拿到的Default Gateway寫入路由表,不然會沒有Default Gateway可以到ISP。



確實拿到一個浮動IP 111.243.63.46。



這時候其實修改Software Switch lan的內部Default Gateway IP就可以了,但是我們仔細觀察一下。

Software Switch lan裡面的成員有 wifi 和 internal。
Hardware Switch internal裡面的成員有 internal1~ interna…

交換器Console的連線方法

如果我們要進去交換器打指令的話,通常都是使用console port。



購買產品的原廠通常都會送一條console線,Cisco和大多數廠商像是 D-link和Zyxel都通用,但是我有遇過Sonicwall 腳位不太一樣,所以不能通用,算是很少數。



舊的主機板後面都有 DB9 的母頭,所以Console線是 DB9 的公頭,插入就可以用了。



筆電因為沒有DB9的接頭,所以我們會買一條 RS232 轉 USB 線來用,就像現在超薄筆電很少有網路孔所以都是用USB轉網路孔。



所以最後接起來我們會拿到一條RJ45對USB的線。



接上筆電之後,要到裝置管理員找連接埠,如果看到驚嘆號的話表示沒有找到驅動程式,要到 RS232 轉 USB 的製造廠商的官網去下載安裝,我測過Win10的相容性已經很好了,通常都是隨插即用,COM數字多少是浮動的,所以每次要連線前最好先進來確認一下。



最後還要去看交換器連線 baud rate 多少,常見的為9600、57600、115200,不相同的話還是可以連,可是會出現亂碼。



連線軟體隨個人喜好,像PuTTY就是一款免費的軟體,有些人會偏好付費的SecureCRT,我們按照此設定連線。



測試連線成功了,我們終於可以打指令設定交換器。



COM不是只能同時有一個喔,像我為了要同時設定多台,我買了二個RS232一轉四COM的裝置,所以我可以開八個PuTTY來連線八台交換器。

Windows AD 架設

首先先改Windows Server 電腦名稱為DC01,然後重開機。



AD的架構是要透過DNS解析的,所以我們把慣用DNS伺服器指向自己 127.0.0.1 。



新增角色及功能精靈裡,點選Active Directory 網域服務。



安裝好之後點選伺服器管理員上方驚嘆號部屬後設定,來設定AD。



我們點選新增樹系,此範例的網域名稱為corpnet.lin0204.tw。



這裡可以看到因為AD的服務和DNS是綁在一起的,所以一定要安裝,DSRM是一個救援修復模式密碼可以給之後記起來,不太會用到。





NetBIOS 網域名稱預設是會取最左邊的單字,所以以此範例來說是 corpnet ,但不好識別,我們改成lin0204。





接下來就等安裝完成重開機。



我們這邊有一台用戶端電腦要加入網域,首先先把DNS指向DC01那台,不然沒辦法解析AD。



電腦名稱為PC01,加入到網域 corpnet.lin0204.tw。



加入網域必須要授權,我們給他administrator的密碼。



重開機之後,第一個畫面是登入 PC01\user 的密碼,這個是本機帳號,但我們要登入網域帳號,所以必須按切換使用者。



我們使用 netbios\帳號 的方式登入,所以是 lin0204\administrator 。



我們用指令 whoami 確定目前的電腦登入帳號為 lin0204\administrator ,並且此台用戶端電腦有加入網域。



我們回到DC01,然後使用工具,Active Directory 使用者和電腦工具。



加入網域的電腦預設會放在 Computers的容器(OU)裡,所以我們看到PC01。



網域控制站則會放在 Domain Controllers 的容器(OU)裡,所以我們看到有一台DC01。



我們前面有提到網域的架構和DNS是習習相關的,畢竟名稱解析都要靠DNS幫忙,所以加入網域的電腦名稱預設會自動登記在DNS裡,大家才解析的到。