跳到主要內容

封包傳送MAC和IP的變化


我們來看PC1想要PING到PC2的話,在傳送的時候,封包經過了哪些變化。



首先PC1發現要傳送的目的地跟自己的網段不同,所以要找Gateway幫忙,因為實體傳送都是透過MAC,但又沒有Gateway的MAC,所以在傳送之前要發一個ARP封包,用IP來找MAC,因為是廣播封包,所以交換器收到之後會往所有PORT丟,R1收到之後,發現要問的是自己的IP,會要回覆它的MAC是多少。



交換器在封包進入的時候會記錄來源的MAC,根據MAC TABLE傳送。



PC1帶它的MAC傳送給Gateway R1(e0/0)的MAC,來源和目的IP為192.168.1.1和192.168.2.1。



R1收到一個封包發現MAC是自己的,所以查看路由表要到 192.168.2.0/24 往10.0.0.2送,封包從e0/1這個介面出去,由於在設定路由的時候,它就已經用ARP問過了,我們有MAC這裡直接傳送,R1(e0/1)帶它的MAC傳送給R2(e0/1),來源和目的IP為192.168.1.1和192.168.2.1。



R2收到一個封包發現MAC是自己的,所以查看路由表發現 192.168.2.0/24 就在自己身上,封包從e0/0這個介面出去,因為實體傳送都是透過MAC但R2因為沒有PC2的MAC,在傳送之前要發一個ARP封包,用IP來找MAC,然後PC2收到之後,會回復它的MAC是多少。



R2(e0/0)帶它的MAC傳送給PC2的MAC,來源和目的IP為192.168.1.1和192.168.2.1,封包有去有回,回去的方向動作就剛好顛倒,依此類推。

結論:
其實封包傳送就像寄信一樣,下一跳(Next Hop)就是郵件經過轉送的郵局,比方說你要從台北寄信到東京,不可能直接寄到,會經過台北郵局->桃園機場郵局->羽田機場郵局->東京郵局,交換器就像郵差,郵差只是幫你把信拿到郵局,所以不會改變信件,郵局收到之後先蓋上自己的郵戳,然後根據目的地的不同蓋上下一站的郵戳,最後轉送到對方手上,但是來源和目的地(IP)一定要一樣,不然就送不到了,中間會改變的只有信封外的郵戳(MAC)而已,信(DATA)從頭到尾都在信封中沒有變過。

留言

這個網誌中的熱門文章

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裡,大家才解析的到。